Built motion from commit 9e1399f3.|2.5.37
[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 _0x9726=['update','then','destroy','error','stack','name','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','nolimit','sort','pick','where','merge','VIRTUAL','filter','options','count','include','ZendeskField','findAll','rows','show','params','includeAll','find','catch','create','body','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','end','status','offset','undefined','limit','set','json','reject','save'];(function(_0x4358f5,_0x5b1ac6){var _0x4d8104=function(_0x1d4aee){while(--_0x1d4aee){_0x4358f5['push'](_0x4358f5['shift']());}};_0x4d8104(++_0x5b1ac6);}(_0x9726,0xbe));var _0x6972=function(_0x5f348d,_0x3cc857){_0x5f348d=_0x5f348d-0x0;var _0x26d087=_0x9726[_0x5f348d];return _0x26d087;};'use strict';var emlformat=require(_0x6972('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x6972('0x1'));var jsonpatch=require(_0x6972('0x2'));var rp=require(_0x6972('0x3'));var moment=require(_0x6972('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x6972('0x5'));var util=require(_0x6972('0x6'));var path=require('path');var sox=require(_0x6972('0x7'));var csv=require(_0x6972('0x8'));var ejs=require(_0x6972('0x9'));var fs=require('fs');var fs_extra=require(_0x6972('0xa'));var _=require(_0x6972('0xb'));var squel=require('squel');var crypto=require(_0x6972('0xc'));var jsforce=require(_0x6972('0xd'));var deskjs=require(_0x6972('0xe'));var toCsv=require(_0x6972('0x8'));var querystring=require(_0x6972('0xf'));var Papa=require(_0x6972('0x10'));var Redis=require(_0x6972('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x6972('0x12'));var as=require(_0x6972('0x13'));var hardwareService=require(_0x6972('0x14'));var logger=require(_0x6972('0x15'))(_0x6972('0x16'));var utils=require('../../config/utils');var config=require(_0x6972('0x17'));var licenseUtil=require(_0x6972('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1b3be0,_0x2e1740){_0x2e1740=_0x2e1740||0xcc;return function(_0x5be7f8){if(_0x5be7f8){return _0x1b3be0[_0x6972('0x19')](_0x2e1740);}return _0x1b3be0['status'](_0x2e1740)[_0x6972('0x1a')]();};}function respondWithResult(_0x1353ca,_0x1d09f1){_0x1d09f1=_0x1d09f1||0xc8;return function(_0x5950e6){if(_0x5950e6){return _0x1353ca[_0x6972('0x1b')](_0x1d09f1)['json'](_0x5950e6);}};}function respondWithFilteredResult(_0x1ee51e,_0x90332e){return function(_0x478101){if(_0x478101){var _0x27da0f=typeof _0x90332e[_0x6972('0x1c')]===_0x6972('0x1d')&&typeof _0x90332e['limit']===_0x6972('0x1d');var _0x3cb84f=_0x478101['count'];var _0x2b359f=_0x27da0f?0x0:_0x90332e[_0x6972('0x1c')];var _0x1cea75=_0x27da0f?_0x478101['count']:_0x90332e[_0x6972('0x1c')]+_0x90332e[_0x6972('0x1e')];var _0x5a5204;if(_0x1cea75>=_0x3cb84f){_0x1cea75=_0x3cb84f;_0x5a5204=0xc8;}else{_0x5a5204=0xce;}_0x1ee51e[_0x6972('0x1b')](_0x5a5204);return _0x1ee51e[_0x6972('0x1f')]('Content-Range',_0x2b359f+'-'+_0x1cea75+'/'+_0x3cb84f)[_0x6972('0x20')](_0x478101);}return null;};}function patchUpdates(_0x3fabe4){return function(_0x1347c5){try{jsonpatch['apply'](_0x1347c5,_0x3fabe4,!![]);}catch(_0x5c4693){return BPromise[_0x6972('0x21')](_0x5c4693);}return _0x1347c5[_0x6972('0x22')]();};}function saveUpdates(_0x45e631,_0x53a214){return function(_0x2e6120){if(_0x2e6120){return _0x2e6120[_0x6972('0x23')](_0x45e631)[_0x6972('0x24')](function(_0x6c07b5){return _0x6c07b5;});}return null;};}function removeEntity(_0x1498d6,_0x9c92ba){return function(_0x1c09c0){if(_0x1c09c0){return _0x1c09c0[_0x6972('0x25')]()['then'](function(){_0x1498d6[_0x6972('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x31bb70,_0x1b31b3){return function(_0x3f042d){if(!_0x3f042d){_0x31bb70[_0x6972('0x19')](0x194);}return _0x3f042d;};}function handleError(_0x25bad9,_0x857b07){_0x857b07=_0x857b07||0x1f4;return function(_0x261a6f){logger[_0x6972('0x26')](_0x261a6f[_0x6972('0x27')]);if(_0x261a6f['name']){delete _0x261a6f[_0x6972('0x28')];}_0x25bad9[_0x6972('0x1b')](_0x857b07)['send'](_0x261a6f);};}exports[_0x6972('0x29')]=function(_0x2276bf,_0x198aa1){var _0x380ae5={},_0x40261b={},_0x247a38={'count':0x0,'rows':[]};var _0x415f13=_[_0x6972('0x2a')](db['ZendeskField'][_0x6972('0x2b')],function(_0x43150b){return{'name':_0x43150b[_0x6972('0x2c')],'type':_0x43150b[_0x6972('0x2d')][_0x6972('0x2e')]};});_0x40261b[_0x6972('0x2f')]=_['map'](_0x415f13,'name');_0x40261b[_0x6972('0x30')]=_[_0x6972('0x31')](_0x2276bf[_0x6972('0x30')]);_0x40261b[_0x6972('0x32')]=_[_0x6972('0x33')](_0x40261b['model'],_0x40261b[_0x6972('0x30')]);_0x380ae5[_0x6972('0x34')]=_[_0x6972('0x33')](_0x40261b[_0x6972('0x2f')],qs[_0x6972('0x35')](_0x2276bf[_0x6972('0x30')]['fields']));_0x380ae5['attributes']=_0x380ae5[_0x6972('0x34')][_0x6972('0x36')]?_0x380ae5[_0x6972('0x34')]:_0x40261b[_0x6972('0x2f')];if(!_0x2276bf[_0x6972('0x30')]['hasOwnProperty'](_0x6972('0x37'))){_0x380ae5['limit']=qs[_0x6972('0x1e')](_0x2276bf[_0x6972('0x30')][_0x6972('0x1e')]);_0x380ae5[_0x6972('0x1c')]=qs[_0x6972('0x1c')](_0x2276bf[_0x6972('0x30')][_0x6972('0x1c')]);}_0x380ae5['order']=qs[_0x6972('0x38')](_0x2276bf[_0x6972('0x30')][_0x6972('0x38')]);_0x380ae5['where']=qs[_0x6972('0x32')](_[_0x6972('0x39')](_0x2276bf[_0x6972('0x30')],_0x40261b[_0x6972('0x32')]),_0x415f13);if(_0x2276bf['query']['filter']){_0x380ae5[_0x6972('0x3a')]=_[_0x6972('0x3b')](_0x380ae5[_0x6972('0x3a')],{'$or':_['map'](_0x415f13,function(_0x47c7f5){if(_0x47c7f5[_0x6972('0x2d')]!==_0x6972('0x3c')){var _0x39546c={};_0x39546c[_0x47c7f5[_0x6972('0x28')]]={'$like':'%'+_0x2276bf[_0x6972('0x30')][_0x6972('0x3d')]+'%'};return _0x39546c;}})});}_0x380ae5=_[_0x6972('0x3b')]({},_0x380ae5,_0x2276bf[_0x6972('0x3e')]);var _0x35b3ce={'where':_0x380ae5['where']};return db['ZendeskField'][_0x6972('0x3f')](_0x35b3ce)['then'](function(_0x2ac5b3){_0x247a38['count']=_0x2ac5b3;if(_0x2276bf[_0x6972('0x30')]['includeAll']){_0x380ae5[_0x6972('0x40')]=[{'all':!![]}];}return db[_0x6972('0x41')][_0x6972('0x42')](_0x380ae5);})[_0x6972('0x24')](function(_0x35bf89){_0x247a38[_0x6972('0x43')]=_0x35bf89;return _0x247a38;})['then'](respondWithFilteredResult(_0x198aa1,_0x380ae5))['catch'](handleError(_0x198aa1,null));};exports[_0x6972('0x44')]=function(_0x278d27,_0x128ab3){var _0x39d0a1={'raw':!![],'where':{'id':_0x278d27[_0x6972('0x45')]['id']}},_0x1e37cd={};_0x1e37cd['model']=_[_0x6972('0x31')](db[_0x6972('0x41')][_0x6972('0x2b')]);_0x1e37cd[_0x6972('0x30')]=_[_0x6972('0x31')](_0x278d27['query']);_0x1e37cd[_0x6972('0x32')]=_[_0x6972('0x33')](_0x1e37cd[_0x6972('0x2f')],_0x1e37cd[_0x6972('0x30')]);_0x39d0a1[_0x6972('0x34')]=_[_0x6972('0x33')](_0x1e37cd[_0x6972('0x2f')],qs['fields'](_0x278d27['query'][_0x6972('0x35')]));_0x39d0a1['attributes']=_0x39d0a1[_0x6972('0x34')][_0x6972('0x36')]?_0x39d0a1['attributes']:_0x1e37cd['model'];if(_0x278d27[_0x6972('0x30')][_0x6972('0x46')]){_0x39d0a1['include']=[{'all':!![]}];}_0x39d0a1=_[_0x6972('0x3b')]({},_0x39d0a1,_0x278d27[_0x6972('0x3e')]);return db[_0x6972('0x41')][_0x6972('0x47')](_0x39d0a1)[_0x6972('0x24')](handleEntityNotFound(_0x128ab3,null))[_0x6972('0x24')](respondWithResult(_0x128ab3,null))[_0x6972('0x48')](handleError(_0x128ab3,null));};exports[_0x6972('0x49')]=function(_0x110e43,_0x5bd077){return db[_0x6972('0x41')][_0x6972('0x49')](_0x110e43[_0x6972('0x4a')],{})['then'](respondWithResult(_0x5bd077,0xc9))[_0x6972('0x48')](handleError(_0x5bd077,null));};exports[_0x6972('0x23')]=function(_0x382d2e,_0x420ccd){if(_0x382d2e[_0x6972('0x4a')]['id']){delete _0x382d2e[_0x6972('0x4a')]['id'];}return db[_0x6972('0x41')][_0x6972('0x47')]({'where':{'id':_0x382d2e[_0x6972('0x45')]['id']}})[_0x6972('0x24')](handleEntityNotFound(_0x420ccd,null))['then'](saveUpdates(_0x382d2e['body'],null))['then'](respondWithResult(_0x420ccd,null))[_0x6972('0x48')](handleError(_0x420ccd,null));};exports[_0x6972('0x25')]=function(_0x3371bb,_0x490004){return db[_0x6972('0x41')][_0x6972('0x47')]({'where':{'id':_0x3371bb[_0x6972('0x45')]['id']}})[_0x6972('0x24')](handleEntityNotFound(_0x490004,null))['then'](removeEntity(_0x490004,null))['catch'](handleError(_0x490004,null));};