Built motion from commit d1eab355.|2.6.28
[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 _0x1904=['util','sox','to-csv','fs-extra','lodash','squel','crypto','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','Content-Range','apply','reject','save','then','error','stack','name','index','map','ZendeskField','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','find','create','body','update','destroy','eml-format','request-promise','moment','bluebird','mustache'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x1904,0x1b1));var _0x4190=function(_0x462a63,_0x3132c2){_0x462a63=_0x462a63-0x0;var _0x4dad01=_0x1904[_0x462a63];return _0x4dad01;};'use strict';var emlformat=require(_0x4190('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x4190('0x1'));var moment=require(_0x4190('0x2'));var BPromise=require(_0x4190('0x3'));var Mustache=require(_0x4190('0x4'));var util=require(_0x4190('0x5'));var path=require('path');var sox=require(_0x4190('0x6'));var csv=require(_0x4190('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x4190('0x8'));var _=require(_0x4190('0x9'));var squel=require(_0x4190('0xa'));var crypto=require(_0x4190('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x4190('0xc'));var toCsv=require(_0x4190('0x7'));var querystring=require(_0x4190('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x4190('0xe'));var as=require(_0x4190('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x4190('0x10'))('api');var utils=require('../../config/utils');var config=require(_0x4190('0x11'));var licenseUtil=require(_0x4190('0x12'));var db=require(_0x4190('0x13'))['db'];function respondWithStatusCode(_0x3eeec8,_0x1c2be8){_0x1c2be8=_0x1c2be8||0xcc;return function(_0xf90e0f){if(_0xf90e0f){return _0x3eeec8[_0x4190('0x14')](_0x1c2be8);}return _0x3eeec8[_0x4190('0x15')](_0x1c2be8)[_0x4190('0x16')]();};}function respondWithResult(_0x5753a4,_0x4a6f57){_0x4a6f57=_0x4a6f57||0xc8;return function(_0xc721dc){if(_0xc721dc){return _0x5753a4[_0x4190('0x15')](_0x4a6f57)[_0x4190('0x17')](_0xc721dc);}};}function respondWithFilteredResult(_0x4b725e,_0x1925d3){return function(_0x27bcfe){if(_0x27bcfe){var _0x33d2da=typeof _0x1925d3[_0x4190('0x18')]==='undefined'&&typeof _0x1925d3[_0x4190('0x19')]===_0x4190('0x1a');var _0x556517=_0x27bcfe[_0x4190('0x1b')];var _0x196666=_0x33d2da?0x0:_0x1925d3['offset'];var _0x27c285=_0x33d2da?_0x27bcfe['count']:_0x1925d3[_0x4190('0x18')]+_0x1925d3['limit'];var _0x420304;if(_0x27c285>=_0x556517){_0x27c285=_0x556517;_0x420304=0xc8;}else{_0x420304=0xce;}_0x4b725e[_0x4190('0x15')](_0x420304);return _0x4b725e['set'](_0x4190('0x1c'),_0x196666+'-'+_0x27c285+'/'+_0x556517)['json'](_0x27bcfe);}return null;};}function patchUpdates(_0x2901f3){return function(_0x13d27a){try{jsonpatch[_0x4190('0x1d')](_0x13d27a,_0x2901f3,!![]);}catch(_0x1752a1){return BPromise[_0x4190('0x1e')](_0x1752a1);}return _0x13d27a[_0x4190('0x1f')]();};}function saveUpdates(_0x4dcc1c,_0x1d719b){return function(_0x359f16){if(_0x359f16){return _0x359f16['update'](_0x4dcc1c)['then'](function(_0x3f4828){return _0x3f4828;});}return null;};}function removeEntity(_0x1518fb,_0x23542c){return function(_0x1b2711){if(_0x1b2711){return _0x1b2711['destroy']()[_0x4190('0x20')](function(){_0x1518fb[_0x4190('0x15')](0xcc)[_0x4190('0x16')]();});}};}function handleEntityNotFound(_0x23d6cd,_0x378c06){return function(_0x28c210){if(!_0x28c210){_0x23d6cd[_0x4190('0x14')](0x194);}return _0x28c210;};}function handleError(_0x41ce88,_0x3175b5){_0x3175b5=_0x3175b5||0x1f4;return function(_0x567976){logger[_0x4190('0x21')](_0x567976[_0x4190('0x22')]);if(_0x567976['name']){delete _0x567976[_0x4190('0x23')];}_0x41ce88[_0x4190('0x15')](_0x3175b5)['send'](_0x567976);};}exports[_0x4190('0x24')]=function(_0xf2dea7,_0x2b0c95){var _0x1fecc2={},_0x3b2a40={},_0x567118={'count':0x0,'rows':[]};var _0x2c8c1f=_[_0x4190('0x25')](db[_0x4190('0x26')][_0x4190('0x27')],function(_0x2ff86a){return{'name':_0x2ff86a[_0x4190('0x28')],'type':_0x2ff86a[_0x4190('0x29')][_0x4190('0x2a')]};});_0x3b2a40['model']=_[_0x4190('0x25')](_0x2c8c1f,'name');_0x3b2a40[_0x4190('0x2b')]=_[_0x4190('0x2c')](_0xf2dea7[_0x4190('0x2b')]);_0x3b2a40[_0x4190('0x2d')]=_[_0x4190('0x2e')](_0x3b2a40[_0x4190('0x2f')],_0x3b2a40[_0x4190('0x2b')]);_0x1fecc2[_0x4190('0x30')]=_[_0x4190('0x2e')](_0x3b2a40['model'],qs[_0x4190('0x31')](_0xf2dea7[_0x4190('0x2b')]['fields']));_0x1fecc2[_0x4190('0x30')]=_0x1fecc2[_0x4190('0x30')][_0x4190('0x32')]?_0x1fecc2['attributes']:_0x3b2a40['model'];if(!_0xf2dea7[_0x4190('0x2b')][_0x4190('0x33')](_0x4190('0x34'))){_0x1fecc2[_0x4190('0x19')]=qs[_0x4190('0x19')](_0xf2dea7[_0x4190('0x2b')][_0x4190('0x19')]);_0x1fecc2[_0x4190('0x18')]=qs[_0x4190('0x18')](_0xf2dea7[_0x4190('0x2b')][_0x4190('0x18')]);}_0x1fecc2[_0x4190('0x35')]=qs[_0x4190('0x36')](_0xf2dea7[_0x4190('0x2b')][_0x4190('0x36')]);_0x1fecc2[_0x4190('0x37')]=qs[_0x4190('0x2d')](_[_0x4190('0x38')](_0xf2dea7[_0x4190('0x2b')],_0x3b2a40[_0x4190('0x2d')]),_0x2c8c1f);if(_0xf2dea7[_0x4190('0x2b')][_0x4190('0x39')]){_0x1fecc2[_0x4190('0x37')]=_[_0x4190('0x3a')](_0x1fecc2[_0x4190('0x37')],{'$or':_[_0x4190('0x25')](_0x2c8c1f,function(_0x33539c){if(_0x33539c['type']!==_0x4190('0x3b')){var _0x2dc06e={};_0x2dc06e[_0x33539c[_0x4190('0x23')]]={'$like':'%'+_0xf2dea7[_0x4190('0x2b')][_0x4190('0x39')]+'%'};return _0x2dc06e;}})});}_0x1fecc2=_['merge']({},_0x1fecc2,_0xf2dea7[_0x4190('0x3c')]);var _0x1172ac={'where':_0x1fecc2[_0x4190('0x37')]};return db['ZendeskField']['count'](_0x1172ac)['then'](function(_0x3ddf8a){_0x567118[_0x4190('0x1b')]=_0x3ddf8a;if(_0xf2dea7[_0x4190('0x2b')][_0x4190('0x3d')]){_0x1fecc2[_0x4190('0x3e')]=[{'all':!![]}];}return db[_0x4190('0x26')][_0x4190('0x3f')](_0x1fecc2);})['then'](function(_0x5b7d00){_0x567118[_0x4190('0x40')]=_0x5b7d00;return _0x567118;})['then'](respondWithFilteredResult(_0x2b0c95,_0x1fecc2))[_0x4190('0x41')](handleError(_0x2b0c95,null));};exports[_0x4190('0x42')]=function(_0x38b580,_0xe0a1e1){var _0x53b521={'raw':!![],'where':{'id':_0x38b580[_0x4190('0x43')]['id']}},_0x333218={};_0x333218[_0x4190('0x2f')]=_[_0x4190('0x2c')](db[_0x4190('0x26')][_0x4190('0x27')]);_0x333218[_0x4190('0x2b')]=_[_0x4190('0x2c')](_0x38b580[_0x4190('0x2b')]);_0x333218[_0x4190('0x2d')]=_[_0x4190('0x2e')](_0x333218['model'],_0x333218[_0x4190('0x2b')]);_0x53b521[_0x4190('0x30')]=_[_0x4190('0x2e')](_0x333218[_0x4190('0x2f')],qs['fields'](_0x38b580['query']['fields']));_0x53b521[_0x4190('0x30')]=_0x53b521[_0x4190('0x30')][_0x4190('0x32')]?_0x53b521[_0x4190('0x30')]:_0x333218[_0x4190('0x2f')];if(_0x38b580[_0x4190('0x2b')]['includeAll']){_0x53b521[_0x4190('0x3e')]=[{'all':!![]}];}_0x53b521=_[_0x4190('0x3a')]({},_0x53b521,_0x38b580[_0x4190('0x3c')]);return db[_0x4190('0x26')][_0x4190('0x44')](_0x53b521)[_0x4190('0x20')](handleEntityNotFound(_0xe0a1e1,null))[_0x4190('0x20')](respondWithResult(_0xe0a1e1,null))[_0x4190('0x41')](handleError(_0xe0a1e1,null));};exports['create']=function(_0x1e0dde,_0x219854){return db[_0x4190('0x26')][_0x4190('0x45')](_0x1e0dde[_0x4190('0x46')],{})[_0x4190('0x20')](respondWithResult(_0x219854,0xc9))[_0x4190('0x41')](handleError(_0x219854,null));};exports[_0x4190('0x47')]=function(_0x3dcb70,_0x116ca6){if(_0x3dcb70[_0x4190('0x46')]['id']){delete _0x3dcb70[_0x4190('0x46')]['id'];}return db[_0x4190('0x26')][_0x4190('0x44')]({'where':{'id':_0x3dcb70[_0x4190('0x43')]['id']}})[_0x4190('0x20')](handleEntityNotFound(_0x116ca6,null))['then'](saveUpdates(_0x3dcb70['body'],null))[_0x4190('0x20')](respondWithResult(_0x116ca6,null))[_0x4190('0x41')](handleError(_0x116ca6,null));};exports[_0x4190('0x48')]=function(_0x5ab84f,_0x37af21){return db['ZendeskField'][_0x4190('0x44')]({'where':{'id':_0x5ab84f[_0x4190('0x43')]['id']}})[_0x4190('0x20')](handleEntityNotFound(_0x37af21,null))[_0x4190('0x20')](removeEntity(_0x37af21,null))[_0x4190('0x41')](handleError(_0x37af21,null));};