c3b246ec3b7371a0e51ccd0bd7e7aae67c0d0fe3
[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 _0xef8c=['model','query','keys','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','filters','filter','merge','VIRTUAL','options','count','includeAll','include','findAll','rows','catch','show','params','find','create','body','destroy','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','json','offset','limit','set','apply','reject','save','update','then','status','error','stack','name','send','index','map','DeskField','rawAttributes','fieldName','type','key'];(function(_0x2388b3,_0x16c55f){var _0x196bc6=function(_0x176a88){while(--_0x176a88){_0x2388b3['push'](_0x2388b3['shift']());}};_0x196bc6(++_0x16c55f);}(_0xef8c,0x1a7));var _0xcef8=function(_0x1e4f2f,_0x35edfa){_0x1e4f2f=_0x1e4f2f-0x0;var _0xccea89=_0xef8c[_0x1e4f2f];return _0xccea89;};'use strict';var pdf=require(_0xcef8('0x0'));var emlformat=require(_0xcef8('0x1'));var rimraf=require(_0xcef8('0x2'));var zipdir=require(_0xcef8('0x3'));var jsonpatch=require(_0xcef8('0x4'));var rp=require('request-promise');var moment=require(_0xcef8('0x5'));var BPromise=require(_0xcef8('0x6'));var Mustache=require(_0xcef8('0x7'));var util=require(_0xcef8('0x8'));var path=require(_0xcef8('0x9'));var sox=require(_0xcef8('0xa'));var csv=require(_0xcef8('0xb'));var ejs=require(_0xcef8('0xc'));var fs=require('fs');var _=require(_0xcef8('0xd'));var squel=require(_0xcef8('0xe'));var crypto=require('crypto');var jsforce=require(_0xcef8('0xf'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xcef8('0x10'));var Papa=require(_0xcef8('0x11'));var Redis=require(_0xcef8('0x12'));var authService=require(_0xcef8('0x13'));var qs=require(_0xcef8('0x14'));var as=require(_0xcef8('0x15'));var hardwareService=require(_0xcef8('0x16'));var logger=require(_0xcef8('0x17'))(_0xcef8('0x18'));var utils=require('../../config/utils');var config=require(_0xcef8('0x19'));var licenseUtil=require(_0xcef8('0x1a'));var db=require(_0xcef8('0x1b'))['db'];function respondWithStatusCode(_0x2fd3a3,_0x4c4452){_0x4c4452=_0x4c4452||0xcc;return function(_0x21d769){if(_0x21d769){return _0x2fd3a3[_0xcef8('0x1c')](_0x4c4452);}return _0x2fd3a3['status'](_0x4c4452)[_0xcef8('0x1d')]();};}function respondWithResult(_0xe8581a,_0x13a34c){_0x13a34c=_0x13a34c||0xc8;return function(_0x17b5e3){if(_0x17b5e3){return _0xe8581a['status'](_0x13a34c)[_0xcef8('0x1e')](_0x17b5e3);}};}function respondWithFilteredResult(_0x12429e,_0x517766){return function(_0x5f3d21){if(_0x5f3d21){var _0x3825bf=_0x5f3d21['count'],_0x195314=_0x517766[_0xcef8('0x1f')],_0x589849=_0x517766[_0xcef8('0x1f')]+_0x517766[_0xcef8('0x20')],_0x227230;if(_0x589849>=_0x3825bf){_0x589849=_0x3825bf;_0x227230=0xc8;}else{_0x227230=0xce;}_0x12429e['status'](_0x227230);return _0x12429e[_0xcef8('0x21')]('Content-Range',_0x195314+'-'+_0x589849+'/'+_0x3825bf)['json'](_0x5f3d21);}return null;};}function patchUpdates(_0x3a8609){return function(_0x1f6c96){try{jsonpatch[_0xcef8('0x22')](_0x1f6c96,_0x3a8609,!![]);}catch(_0x117f85){return BPromise[_0xcef8('0x23')](_0x117f85);}return _0x1f6c96[_0xcef8('0x24')]();};}function saveUpdates(_0x188a6d,_0x368b2c){return function(_0x26eedb){if(_0x26eedb){return _0x26eedb[_0xcef8('0x25')](_0x188a6d)[_0xcef8('0x26')](function(_0xeaf663){return _0xeaf663;});}return null;};}function removeEntity(_0x147ff3,_0x40eff9){return function(_0x1b53ce){if(_0x1b53ce){return _0x1b53ce['destroy']()[_0xcef8('0x26')](function(){_0x147ff3[_0xcef8('0x27')](0xcc)[_0xcef8('0x1d')]();});}};}function handleEntityNotFound(_0x4da1e0,_0x46862f){return function(_0x25fda0){if(!_0x25fda0){_0x4da1e0[_0xcef8('0x1c')](0x194);}return _0x25fda0;};}function handleError(_0x1b9f33,_0x453110){_0x453110=_0x453110||0x1f4;return function(_0xdd5b5){logger[_0xcef8('0x28')](_0xdd5b5[_0xcef8('0x29')]);if(_0xdd5b5[_0xcef8('0x2a')]){delete _0xdd5b5[_0xcef8('0x2a')];}_0x1b9f33[_0xcef8('0x27')](_0x453110)[_0xcef8('0x2b')](_0xdd5b5);};}exports[_0xcef8('0x2c')]=function(_0x42c0fc,_0x1e57f0){var _0x5bd10f={},_0x3c83b6={},_0xf2c4b0={'count':0x0,'rows':[]};var _0x5f54ff=_[_0xcef8('0x2d')](db[_0xcef8('0x2e')][_0xcef8('0x2f')],function(_0x5795d2){return{'name':_0x5795d2[_0xcef8('0x30')],'type':_0x5795d2[_0xcef8('0x31')][_0xcef8('0x32')]};});_0x3c83b6[_0xcef8('0x33')]=_[_0xcef8('0x2d')](_0x5f54ff,_0xcef8('0x2a'));_0x3c83b6[_0xcef8('0x34')]=_[_0xcef8('0x35')](_0x42c0fc[_0xcef8('0x34')]);_0x3c83b6['filters']=_[_0xcef8('0x36')](_0x3c83b6[_0xcef8('0x33')],_0x3c83b6[_0xcef8('0x34')]);_0x5bd10f['attributes']=_[_0xcef8('0x36')](_0x3c83b6[_0xcef8('0x33')],qs['fields'](_0x42c0fc[_0xcef8('0x34')][_0xcef8('0x37')]));_0x5bd10f[_0xcef8('0x38')]=_0x5bd10f[_0xcef8('0x38')][_0xcef8('0x39')]?_0x5bd10f[_0xcef8('0x38')]:_0x3c83b6['model'];if(!_0x42c0fc['query'][_0xcef8('0x3a')]('nolimit')){_0x5bd10f[_0xcef8('0x20')]=qs[_0xcef8('0x20')](_0x42c0fc[_0xcef8('0x34')][_0xcef8('0x20')]);_0x5bd10f[_0xcef8('0x1f')]=qs[_0xcef8('0x1f')](_0x42c0fc['query'][_0xcef8('0x1f')]);}_0x5bd10f[_0xcef8('0x3b')]=qs[_0xcef8('0x3c')](_0x42c0fc[_0xcef8('0x34')][_0xcef8('0x3c')]);_0x5bd10f[_0xcef8('0x3d')]=qs[_0xcef8('0x3e')](_['pick'](_0x42c0fc[_0xcef8('0x34')],_0x3c83b6[_0xcef8('0x3e')]),_0x5f54ff);if(_0x42c0fc[_0xcef8('0x34')][_0xcef8('0x3f')]){_0x5bd10f[_0xcef8('0x3d')]=_[_0xcef8('0x40')](_0x5bd10f[_0xcef8('0x3d')],{'$or':_[_0xcef8('0x2d')](_0x5f54ff,function(_0x473796){if(_0x473796[_0xcef8('0x31')]!==_0xcef8('0x41')){var _0x1252ad={};_0x1252ad[_0x473796[_0xcef8('0x2a')]]={'$like':'%'+_0x42c0fc['query'][_0xcef8('0x3f')]+'%'};return _0x1252ad;}})});}_0x5bd10f=_['merge']({},_0x5bd10f,_0x42c0fc[_0xcef8('0x42')]);var _0x11e5e6={'where':_0x5bd10f['where']};return db['DeskField'][_0xcef8('0x43')](_0x11e5e6)[_0xcef8('0x26')](function(_0x35d3c6){_0xf2c4b0['count']=_0x35d3c6;if(_0x42c0fc['query'][_0xcef8('0x44')]){_0x5bd10f[_0xcef8('0x45')]=[{'all':!![]}];}return db[_0xcef8('0x2e')][_0xcef8('0x46')](_0x5bd10f);})[_0xcef8('0x26')](function(_0x37ddca){_0xf2c4b0[_0xcef8('0x47')]=_0x37ddca;return _0xf2c4b0;})[_0xcef8('0x26')](respondWithFilteredResult(_0x1e57f0,_0x5bd10f))[_0xcef8('0x48')](handleError(_0x1e57f0,null));};exports[_0xcef8('0x49')]=function(_0x1881b0,_0x5a4848){var _0x37808a={'raw':!![],'where':{'id':_0x1881b0[_0xcef8('0x4a')]['id']}},_0x20be52={};_0x20be52[_0xcef8('0x33')]=_[_0xcef8('0x35')](db[_0xcef8('0x2e')][_0xcef8('0x2f')]);_0x20be52[_0xcef8('0x34')]=_['keys'](_0x1881b0[_0xcef8('0x34')]);_0x20be52['filters']=_[_0xcef8('0x36')](_0x20be52[_0xcef8('0x33')],_0x20be52['query']);_0x37808a[_0xcef8('0x38')]=_[_0xcef8('0x36')](_0x20be52[_0xcef8('0x33')],qs[_0xcef8('0x37')](_0x1881b0['query'][_0xcef8('0x37')]));_0x37808a[_0xcef8('0x38')]=_0x37808a['attributes']['length']?_0x37808a[_0xcef8('0x38')]:_0x20be52[_0xcef8('0x33')];if(_0x1881b0[_0xcef8('0x34')][_0xcef8('0x44')]){_0x37808a[_0xcef8('0x45')]=[{'all':!![]}];}_0x37808a=_[_0xcef8('0x40')]({},_0x37808a,_0x1881b0['options']);return db[_0xcef8('0x2e')][_0xcef8('0x4b')](_0x37808a)[_0xcef8('0x26')](handleEntityNotFound(_0x5a4848,null))[_0xcef8('0x26')](respondWithResult(_0x5a4848,null))[_0xcef8('0x48')](handleError(_0x5a4848,null));};exports['create']=function(_0x7bfd2d,_0x1781c1){return db['DeskField'][_0xcef8('0x4c')](_0x7bfd2d[_0xcef8('0x4d')],{})[_0xcef8('0x26')](respondWithResult(_0x1781c1,0xc9))[_0xcef8('0x48')](handleError(_0x1781c1,null));};exports[_0xcef8('0x25')]=function(_0x5a32f5,_0x204515){if(_0x5a32f5[_0xcef8('0x4d')]['id']){delete _0x5a32f5['body']['id'];}return db['DeskField'][_0xcef8('0x4b')]({'where':{'id':_0x5a32f5['params']['id']}})[_0xcef8('0x26')](handleEntityNotFound(_0x204515,null))['then'](saveUpdates(_0x5a32f5[_0xcef8('0x4d')],null))[_0xcef8('0x26')](respondWithResult(_0x204515,null))[_0xcef8('0x48')](handleError(_0x204515,null));};exports[_0xcef8('0x4e')]=function(_0x3c0453,_0x4ab8e4){return db[_0xcef8('0x2e')]['find']({'where':{'id':_0x3c0453[_0xcef8('0x4a')]['id']}})['then'](handleEntityNotFound(_0x4ab8e4,null))[_0xcef8('0x26')](removeEntity(_0x4ab8e4,null))[_0xcef8('0x48')](handleError(_0x4ab8e4,null));};