0fa51a9e7317d4882040584a20f6a80e36a382d0
[motion2.git] / server / api / intDeskField / intDeskField.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 _0x620b=['nolimit','limit','order','sort','where','pick','type','VIRTUAL','merge','includeAll','catch','show','params','include','find','create','body','update','destroy','eml-format','rimraf','zip-dir','mustache','path','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','end','status','json','undefined','count','offset','Content-Range','reject','then','error','stack','name','send','index','DeskField','rawAttributes','key','model','map','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty'];(function(_0x200827,_0x4af951){var _0x120047=function(_0x4431de){while(--_0x4431de){_0x200827['push'](_0x200827['shift']());}};_0x120047(++_0x4af951);}(_0x620b,0x167));var _0xb620=function(_0x5e52ed,_0x2d77ce){_0x5e52ed=_0x5e52ed-0x0;var _0x2cdbfb=_0x620b[_0x5e52ed];return _0x2cdbfb;};'use strict';var emlformat=require(_0xb620('0x0'));var rimraf=require(_0xb620('0x1'));var zipdir=require(_0xb620('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xb620('0x3'));var util=require('util');var path=require(_0xb620('0x4'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xb620('0x5'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xb620('0x6'));var squel=require(_0xb620('0x7'));var crypto=require(_0xb620('0x8'));var jsforce=require(_0xb620('0x9'));var deskjs=require(_0xb620('0xa'));var toCsv=require(_0xb620('0xb'));var querystring=require(_0xb620('0xc'));var Papa=require(_0xb620('0xd'));var Redis=require('ioredis');var authService=require(_0xb620('0xe'));var qs=require(_0xb620('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb620('0x10'));var logger=require(_0xb620('0x11'))(_0xb620('0x12'));var utils=require(_0xb620('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0xb620('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4536bb,_0x41208f){_0x41208f=_0x41208f||0xcc;return function(_0x10aa83){if(_0x10aa83){return _0x4536bb[_0xb620('0x15')](_0x41208f);}return _0x4536bb['status'](_0x41208f)[_0xb620('0x16')]();};}function respondWithResult(_0x4f7b72,_0x25af57){_0x25af57=_0x25af57||0xc8;return function(_0x11ed01){if(_0x11ed01){return _0x4f7b72[_0xb620('0x17')](_0x25af57)[_0xb620('0x18')](_0x11ed01);}};}function respondWithFilteredResult(_0x314a0b,_0xa715af){return function(_0x192423){if(_0x192423){var _0x3f3177=typeof _0xa715af['offset']===_0xb620('0x19')&&typeof _0xa715af['limit']===_0xb620('0x19');var _0xa2bf8a=_0x192423[_0xb620('0x1a')];var _0x82e276=_0x3f3177?0x0:_0xa715af[_0xb620('0x1b')];var _0x842f04=_0x3f3177?_0x192423[_0xb620('0x1a')]:_0xa715af['offset']+_0xa715af['limit'];var _0x1924b2;if(_0x842f04>=_0xa2bf8a){_0x842f04=_0xa2bf8a;_0x1924b2=0xc8;}else{_0x1924b2=0xce;}_0x314a0b[_0xb620('0x17')](_0x1924b2);return _0x314a0b['set'](_0xb620('0x1c'),_0x82e276+'-'+_0x842f04+'/'+_0xa2bf8a)[_0xb620('0x18')](_0x192423);}return null;};}function patchUpdates(_0x3446de){return function(_0x238960){try{jsonpatch['apply'](_0x238960,_0x3446de,!![]);}catch(_0x2fa1ca){return BPromise[_0xb620('0x1d')](_0x2fa1ca);}return _0x238960['save']();};}function saveUpdates(_0x2ee8fc,_0x556e20){return function(_0x3abf95){if(_0x3abf95){return _0x3abf95['update'](_0x2ee8fc)[_0xb620('0x1e')](function(_0x3dd0c6){return _0x3dd0c6;});}return null;};}function removeEntity(_0x48d87f,_0x23c9d8){return function(_0x506203){if(_0x506203){return _0x506203['destroy']()[_0xb620('0x1e')](function(){_0x48d87f[_0xb620('0x17')](0xcc)[_0xb620('0x16')]();});}};}function handleEntityNotFound(_0x1b64b7,_0x3fb9ad){return function(_0x51ae42){if(!_0x51ae42){_0x1b64b7[_0xb620('0x15')](0x194);}return _0x51ae42;};}function handleError(_0x16f137,_0x593e48){_0x593e48=_0x593e48||0x1f4;return function(_0x4bba7b){logger[_0xb620('0x1f')](_0x4bba7b[_0xb620('0x20')]);if(_0x4bba7b[_0xb620('0x21')]){delete _0x4bba7b[_0xb620('0x21')];}_0x16f137[_0xb620('0x17')](_0x593e48)[_0xb620('0x22')](_0x4bba7b);};}exports[_0xb620('0x23')]=function(_0xa138bd,_0x597100){var _0x41af1a={},_0x1ef1cb={},_0x51b9b5={'count':0x0,'rows':[]};var _0x19275d=_['map'](db[_0xb620('0x24')][_0xb620('0x25')],function(_0x5997e6){return{'name':_0x5997e6['fieldName'],'type':_0x5997e6['type'][_0xb620('0x26')]};});_0x1ef1cb[_0xb620('0x27')]=_[_0xb620('0x28')](_0x19275d,_0xb620('0x21'));_0x1ef1cb[_0xb620('0x29')]=_[_0xb620('0x2a')](_0xa138bd[_0xb620('0x29')]);_0x1ef1cb[_0xb620('0x2b')]=_[_0xb620('0x2c')](_0x1ef1cb[_0xb620('0x27')],_0x1ef1cb[_0xb620('0x29')]);_0x41af1a['attributes']=_['intersection'](_0x1ef1cb['model'],qs[_0xb620('0x2d')](_0xa138bd[_0xb620('0x29')]['fields']));_0x41af1a[_0xb620('0x2e')]=_0x41af1a[_0xb620('0x2e')][_0xb620('0x2f')]?_0x41af1a[_0xb620('0x2e')]:_0x1ef1cb[_0xb620('0x27')];if(!_0xa138bd[_0xb620('0x29')][_0xb620('0x30')](_0xb620('0x31'))){_0x41af1a[_0xb620('0x32')]=qs[_0xb620('0x32')](_0xa138bd[_0xb620('0x29')]['limit']);_0x41af1a[_0xb620('0x1b')]=qs[_0xb620('0x1b')](_0xa138bd['query'][_0xb620('0x1b')]);}_0x41af1a[_0xb620('0x33')]=qs[_0xb620('0x34')](_0xa138bd['query'][_0xb620('0x34')]);_0x41af1a[_0xb620('0x35')]=qs[_0xb620('0x2b')](_[_0xb620('0x36')](_0xa138bd['query'],_0x1ef1cb['filters']),_0x19275d);if(_0xa138bd[_0xb620('0x29')]['filter']){_0x41af1a['where']=_['merge'](_0x41af1a['where'],{'$or':_['map'](_0x19275d,function(_0x5cbf21){if(_0x5cbf21[_0xb620('0x37')]!==_0xb620('0x38')){var _0x773bce={};_0x773bce[_0x5cbf21['name']]={'$like':'%'+_0xa138bd['query']['filter']+'%'};return _0x773bce;}})});}_0x41af1a=_[_0xb620('0x39')]({},_0x41af1a,_0xa138bd['options']);var _0x183c1b={'where':_0x41af1a[_0xb620('0x35')]};return db[_0xb620('0x24')][_0xb620('0x1a')](_0x183c1b)['then'](function(_0x4e903c){_0x51b9b5['count']=_0x4e903c;if(_0xa138bd['query'][_0xb620('0x3a')]){_0x41af1a['include']=[{'all':!![]}];}return db[_0xb620('0x24')]['findAll'](_0x41af1a);})[_0xb620('0x1e')](function(_0x425f33){_0x51b9b5['rows']=_0x425f33;return _0x51b9b5;})['then'](respondWithFilteredResult(_0x597100,_0x41af1a))[_0xb620('0x3b')](handleError(_0x597100,null));};exports[_0xb620('0x3c')]=function(_0x43d1e7,_0x42e0ce){var _0x54a790={'raw':!![],'where':{'id':_0x43d1e7[_0xb620('0x3d')]['id']}},_0x19ea7a={};_0x19ea7a['model']=_[_0xb620('0x2a')](db[_0xb620('0x24')][_0xb620('0x25')]);_0x19ea7a[_0xb620('0x29')]=_[_0xb620('0x2a')](_0x43d1e7[_0xb620('0x29')]);_0x19ea7a[_0xb620('0x2b')]=_[_0xb620('0x2c')](_0x19ea7a[_0xb620('0x27')],_0x19ea7a['query']);_0x54a790['attributes']=_['intersection'](_0x19ea7a[_0xb620('0x27')],qs[_0xb620('0x2d')](_0x43d1e7[_0xb620('0x29')]['fields']));_0x54a790[_0xb620('0x2e')]=_0x54a790[_0xb620('0x2e')][_0xb620('0x2f')]?_0x54a790['attributes']:_0x19ea7a[_0xb620('0x27')];if(_0x43d1e7['query'][_0xb620('0x3a')]){_0x54a790[_0xb620('0x3e')]=[{'all':!![]}];}_0x54a790=_['merge']({},_0x54a790,_0x43d1e7['options']);return db[_0xb620('0x24')][_0xb620('0x3f')](_0x54a790)[_0xb620('0x1e')](handleEntityNotFound(_0x42e0ce,null))[_0xb620('0x1e')](respondWithResult(_0x42e0ce,null))[_0xb620('0x3b')](handleError(_0x42e0ce,null));};exports[_0xb620('0x40')]=function(_0xe4ec48,_0x252fe4){return db[_0xb620('0x24')]['create'](_0xe4ec48[_0xb620('0x41')],{})[_0xb620('0x1e')](respondWithResult(_0x252fe4,0xc9))[_0xb620('0x3b')](handleError(_0x252fe4,null));};exports[_0xb620('0x42')]=function(_0x5d96e4,_0x1f45a3){if(_0x5d96e4[_0xb620('0x41')]['id']){delete _0x5d96e4[_0xb620('0x41')]['id'];}return db[_0xb620('0x24')][_0xb620('0x3f')]({'where':{'id':_0x5d96e4['params']['id']}})[_0xb620('0x1e')](handleEntityNotFound(_0x1f45a3,null))[_0xb620('0x1e')](saveUpdates(_0x5d96e4[_0xb620('0x41')],null))[_0xb620('0x1e')](respondWithResult(_0x1f45a3,null))[_0xb620('0x3b')](handleError(_0x1f45a3,null));};exports[_0xb620('0x43')]=function(_0x3e3d9b,_0x3990c2){return db[_0xb620('0x24')][_0xb620('0x3f')]({'where':{'id':_0x3e3d9b[_0xb620('0x3d')]['id']}})[_0xb620('0x1e')](handleEntityNotFound(_0x3990c2,null))['then'](removeEntity(_0x3990c2,null))[_0xb620('0x3b')](handleError(_0x3990c2,null));};