a9623f530da203048f5d2712810368d59791bb5b
[motion2.git] / server / api / intZendeskField / intZendeskField.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x6adb=['attributes','fields','length','hasOwnProperty','sort','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','find','create','body','update','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','save','then','destroy','sendStatus','stack','name','send','index','map','ZendeskField','rawAttributes','fieldName','type','model','query','keys','filters','intersection'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x6adb,0x134));var _0xb6ad=function(_0x2d5e02,_0x3a5bd0){_0x2d5e02=_0x2d5e02-0x0;var _0x1f5fc2=_0x6adb[_0x2d5e02];return _0x1f5fc2;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xb6ad('0x0'));var zipdir=require(_0xb6ad('0x1'));var jsonpatch=require(_0xb6ad('0x2'));var rp=require(_0xb6ad('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xb6ad('0x4'));var util=require(_0xb6ad('0x5'));var path=require(_0xb6ad('0x6'));var sox=require(_0xb6ad('0x7'));var csv=require(_0xb6ad('0x8'));var ejs=require(_0xb6ad('0x9'));var fs=require('fs');var fs_extra=require(_0xb6ad('0xa'));var _=require(_0xb6ad('0xb'));var squel=require(_0xb6ad('0xc'));var crypto=require(_0xb6ad('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xb6ad('0xe'));var toCsv=require('to-csv');var querystring=require(_0xb6ad('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xb6ad('0x10'));var qs=require(_0xb6ad('0x11'));var as=require(_0xb6ad('0x12'));var hardwareService=require(_0xb6ad('0x13'));var logger=require('../../config/logger')(_0xb6ad('0x14'));var utils=require('../../config/utils');var config=require(_0xb6ad('0x15'));var licenseUtil=require(_0xb6ad('0x16'));var db=require(_0xb6ad('0x17'))['db'];function respondWithStatusCode(_0x270a9e,_0x395d41){_0x395d41=_0x395d41||0xcc;return function(_0x10d436){if(_0x10d436){return _0x270a9e['sendStatus'](_0x395d41);}return _0x270a9e[_0xb6ad('0x18')](_0x395d41)[_0xb6ad('0x19')]();};}function respondWithResult(_0x5a163f,_0x17fc25){_0x17fc25=_0x17fc25||0xc8;return function(_0x59fd8a){if(_0x59fd8a){return _0x5a163f[_0xb6ad('0x18')](_0x17fc25)['json'](_0x59fd8a);}};}function respondWithFilteredResult(_0x1ff5ba,_0x526ad3){return function(_0x16a722){if(_0x16a722){var _0x43f661=typeof _0x526ad3[_0xb6ad('0x1a')]===_0xb6ad('0x1b')&&typeof _0x526ad3[_0xb6ad('0x1c')]===_0xb6ad('0x1b');var _0x25c13b=_0x16a722[_0xb6ad('0x1d')];var _0x4f2927=_0x43f661?0x0:_0x526ad3[_0xb6ad('0x1a')];var _0x20fc79=_0x43f661?_0x16a722[_0xb6ad('0x1d')]:_0x526ad3['offset']+_0x526ad3[_0xb6ad('0x1c')];var _0x2c9795;if(_0x20fc79>=_0x25c13b){_0x20fc79=_0x25c13b;_0x2c9795=0xc8;}else{_0x2c9795=0xce;}_0x1ff5ba[_0xb6ad('0x18')](_0x2c9795);return _0x1ff5ba[_0xb6ad('0x1e')](_0xb6ad('0x1f'),_0x4f2927+'-'+_0x20fc79+'/'+_0x25c13b)[_0xb6ad('0x20')](_0x16a722);}return null;};}function patchUpdates(_0x284b6a){return function(_0x441059){try{jsonpatch[_0xb6ad('0x21')](_0x441059,_0x284b6a,!![]);}catch(_0x28f27a){return BPromise['reject'](_0x28f27a);}return _0x441059[_0xb6ad('0x22')]();};}function saveUpdates(_0x2fd6ee,_0x5598c7){return function(_0xa68e25){if(_0xa68e25){return _0xa68e25['update'](_0x2fd6ee)[_0xb6ad('0x23')](function(_0x2d513e){return _0x2d513e;});}return null;};}function removeEntity(_0x3a68a7,_0x160ae1){return function(_0x541403){if(_0x541403){return _0x541403[_0xb6ad('0x24')]()[_0xb6ad('0x23')](function(){_0x3a68a7['status'](0xcc)[_0xb6ad('0x19')]();});}};}function handleEntityNotFound(_0x3b8f8f,_0x2b130e){return function(_0x266561){if(!_0x266561){_0x3b8f8f[_0xb6ad('0x25')](0x194);}return _0x266561;};}function handleError(_0x11edcb,_0x2752b7){_0x2752b7=_0x2752b7||0x1f4;return function(_0x3391d0){logger['error'](_0x3391d0[_0xb6ad('0x26')]);if(_0x3391d0[_0xb6ad('0x27')]){delete _0x3391d0[_0xb6ad('0x27')];}_0x11edcb[_0xb6ad('0x18')](_0x2752b7)[_0xb6ad('0x28')](_0x3391d0);};}exports[_0xb6ad('0x29')]=function(_0x5227b2,_0x4a4d57){var _0x1edf8f={},_0x124914={},_0x15e60f={'count':0x0,'rows':[]};var _0x3ba7a3=_[_0xb6ad('0x2a')](db[_0xb6ad('0x2b')][_0xb6ad('0x2c')],function(_0x5bcf92){return{'name':_0x5bcf92[_0xb6ad('0x2d')],'type':_0x5bcf92[_0xb6ad('0x2e')]['key']};});_0x124914[_0xb6ad('0x2f')]=_[_0xb6ad('0x2a')](_0x3ba7a3,_0xb6ad('0x27'));_0x124914[_0xb6ad('0x30')]=_[_0xb6ad('0x31')](_0x5227b2[_0xb6ad('0x30')]);_0x124914[_0xb6ad('0x32')]=_[_0xb6ad('0x33')](_0x124914[_0xb6ad('0x2f')],_0x124914['query']);_0x1edf8f[_0xb6ad('0x34')]=_[_0xb6ad('0x33')](_0x124914[_0xb6ad('0x2f')],qs[_0xb6ad('0x35')](_0x5227b2[_0xb6ad('0x30')][_0xb6ad('0x35')]));_0x1edf8f[_0xb6ad('0x34')]=_0x1edf8f[_0xb6ad('0x34')][_0xb6ad('0x36')]?_0x1edf8f[_0xb6ad('0x34')]:_0x124914[_0xb6ad('0x2f')];if(!_0x5227b2[_0xb6ad('0x30')][_0xb6ad('0x37')]('nolimit')){_0x1edf8f['limit']=qs[_0xb6ad('0x1c')](_0x5227b2[_0xb6ad('0x30')]['limit']);_0x1edf8f[_0xb6ad('0x1a')]=qs[_0xb6ad('0x1a')](_0x5227b2[_0xb6ad('0x30')][_0xb6ad('0x1a')]);}_0x1edf8f['order']=qs[_0xb6ad('0x38')](_0x5227b2[_0xb6ad('0x30')][_0xb6ad('0x38')]);_0x1edf8f[_0xb6ad('0x39')]=qs[_0xb6ad('0x32')](_['pick'](_0x5227b2[_0xb6ad('0x30')],_0x124914[_0xb6ad('0x32')]),_0x3ba7a3);if(_0x5227b2['query']['filter']){_0x1edf8f[_0xb6ad('0x39')]=_[_0xb6ad('0x3a')](_0x1edf8f[_0xb6ad('0x39')],{'$or':_[_0xb6ad('0x2a')](_0x3ba7a3,function(_0x2bee1f){if(_0x2bee1f[_0xb6ad('0x2e')]!==_0xb6ad('0x3b')){var _0x4711c7={};_0x4711c7[_0x2bee1f[_0xb6ad('0x27')]]={'$like':'%'+_0x5227b2[_0xb6ad('0x30')]['filter']+'%'};return _0x4711c7;}})});}_0x1edf8f=_[_0xb6ad('0x3a')]({},_0x1edf8f,_0x5227b2[_0xb6ad('0x3c')]);var _0x294f95={'where':_0x1edf8f[_0xb6ad('0x39')]};return db[_0xb6ad('0x2b')][_0xb6ad('0x1d')](_0x294f95)[_0xb6ad('0x23')](function(_0x3fba4f){_0x15e60f['count']=_0x3fba4f;if(_0x5227b2[_0xb6ad('0x30')][_0xb6ad('0x3d')]){_0x1edf8f[_0xb6ad('0x3e')]=[{'all':!![]}];}return db[_0xb6ad('0x2b')][_0xb6ad('0x3f')](_0x1edf8f);})[_0xb6ad('0x23')](function(_0xce8912){_0x15e60f[_0xb6ad('0x40')]=_0xce8912;return _0x15e60f;})[_0xb6ad('0x23')](respondWithFilteredResult(_0x4a4d57,_0x1edf8f))[_0xb6ad('0x41')](handleError(_0x4a4d57,null));};exports[_0xb6ad('0x42')]=function(_0x1d74b7,_0x6fd598){var _0x5bf641={'raw':!![],'where':{'id':_0x1d74b7[_0xb6ad('0x43')]['id']}},_0x1a16d3={};_0x1a16d3[_0xb6ad('0x2f')]=_[_0xb6ad('0x31')](db['ZendeskField'][_0xb6ad('0x2c')]);_0x1a16d3[_0xb6ad('0x30')]=_['keys'](_0x1d74b7[_0xb6ad('0x30')]);_0x1a16d3[_0xb6ad('0x32')]=_[_0xb6ad('0x33')](_0x1a16d3[_0xb6ad('0x2f')],_0x1a16d3['query']);_0x5bf641[_0xb6ad('0x34')]=_['intersection'](_0x1a16d3['model'],qs[_0xb6ad('0x35')](_0x1d74b7[_0xb6ad('0x30')]['fields']));_0x5bf641[_0xb6ad('0x34')]=_0x5bf641[_0xb6ad('0x34')][_0xb6ad('0x36')]?_0x5bf641[_0xb6ad('0x34')]:_0x1a16d3[_0xb6ad('0x2f')];if(_0x1d74b7[_0xb6ad('0x30')][_0xb6ad('0x3d')]){_0x5bf641[_0xb6ad('0x3e')]=[{'all':!![]}];}_0x5bf641=_[_0xb6ad('0x3a')]({},_0x5bf641,_0x1d74b7[_0xb6ad('0x3c')]);return db[_0xb6ad('0x2b')][_0xb6ad('0x44')](_0x5bf641)['then'](handleEntityNotFound(_0x6fd598,null))[_0xb6ad('0x23')](respondWithResult(_0x6fd598,null))[_0xb6ad('0x41')](handleError(_0x6fd598,null));};exports[_0xb6ad('0x45')]=function(_0x45242a,_0x388702){return db[_0xb6ad('0x2b')]['create'](_0x45242a[_0xb6ad('0x46')],{})['then'](respondWithResult(_0x388702,0xc9))[_0xb6ad('0x41')](handleError(_0x388702,null));};exports[_0xb6ad('0x47')]=function(_0x5c7e41,_0x2d0c5e){if(_0x5c7e41[_0xb6ad('0x46')]['id']){delete _0x5c7e41[_0xb6ad('0x46')]['id'];}return db[_0xb6ad('0x2b')][_0xb6ad('0x44')]({'where':{'id':_0x5c7e41['params']['id']}})[_0xb6ad('0x23')](handleEntityNotFound(_0x2d0c5e,null))['then'](saveUpdates(_0x5c7e41[_0xb6ad('0x46')],null))[_0xb6ad('0x23')](respondWithResult(_0x2d0c5e,null))['catch'](handleError(_0x2d0c5e,null));};exports['destroy']=function(_0x2d7a0b,_0x12deca){return db[_0xb6ad('0x2b')][_0xb6ad('0x44')]({'where':{'id':_0x2d7a0b[_0xb6ad('0x43')]['id']}})[_0xb6ad('0x23')](handleEntityNotFound(_0x12deca,null))[_0xb6ad('0x23')](removeEntity(_0x12deca,null))[_0xb6ad('0x41')](handleError(_0x12deca,null));};