4141618b4cbbfe48ed86d058706b58cc408d731f
[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 _0x2a9b=['end','json','limit','undefined','count','offset','Content-Range','apply','reject','save','update','destroy','then','stack','name','index','map','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','DeskField','includeAll','include','rows','catch','show','create','body','find','params','rimraf','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status'];(function(_0x4a9923,_0x196b4c){var _0x245177=function(_0x4a5e95){while(--_0x4a5e95){_0x4a9923['push'](_0x4a9923['shift']());}};_0x245177(++_0x196b4c);}(_0x2a9b,0x14b));var _0xb2a9=function(_0x16e003,_0x51c0b6){_0x16e003=_0x16e003-0x0;var _0x152d4c=_0x2a9b[_0x16e003];return _0x152d4c;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xb2a9('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xb2a9('0x1'));var moment=require(_0xb2a9('0x2'));var BPromise=require('bluebird');var Mustache=require(_0xb2a9('0x3'));var util=require(_0xb2a9('0x4'));var path=require(_0xb2a9('0x5'));var sox=require(_0xb2a9('0x6'));var csv=require(_0xb2a9('0x7'));var ejs=require(_0xb2a9('0x8'));var fs=require('fs');var fs_extra=require(_0xb2a9('0x9'));var _=require(_0xb2a9('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xb2a9('0xb'));var Papa=require(_0xb2a9('0xc'));var Redis=require(_0xb2a9('0xd'));var authService=require(_0xb2a9('0xe'));var qs=require(_0xb2a9('0xf'));var as=require(_0xb2a9('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xb2a9('0x11'));var utils=require(_0xb2a9('0x12'));var config=require(_0xb2a9('0x13'));var licenseUtil=require(_0xb2a9('0x14'));var db=require(_0xb2a9('0x15'))['db'];function respondWithStatusCode(_0x15101a,_0x34e1b6){_0x34e1b6=_0x34e1b6||0xcc;return function(_0x56c3f4){if(_0x56c3f4){return _0x15101a[_0xb2a9('0x16')](_0x34e1b6);}return _0x15101a[_0xb2a9('0x17')](_0x34e1b6)[_0xb2a9('0x18')]();};}function respondWithResult(_0xe6e569,_0x161531){_0x161531=_0x161531||0xc8;return function(_0x5e629b){if(_0x5e629b){return _0xe6e569[_0xb2a9('0x17')](_0x161531)[_0xb2a9('0x19')](_0x5e629b);}};}function respondWithFilteredResult(_0x3e54ae,_0x508297){return function(_0x545235){if(_0x545235){var _0x310af7=typeof _0x508297['offset']==='undefined'&&typeof _0x508297[_0xb2a9('0x1a')]===_0xb2a9('0x1b');var _0x4c4e1b=_0x545235[_0xb2a9('0x1c')];var _0x561542=_0x310af7?0x0:_0x508297[_0xb2a9('0x1d')];var _0x18f197=_0x310af7?_0x545235[_0xb2a9('0x1c')]:_0x508297['offset']+_0x508297[_0xb2a9('0x1a')];var _0x53d8c0;if(_0x18f197>=_0x4c4e1b){_0x18f197=_0x4c4e1b;_0x53d8c0=0xc8;}else{_0x53d8c0=0xce;}_0x3e54ae['status'](_0x53d8c0);return _0x3e54ae['set'](_0xb2a9('0x1e'),_0x561542+'-'+_0x18f197+'/'+_0x4c4e1b)[_0xb2a9('0x19')](_0x545235);}return null;};}function patchUpdates(_0x16a434){return function(_0x199db2){try{jsonpatch[_0xb2a9('0x1f')](_0x199db2,_0x16a434,!![]);}catch(_0x2ac08d){return BPromise[_0xb2a9('0x20')](_0x2ac08d);}return _0x199db2[_0xb2a9('0x21')]();};}function saveUpdates(_0x1b3200,_0x4858d3){return function(_0x42374a){if(_0x42374a){return _0x42374a[_0xb2a9('0x22')](_0x1b3200)['then'](function(_0x1fe8a1){return _0x1fe8a1;});}return null;};}function removeEntity(_0x4946c6,_0x9a63c){return function(_0x39b5ad){if(_0x39b5ad){return _0x39b5ad[_0xb2a9('0x23')]()[_0xb2a9('0x24')](function(){_0x4946c6[_0xb2a9('0x17')](0xcc)[_0xb2a9('0x18')]();});}};}function handleEntityNotFound(_0x19011b,_0x1ae38e){return function(_0x4095a6){if(!_0x4095a6){_0x19011b[_0xb2a9('0x16')](0x194);}return _0x4095a6;};}function handleError(_0x239c5b,_0x3eb584){_0x3eb584=_0x3eb584||0x1f4;return function(_0xc8fba4){logger['error'](_0xc8fba4[_0xb2a9('0x25')]);if(_0xc8fba4[_0xb2a9('0x26')]){delete _0xc8fba4[_0xb2a9('0x26')];}_0x239c5b[_0xb2a9('0x17')](_0x3eb584)['send'](_0xc8fba4);};}exports[_0xb2a9('0x27')]=function(_0x1ca530,_0x1d9113){var _0x43e9da={},_0x548ae8={},_0x338d91={'count':0x0,'rows':[]};var _0x43a201=_[_0xb2a9('0x28')](db['DeskField'][_0xb2a9('0x29')],function(_0x105c9f){return{'name':_0x105c9f['fieldName'],'type':_0x105c9f[_0xb2a9('0x2a')][_0xb2a9('0x2b')]};});_0x548ae8[_0xb2a9('0x2c')]=_[_0xb2a9('0x28')](_0x43a201,'name');_0x548ae8[_0xb2a9('0x2d')]=_[_0xb2a9('0x2e')](_0x1ca530['query']);_0x548ae8[_0xb2a9('0x2f')]=_[_0xb2a9('0x30')](_0x548ae8['model'],_0x548ae8[_0xb2a9('0x2d')]);_0x43e9da[_0xb2a9('0x31')]=_['intersection'](_0x548ae8[_0xb2a9('0x2c')],qs[_0xb2a9('0x32')](_0x1ca530['query'][_0xb2a9('0x32')]));_0x43e9da[_0xb2a9('0x31')]=_0x43e9da[_0xb2a9('0x31')][_0xb2a9('0x33')]?_0x43e9da['attributes']:_0x548ae8[_0xb2a9('0x2c')];if(!_0x1ca530[_0xb2a9('0x2d')][_0xb2a9('0x34')]('nolimit')){_0x43e9da['limit']=qs[_0xb2a9('0x1a')](_0x1ca530[_0xb2a9('0x2d')][_0xb2a9('0x1a')]);_0x43e9da[_0xb2a9('0x1d')]=qs[_0xb2a9('0x1d')](_0x1ca530[_0xb2a9('0x2d')][_0xb2a9('0x1d')]);}_0x43e9da[_0xb2a9('0x35')]=qs['sort'](_0x1ca530[_0xb2a9('0x2d')][_0xb2a9('0x36')]);_0x43e9da[_0xb2a9('0x37')]=qs[_0xb2a9('0x2f')](_[_0xb2a9('0x38')](_0x1ca530[_0xb2a9('0x2d')],_0x548ae8[_0xb2a9('0x2f')]),_0x43a201);if(_0x1ca530['query'][_0xb2a9('0x39')]){_0x43e9da[_0xb2a9('0x37')]=_[_0xb2a9('0x3a')](_0x43e9da[_0xb2a9('0x37')],{'$or':_[_0xb2a9('0x28')](_0x43a201,function(_0xe4a4c3){if(_0xe4a4c3[_0xb2a9('0x2a')]!==_0xb2a9('0x3b')){var _0x476a34={};_0x476a34[_0xe4a4c3[_0xb2a9('0x26')]]={'$like':'%'+_0x1ca530['query']['filter']+'%'};return _0x476a34;}})});}_0x43e9da=_['merge']({},_0x43e9da,_0x1ca530[_0xb2a9('0x3c')]);var _0x3f9b4d={'where':_0x43e9da[_0xb2a9('0x37')]};return db[_0xb2a9('0x3d')][_0xb2a9('0x1c')](_0x3f9b4d)[_0xb2a9('0x24')](function(_0x4bfc65){_0x338d91['count']=_0x4bfc65;if(_0x1ca530[_0xb2a9('0x2d')][_0xb2a9('0x3e')]){_0x43e9da[_0xb2a9('0x3f')]=[{'all':!![]}];}return db[_0xb2a9('0x3d')]['findAll'](_0x43e9da);})['then'](function(_0x15b9f9){_0x338d91[_0xb2a9('0x40')]=_0x15b9f9;return _0x338d91;})[_0xb2a9('0x24')](respondWithFilteredResult(_0x1d9113,_0x43e9da))[_0xb2a9('0x41')](handleError(_0x1d9113,null));};exports[_0xb2a9('0x42')]=function(_0x1066b5,_0x4e638e){var _0x3c82c3={'raw':!![],'where':{'id':_0x1066b5['params']['id']}},_0x1fc3b3={};_0x1fc3b3[_0xb2a9('0x2c')]=_['keys'](db[_0xb2a9('0x3d')][_0xb2a9('0x29')]);_0x1fc3b3[_0xb2a9('0x2d')]=_[_0xb2a9('0x2e')](_0x1066b5[_0xb2a9('0x2d')]);_0x1fc3b3[_0xb2a9('0x2f')]=_[_0xb2a9('0x30')](_0x1fc3b3['model'],_0x1fc3b3[_0xb2a9('0x2d')]);_0x3c82c3[_0xb2a9('0x31')]=_[_0xb2a9('0x30')](_0x1fc3b3[_0xb2a9('0x2c')],qs[_0xb2a9('0x32')](_0x1066b5['query'][_0xb2a9('0x32')]));_0x3c82c3['attributes']=_0x3c82c3[_0xb2a9('0x31')]['length']?_0x3c82c3[_0xb2a9('0x31')]:_0x1fc3b3['model'];if(_0x1066b5[_0xb2a9('0x2d')][_0xb2a9('0x3e')]){_0x3c82c3[_0xb2a9('0x3f')]=[{'all':!![]}];}_0x3c82c3=_['merge']({},_0x3c82c3,_0x1066b5[_0xb2a9('0x3c')]);return db[_0xb2a9('0x3d')]['find'](_0x3c82c3)[_0xb2a9('0x24')](handleEntityNotFound(_0x4e638e,null))[_0xb2a9('0x24')](respondWithResult(_0x4e638e,null))[_0xb2a9('0x41')](handleError(_0x4e638e,null));};exports[_0xb2a9('0x43')]=function(_0x19a9b6,_0x38ff0e){return db[_0xb2a9('0x3d')][_0xb2a9('0x43')](_0x19a9b6[_0xb2a9('0x44')],{})[_0xb2a9('0x24')](respondWithResult(_0x38ff0e,0xc9))[_0xb2a9('0x41')](handleError(_0x38ff0e,null));};exports[_0xb2a9('0x22')]=function(_0x80b0ac,_0x4208ee){if(_0x80b0ac[_0xb2a9('0x44')]['id']){delete _0x80b0ac['body']['id'];}return db['DeskField'][_0xb2a9('0x45')]({'where':{'id':_0x80b0ac[_0xb2a9('0x46')]['id']}})[_0xb2a9('0x24')](handleEntityNotFound(_0x4208ee,null))['then'](saveUpdates(_0x80b0ac[_0xb2a9('0x44')],null))[_0xb2a9('0x24')](respondWithResult(_0x4208ee,null))[_0xb2a9('0x41')](handleError(_0x4208ee,null));};exports[_0xb2a9('0x23')]=function(_0x431ae6,_0x51dca0){return db[_0xb2a9('0x3d')][_0xb2a9('0x45')]({'where':{'id':_0x431ae6[_0xb2a9('0x46')]['id']}})[_0xb2a9('0x24')](handleEntityNotFound(_0x51dca0,null))[_0xb2a9('0x24')](removeEntity(_0x51dca0,null))[_0xb2a9('0x41')](handleError(_0x51dca0,null));};