c1b2f524bb38fce11138a1d4bc1670501eea1053
[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 _0xa49f=['limit','count','Content-Range','save','then','error','stack','name','send','map','DeskField','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','show','params','find','create','body','catch','destroy','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined'];(function(_0x38f3ce,_0xc9f790){var _0x40d0c0=function(_0x3bc58c){while(--_0x3bc58c){_0x38f3ce['push'](_0x38f3ce['shift']());}};_0x40d0c0(++_0xc9f790);}(_0xa49f,0xb7));var _0xfa49=function(_0xaa1b3e,_0x47d976){_0xaa1b3e=_0xaa1b3e-0x0;var _0x454d7d=_0xa49f[_0xaa1b3e];return _0x454d7d;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xfa49('0x0'));var zipdir=require(_0xfa49('0x1'));var jsonpatch=require(_0xfa49('0x2'));var rp=require('request-promise');var moment=require(_0xfa49('0x3'));var BPromise=require(_0xfa49('0x4'));var Mustache=require(_0xfa49('0x5'));var util=require(_0xfa49('0x6'));var path=require('path');var sox=require(_0xfa49('0x7'));var csv=require(_0xfa49('0x8'));var ejs=require(_0xfa49('0x9'));var fs=require('fs');var fs_extra=require(_0xfa49('0xa'));var _=require('lodash');var squel=require(_0xfa49('0xb'));var crypto=require(_0xfa49('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xfa49('0xd'));var toCsv=require(_0xfa49('0x8'));var querystring=require('querystring');var Papa=require(_0xfa49('0xe'));var Redis=require(_0xfa49('0xf'));var authService=require(_0xfa49('0x10'));var qs=require(_0xfa49('0x11'));var as=require(_0xfa49('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xfa49('0x13'))(_0xfa49('0x14'));var utils=require('../../config/utils');var config=require(_0xfa49('0x15'));var licenseUtil=require(_0xfa49('0x16'));var db=require(_0xfa49('0x17'))['db'];function respondWithStatusCode(_0x320d7e,_0x4d780b){_0x4d780b=_0x4d780b||0xcc;return function(_0x25094e){if(_0x25094e){return _0x320d7e[_0xfa49('0x18')](_0x4d780b);}return _0x320d7e['status'](_0x4d780b)[_0xfa49('0x19')]();};}function respondWithResult(_0x2b964f,_0x412cb4){_0x412cb4=_0x412cb4||0xc8;return function(_0x43255b){if(_0x43255b){return _0x2b964f[_0xfa49('0x1a')](_0x412cb4)[_0xfa49('0x1b')](_0x43255b);}};}function respondWithFilteredResult(_0x2b23b4,_0x3d0d17){return function(_0x4badbc){if(_0x4badbc){var _0x56298a=typeof _0x3d0d17[_0xfa49('0x1c')]===_0xfa49('0x1d')&&typeof _0x3d0d17[_0xfa49('0x1e')]===_0xfa49('0x1d');var _0x40eed4=_0x4badbc[_0xfa49('0x1f')];var _0x1f4345=_0x56298a?0x0:_0x3d0d17['offset'];var _0x3124ff=_0x56298a?_0x4badbc[_0xfa49('0x1f')]:_0x3d0d17[_0xfa49('0x1c')]+_0x3d0d17[_0xfa49('0x1e')];var _0x13e421;if(_0x3124ff>=_0x40eed4){_0x3124ff=_0x40eed4;_0x13e421=0xc8;}else{_0x13e421=0xce;}_0x2b23b4[_0xfa49('0x1a')](_0x13e421);return _0x2b23b4['set'](_0xfa49('0x20'),_0x1f4345+'-'+_0x3124ff+'/'+_0x40eed4)[_0xfa49('0x1b')](_0x4badbc);}return null;};}function patchUpdates(_0x594d56){return function(_0x1a9f3f){try{jsonpatch['apply'](_0x1a9f3f,_0x594d56,!![]);}catch(_0x18e81f){return BPromise['reject'](_0x18e81f);}return _0x1a9f3f[_0xfa49('0x21')]();};}function saveUpdates(_0x4d57bb,_0x2ab3cb){return function(_0x10b5a4){if(_0x10b5a4){return _0x10b5a4['update'](_0x4d57bb)[_0xfa49('0x22')](function(_0xb49fe6){return _0xb49fe6;});}return null;};}function removeEntity(_0x3ba9df,_0x340b00){return function(_0x5a3ff5){if(_0x5a3ff5){return _0x5a3ff5['destroy']()['then'](function(){_0x3ba9df[_0xfa49('0x1a')](0xcc)[_0xfa49('0x19')]();});}};}function handleEntityNotFound(_0x99d9f0,_0x113adc){return function(_0x32ff42){if(!_0x32ff42){_0x99d9f0['sendStatus'](0x194);}return _0x32ff42;};}function handleError(_0x47fc1a,_0x1d72b3){_0x1d72b3=_0x1d72b3||0x1f4;return function(_0x33bac7){logger[_0xfa49('0x23')](_0x33bac7[_0xfa49('0x24')]);if(_0x33bac7[_0xfa49('0x25')]){delete _0x33bac7[_0xfa49('0x25')];}_0x47fc1a[_0xfa49('0x1a')](_0x1d72b3)[_0xfa49('0x26')](_0x33bac7);};}exports['index']=function(_0x549b29,_0x56e065){var _0x33a9c3={},_0x2018a6={},_0x608175={'count':0x0,'rows':[]};var _0x449320=_[_0xfa49('0x27')](db[_0xfa49('0x28')][_0xfa49('0x29')],function(_0x30ba77){return{'name':_0x30ba77[_0xfa49('0x2a')],'type':_0x30ba77['type'][_0xfa49('0x2b')]};});_0x2018a6[_0xfa49('0x2c')]=_[_0xfa49('0x27')](_0x449320,_0xfa49('0x25'));_0x2018a6[_0xfa49('0x2d')]=_[_0xfa49('0x2e')](_0x549b29[_0xfa49('0x2d')]);_0x2018a6[_0xfa49('0x2f')]=_[_0xfa49('0x30')](_0x2018a6[_0xfa49('0x2c')],_0x2018a6['query']);_0x33a9c3[_0xfa49('0x31')]=_['intersection'](_0x2018a6[_0xfa49('0x2c')],qs[_0xfa49('0x32')](_0x549b29[_0xfa49('0x2d')][_0xfa49('0x32')]));_0x33a9c3[_0xfa49('0x31')]=_0x33a9c3[_0xfa49('0x31')][_0xfa49('0x33')]?_0x33a9c3[_0xfa49('0x31')]:_0x2018a6[_0xfa49('0x2c')];if(!_0x549b29['query'][_0xfa49('0x34')]('nolimit')){_0x33a9c3['limit']=qs[_0xfa49('0x1e')](_0x549b29[_0xfa49('0x2d')][_0xfa49('0x1e')]);_0x33a9c3['offset']=qs[_0xfa49('0x1c')](_0x549b29['query'][_0xfa49('0x1c')]);}_0x33a9c3[_0xfa49('0x35')]=qs[_0xfa49('0x36')](_0x549b29[_0xfa49('0x2d')][_0xfa49('0x36')]);_0x33a9c3[_0xfa49('0x37')]=qs[_0xfa49('0x2f')](_[_0xfa49('0x38')](_0x549b29[_0xfa49('0x2d')],_0x2018a6[_0xfa49('0x2f')]),_0x449320);if(_0x549b29[_0xfa49('0x2d')][_0xfa49('0x39')]){_0x33a9c3[_0xfa49('0x37')]=_[_0xfa49('0x3a')](_0x33a9c3[_0xfa49('0x37')],{'$or':_[_0xfa49('0x27')](_0x449320,function(_0x5399fc){if(_0x5399fc['type']!==_0xfa49('0x3b')){var _0x215f4c={};_0x215f4c[_0x5399fc[_0xfa49('0x25')]]={'$like':'%'+_0x549b29[_0xfa49('0x2d')][_0xfa49('0x39')]+'%'};return _0x215f4c;}})});}_0x33a9c3=_[_0xfa49('0x3a')]({},_0x33a9c3,_0x549b29['options']);var _0x408f42={'where':_0x33a9c3['where']};return db['DeskField']['count'](_0x408f42)['then'](function(_0x2db2f8){_0x608175[_0xfa49('0x1f')]=_0x2db2f8;if(_0x549b29[_0xfa49('0x2d')][_0xfa49('0x3c')]){_0x33a9c3[_0xfa49('0x3d')]=[{'all':!![]}];}return db[_0xfa49('0x28')][_0xfa49('0x3e')](_0x33a9c3);})[_0xfa49('0x22')](function(_0xed57f3){_0x608175[_0xfa49('0x3f')]=_0xed57f3;return _0x608175;})[_0xfa49('0x22')](respondWithFilteredResult(_0x56e065,_0x33a9c3))['catch'](handleError(_0x56e065,null));};exports[_0xfa49('0x40')]=function(_0x4a83b5,_0x113f85){var _0x47e71d={'raw':!![],'where':{'id':_0x4a83b5[_0xfa49('0x41')]['id']}},_0x58a52e={};_0x58a52e['model']=_[_0xfa49('0x2e')](db[_0xfa49('0x28')]['rawAttributes']);_0x58a52e[_0xfa49('0x2d')]=_['keys'](_0x4a83b5[_0xfa49('0x2d')]);_0x58a52e[_0xfa49('0x2f')]=_[_0xfa49('0x30')](_0x58a52e[_0xfa49('0x2c')],_0x58a52e['query']);_0x47e71d[_0xfa49('0x31')]=_[_0xfa49('0x30')](_0x58a52e[_0xfa49('0x2c')],qs[_0xfa49('0x32')](_0x4a83b5['query']['fields']));_0x47e71d[_0xfa49('0x31')]=_0x47e71d['attributes'][_0xfa49('0x33')]?_0x47e71d[_0xfa49('0x31')]:_0x58a52e[_0xfa49('0x2c')];if(_0x4a83b5[_0xfa49('0x2d')][_0xfa49('0x3c')]){_0x47e71d[_0xfa49('0x3d')]=[{'all':!![]}];}_0x47e71d=_[_0xfa49('0x3a')]({},_0x47e71d,_0x4a83b5['options']);return db[_0xfa49('0x28')][_0xfa49('0x42')](_0x47e71d)[_0xfa49('0x22')](handleEntityNotFound(_0x113f85,null))[_0xfa49('0x22')](respondWithResult(_0x113f85,null))['catch'](handleError(_0x113f85,null));};exports[_0xfa49('0x43')]=function(_0x1229df,_0x1f4e25){return db[_0xfa49('0x28')][_0xfa49('0x43')](_0x1229df[_0xfa49('0x44')],{})[_0xfa49('0x22')](respondWithResult(_0x1f4e25,0xc9))[_0xfa49('0x45')](handleError(_0x1f4e25,null));};exports['update']=function(_0xb89474,_0x3e43c0){if(_0xb89474[_0xfa49('0x44')]['id']){delete _0xb89474[_0xfa49('0x44')]['id'];}return db[_0xfa49('0x28')][_0xfa49('0x42')]({'where':{'id':_0xb89474['params']['id']}})[_0xfa49('0x22')](handleEntityNotFound(_0x3e43c0,null))['then'](saveUpdates(_0xb89474[_0xfa49('0x44')],null))[_0xfa49('0x22')](respondWithResult(_0x3e43c0,null))[_0xfa49('0x45')](handleError(_0x3e43c0,null));};exports[_0xfa49('0x46')]=function(_0x3d8835,_0x312bb6){return db[_0xfa49('0x28')][_0xfa49('0x42')]({'where':{'id':_0x3d8835[_0xfa49('0x41')]['id']}})[_0xfa49('0x22')](handleEntityNotFound(_0x312bb6,null))[_0xfa49('0x22')](removeEntity(_0x312bb6,null))[_0xfa49('0x45')](handleError(_0x312bb6,null));};