Built motion from commit d5e4af8c.|2.6.23
[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 _0x0e6a=['name','send','index','map','DeskField','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','findAll','rows','show','params','keys','includeAll','include','find','catch','create','body','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','sendStatus','status','offset','undefined','limit','count','set','Content-Range','reject','update','then','destroy','end','error'];(function(_0x3e4a61,_0x59a7c0){var _0x2361b5=function(_0x218adf){while(--_0x218adf){_0x3e4a61['push'](_0x3e4a61['shift']());}};_0x2361b5(++_0x59a7c0);}(_0x0e6a,0x100));var _0xa0e6=function(_0x59e444,_0x2ff6cd){_0x59e444=_0x59e444-0x0;var _0x4924fb=_0x0e6a[_0x59e444];return _0x4924fb;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xa0e6('0x0'));var zipdir=require(_0xa0e6('0x1'));var jsonpatch=require(_0xa0e6('0x2'));var rp=require(_0xa0e6('0x3'));var moment=require(_0xa0e6('0x4'));var BPromise=require(_0xa0e6('0x5'));var Mustache=require('mustache');var util=require(_0xa0e6('0x6'));var path=require(_0xa0e6('0x7'));var sox=require(_0xa0e6('0x8'));var csv=require(_0xa0e6('0x9'));var ejs=require(_0xa0e6('0xa'));var fs=require('fs');var fs_extra=require(_0xa0e6('0xb'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xa0e6('0xc'));var jsforce=require(_0xa0e6('0xd'));var deskjs=require(_0xa0e6('0xe'));var toCsv=require(_0xa0e6('0x9'));var querystring=require(_0xa0e6('0xf'));var Papa=require(_0xa0e6('0x10'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xa0e6('0x11'));var as=require(_0xa0e6('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xa0e6('0x13'))('api');var utils=require(_0xa0e6('0x14'));var config=require(_0xa0e6('0x15'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1854b2,_0xb8b194){_0xb8b194=_0xb8b194||0xcc;return function(_0x27118c){if(_0x27118c){return _0x1854b2[_0xa0e6('0x16')](_0xb8b194);}return _0x1854b2[_0xa0e6('0x17')](_0xb8b194)['end']();};}function respondWithResult(_0x1165bf,_0x558c9d){_0x558c9d=_0x558c9d||0xc8;return function(_0x14d99c){if(_0x14d99c){return _0x1165bf[_0xa0e6('0x17')](_0x558c9d)['json'](_0x14d99c);}};}function respondWithFilteredResult(_0x197e8b,_0x2da5c7){return function(_0x1bfdb1){if(_0x1bfdb1){var _0x301a37=typeof _0x2da5c7[_0xa0e6('0x18')]===_0xa0e6('0x19')&&typeof _0x2da5c7[_0xa0e6('0x1a')]==='undefined';var _0x5b4294=_0x1bfdb1['count'];var _0x3cc453=_0x301a37?0x0:_0x2da5c7[_0xa0e6('0x18')];var _0x5b9aa6=_0x301a37?_0x1bfdb1[_0xa0e6('0x1b')]:_0x2da5c7[_0xa0e6('0x18')]+_0x2da5c7[_0xa0e6('0x1a')];var _0x5c0718;if(_0x5b9aa6>=_0x5b4294){_0x5b9aa6=_0x5b4294;_0x5c0718=0xc8;}else{_0x5c0718=0xce;}_0x197e8b['status'](_0x5c0718);return _0x197e8b[_0xa0e6('0x1c')](_0xa0e6('0x1d'),_0x3cc453+'-'+_0x5b9aa6+'/'+_0x5b4294)['json'](_0x1bfdb1);}return null;};}function patchUpdates(_0x2dc797){return function(_0x290a58){try{jsonpatch['apply'](_0x290a58,_0x2dc797,!![]);}catch(_0x200849){return BPromise[_0xa0e6('0x1e')](_0x200849);}return _0x290a58['save']();};}function saveUpdates(_0x2eddca,_0x582ee5){return function(_0x2361ad){if(_0x2361ad){return _0x2361ad[_0xa0e6('0x1f')](_0x2eddca)[_0xa0e6('0x20')](function(_0x2e3224){return _0x2e3224;});}return null;};}function removeEntity(_0x421503,_0x1182ee){return function(_0x4683ad){if(_0x4683ad){return _0x4683ad[_0xa0e6('0x21')]()[_0xa0e6('0x20')](function(){_0x421503[_0xa0e6('0x17')](0xcc)[_0xa0e6('0x22')]();});}};}function handleEntityNotFound(_0x275269,_0xf35c98){return function(_0x144b7c){if(!_0x144b7c){_0x275269[_0xa0e6('0x16')](0x194);}return _0x144b7c;};}function handleError(_0x301854,_0x12b46f){_0x12b46f=_0x12b46f||0x1f4;return function(_0x35aa2a){logger[_0xa0e6('0x23')](_0x35aa2a['stack']);if(_0x35aa2a[_0xa0e6('0x24')]){delete _0x35aa2a[_0xa0e6('0x24')];}_0x301854[_0xa0e6('0x17')](_0x12b46f)[_0xa0e6('0x25')](_0x35aa2a);};}exports[_0xa0e6('0x26')]=function(_0x17c0a5,_0x2a5d3c){var _0x51c173={},_0x500a3d={},_0x12185c={'count':0x0,'rows':[]};var _0x2f4c57=_[_0xa0e6('0x27')](db[_0xa0e6('0x28')][_0xa0e6('0x29')],function(_0x1dc830){return{'name':_0x1dc830[_0xa0e6('0x2a')],'type':_0x1dc830[_0xa0e6('0x2b')][_0xa0e6('0x2c')]};});_0x500a3d[_0xa0e6('0x2d')]=_[_0xa0e6('0x27')](_0x2f4c57,'name');_0x500a3d['query']=_['keys'](_0x17c0a5[_0xa0e6('0x2e')]);_0x500a3d[_0xa0e6('0x2f')]=_[_0xa0e6('0x30')](_0x500a3d[_0xa0e6('0x2d')],_0x500a3d['query']);_0x51c173[_0xa0e6('0x31')]=_['intersection'](_0x500a3d[_0xa0e6('0x2d')],qs[_0xa0e6('0x32')](_0x17c0a5[_0xa0e6('0x2e')][_0xa0e6('0x32')]));_0x51c173['attributes']=_0x51c173['attributes'][_0xa0e6('0x33')]?_0x51c173[_0xa0e6('0x31')]:_0x500a3d[_0xa0e6('0x2d')];if(!_0x17c0a5['query'][_0xa0e6('0x34')](_0xa0e6('0x35'))){_0x51c173[_0xa0e6('0x1a')]=qs[_0xa0e6('0x1a')](_0x17c0a5[_0xa0e6('0x2e')][_0xa0e6('0x1a')]);_0x51c173[_0xa0e6('0x18')]=qs[_0xa0e6('0x18')](_0x17c0a5[_0xa0e6('0x2e')][_0xa0e6('0x18')]);}_0x51c173[_0xa0e6('0x36')]=qs[_0xa0e6('0x37')](_0x17c0a5[_0xa0e6('0x2e')][_0xa0e6('0x37')]);_0x51c173[_0xa0e6('0x38')]=qs[_0xa0e6('0x2f')](_[_0xa0e6('0x39')](_0x17c0a5[_0xa0e6('0x2e')],_0x500a3d[_0xa0e6('0x2f')]),_0x2f4c57);if(_0x17c0a5[_0xa0e6('0x2e')]['filter']){_0x51c173[_0xa0e6('0x38')]=_[_0xa0e6('0x3a')](_0x51c173[_0xa0e6('0x38')],{'$or':_[_0xa0e6('0x27')](_0x2f4c57,function(_0x41aa76){if(_0x41aa76[_0xa0e6('0x2b')]!==_0xa0e6('0x3b')){var _0x541e0d={};_0x541e0d[_0x41aa76[_0xa0e6('0x24')]]={'$like':'%'+_0x17c0a5[_0xa0e6('0x2e')][_0xa0e6('0x3c')]+'%'};return _0x541e0d;}})});}_0x51c173=_[_0xa0e6('0x3a')]({},_0x51c173,_0x17c0a5[_0xa0e6('0x3d')]);var _0x3127a8={'where':_0x51c173[_0xa0e6('0x38')]};return db[_0xa0e6('0x28')]['count'](_0x3127a8)[_0xa0e6('0x20')](function(_0x10964d){_0x12185c[_0xa0e6('0x1b')]=_0x10964d;if(_0x17c0a5[_0xa0e6('0x2e')]['includeAll']){_0x51c173['include']=[{'all':!![]}];}return db[_0xa0e6('0x28')][_0xa0e6('0x3e')](_0x51c173);})[_0xa0e6('0x20')](function(_0x11b884){_0x12185c[_0xa0e6('0x3f')]=_0x11b884;return _0x12185c;})[_0xa0e6('0x20')](respondWithFilteredResult(_0x2a5d3c,_0x51c173))['catch'](handleError(_0x2a5d3c,null));};exports[_0xa0e6('0x40')]=function(_0x5db983,_0x3bebb2){var _0x3c3dc7={'raw':!![],'where':{'id':_0x5db983[_0xa0e6('0x41')]['id']}},_0x1b2195={};_0x1b2195[_0xa0e6('0x2d')]=_[_0xa0e6('0x42')](db[_0xa0e6('0x28')][_0xa0e6('0x29')]);_0x1b2195[_0xa0e6('0x2e')]=_[_0xa0e6('0x42')](_0x5db983[_0xa0e6('0x2e')]);_0x1b2195[_0xa0e6('0x2f')]=_['intersection'](_0x1b2195[_0xa0e6('0x2d')],_0x1b2195[_0xa0e6('0x2e')]);_0x3c3dc7[_0xa0e6('0x31')]=_[_0xa0e6('0x30')](_0x1b2195[_0xa0e6('0x2d')],qs['fields'](_0x5db983[_0xa0e6('0x2e')][_0xa0e6('0x32')]));_0x3c3dc7[_0xa0e6('0x31')]=_0x3c3dc7[_0xa0e6('0x31')][_0xa0e6('0x33')]?_0x3c3dc7[_0xa0e6('0x31')]:_0x1b2195[_0xa0e6('0x2d')];if(_0x5db983[_0xa0e6('0x2e')][_0xa0e6('0x43')]){_0x3c3dc7[_0xa0e6('0x44')]=[{'all':!![]}];}_0x3c3dc7=_[_0xa0e6('0x3a')]({},_0x3c3dc7,_0x5db983['options']);return db['DeskField'][_0xa0e6('0x45')](_0x3c3dc7)[_0xa0e6('0x20')](handleEntityNotFound(_0x3bebb2,null))[_0xa0e6('0x20')](respondWithResult(_0x3bebb2,null))[_0xa0e6('0x46')](handleError(_0x3bebb2,null));};exports['create']=function(_0x8987a0,_0x3cf8d1){return db[_0xa0e6('0x28')][_0xa0e6('0x47')](_0x8987a0['body'],{})['then'](respondWithResult(_0x3cf8d1,0xc9))[_0xa0e6('0x46')](handleError(_0x3cf8d1,null));};exports['update']=function(_0x356a2d,_0x3e2a28){if(_0x356a2d['body']['id']){delete _0x356a2d[_0xa0e6('0x48')]['id'];}return db['DeskField'][_0xa0e6('0x45')]({'where':{'id':_0x356a2d[_0xa0e6('0x41')]['id']}})['then'](handleEntityNotFound(_0x3e2a28,null))[_0xa0e6('0x20')](saveUpdates(_0x356a2d[_0xa0e6('0x48')],null))[_0xa0e6('0x20')](respondWithResult(_0x3e2a28,null))[_0xa0e6('0x46')](handleError(_0x3e2a28,null));};exports[_0xa0e6('0x21')]=function(_0x11a924,_0x1745ea){return db[_0xa0e6('0x28')][_0xa0e6('0x45')]({'where':{'id':_0x11a924[_0xa0e6('0x41')]['id']}})[_0xa0e6('0x20')](handleEntityNotFound(_0x1745ea,null))[_0xa0e6('0x20')](removeEntity(_0x1745ea,null))['catch'](handleError(_0x1745ea,null));};