cc4362a41e91c74ccf48b71ec1c53c0c6e12bcd0
[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 _0x6d10=['rows','catch','show','keys','find','create','body','params','destroy','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','end','json','offset','limit','set','save','update','then','status','sendStatus','error','name','send','index','map','DeskField','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filter','merge','options','count','includeAll','include'];(function(_0x346737,_0x3e6081){var _0x1ade2e=function(_0x15e50e){while(--_0x15e50e){_0x346737['push'](_0x346737['shift']());}};_0x1ade2e(++_0x3e6081);}(_0x6d10,0xe7));var _0x06d1=function(_0x286fd1,_0x49f769){_0x286fd1=_0x286fd1-0x0;var _0x3e8585=_0x6d10[_0x286fd1];return _0x3e8585;};'use strict';var pdf=require(_0x06d1('0x0'));var emlformat=require(_0x06d1('0x1'));var rimraf=require(_0x06d1('0x2'));var zipdir=require(_0x06d1('0x3'));var jsonpatch=require(_0x06d1('0x4'));var rp=require(_0x06d1('0x5'));var moment=require(_0x06d1('0x6'));var BPromise=require(_0x06d1('0x7'));var Mustache=require(_0x06d1('0x8'));var util=require(_0x06d1('0x9'));var path=require(_0x06d1('0xa'));var sox=require(_0x06d1('0xb'));var csv=require(_0x06d1('0xc'));var ejs=require(_0x06d1('0xd'));var fs=require('fs');var _=require(_0x06d1('0xe'));var squel=require(_0x06d1('0xf'));var crypto=require(_0x06d1('0x10'));var jsforce=require(_0x06d1('0x11'));var deskjs=require(_0x06d1('0x12'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x06d1('0x13'));var Redis=require(_0x06d1('0x14'));var authService=require(_0x06d1('0x15'));var qs=require('../../components/parsers/qs');var as=require(_0x06d1('0x16'));var hardwareService=require(_0x06d1('0x17'));var logger=require(_0x06d1('0x18'))('api');var utils=require(_0x06d1('0x19'));var config=require(_0x06d1('0x1a'));var db=require(_0x06d1('0x1b'))['db'];function respondWithStatusCode(_0x3d236a,_0x4efd16){_0x4efd16=_0x4efd16||0xcc;return function(_0x409138){if(_0x409138){return _0x3d236a['sendStatus'](_0x4efd16);}return _0x3d236a['status'](_0x4efd16)[_0x06d1('0x1c')]();};}function respondWithResult(_0xab6866,_0x3b5ec2){_0x3b5ec2=_0x3b5ec2||0xc8;return function(_0x27d916){if(_0x27d916){return _0xab6866['status'](_0x3b5ec2)[_0x06d1('0x1d')](_0x27d916);}};}function respondWithFilteredResult(_0x4f880c,_0x40f56e){return function(_0x3e2031){if(_0x3e2031){var _0x5bd3cb=_0x3e2031['count'],_0x4d1f95=_0x40f56e[_0x06d1('0x1e')],_0x4031ad=_0x40f56e['offset']+_0x40f56e[_0x06d1('0x1f')],_0x926acc;if(_0x4031ad>=_0x5bd3cb){_0x4031ad=_0x5bd3cb;_0x926acc=0xc8;}else{_0x926acc=0xce;}_0x4f880c['status'](_0x926acc);return _0x4f880c[_0x06d1('0x20')]('Content-Range',_0x4d1f95+'-'+_0x4031ad+'/'+_0x5bd3cb)[_0x06d1('0x1d')](_0x3e2031);}return null;};}function patchUpdates(_0x3dac1d){return function(_0x3bad8a){try{jsonpatch['apply'](_0x3bad8a,_0x3dac1d,!![]);}catch(_0x4e8d2a){return BPromise['reject'](_0x4e8d2a);}return _0x3bad8a[_0x06d1('0x21')]();};}function saveUpdates(_0x4c37eb,_0x32b423){return function(_0x5c47fc){if(_0x5c47fc){return _0x5c47fc[_0x06d1('0x22')](_0x4c37eb)[_0x06d1('0x23')](function(_0x183539){return _0x183539;});}return null;};}function removeEntity(_0x1a1076,_0x550c09){return function(_0x3616c8){if(_0x3616c8){return _0x3616c8['destroy']()[_0x06d1('0x23')](function(){_0x1a1076[_0x06d1('0x24')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5a8d49,_0x564e30){return function(_0x31ec34){if(!_0x31ec34){_0x5a8d49[_0x06d1('0x25')](0x194);}return _0x31ec34;};}function handleError(_0xe3c6fa,_0x3672b6){_0x3672b6=_0x3672b6||0x1f4;return function(_0x57ff08){logger[_0x06d1('0x26')](_0x57ff08['stack']);if(_0x57ff08['name']){delete _0x57ff08[_0x06d1('0x27')];}_0xe3c6fa[_0x06d1('0x24')](_0x3672b6)[_0x06d1('0x28')](_0x57ff08);};}exports[_0x06d1('0x29')]=function(_0x33ec63,_0x4111ab){var _0xf399e7={},_0x87d97e={},_0x48dcc6={'count':0x0,'rows':[]};var _0x324e35=_[_0x06d1('0x2a')](db[_0x06d1('0x2b')][_0x06d1('0x2c')],function(_0x1634ab){return{'name':_0x1634ab[_0x06d1('0x2d')],'type':_0x1634ab[_0x06d1('0x2e')][_0x06d1('0x2f')]};});_0x87d97e[_0x06d1('0x30')]=_[_0x06d1('0x2a')](_0x324e35,'name');_0x87d97e[_0x06d1('0x31')]=_['keys'](_0x33ec63[_0x06d1('0x31')]);_0x87d97e[_0x06d1('0x32')]=_[_0x06d1('0x33')](_0x87d97e[_0x06d1('0x30')],_0x87d97e[_0x06d1('0x31')]);_0xf399e7[_0x06d1('0x34')]=_['intersection'](_0x87d97e[_0x06d1('0x30')],qs[_0x06d1('0x35')](_0x33ec63[_0x06d1('0x31')][_0x06d1('0x35')]));_0xf399e7[_0x06d1('0x34')]=_0xf399e7[_0x06d1('0x34')]['length']?_0xf399e7['attributes']:_0x87d97e[_0x06d1('0x30')];if(!_0x33ec63[_0x06d1('0x31')][_0x06d1('0x36')](_0x06d1('0x37'))){_0xf399e7['limit']=qs[_0x06d1('0x1f')](_0x33ec63[_0x06d1('0x31')][_0x06d1('0x1f')]);_0xf399e7['offset']=qs[_0x06d1('0x1e')](_0x33ec63[_0x06d1('0x31')][_0x06d1('0x1e')]);}_0xf399e7[_0x06d1('0x38')]=qs[_0x06d1('0x39')](_0x33ec63['query']['sort']);_0xf399e7[_0x06d1('0x3a')]=qs['filters'](_['pick'](_0x33ec63['query'],_0x87d97e[_0x06d1('0x32')]),_0x324e35);if(_0x33ec63['query'][_0x06d1('0x3b')]){_0xf399e7[_0x06d1('0x3a')]=_[_0x06d1('0x3c')](_0xf399e7[_0x06d1('0x3a')],{'$or':_['map'](_0x324e35,function(_0x46a325){if(_0x46a325['type']!=='VIRTUAL'){var _0x285044={};_0x285044[_0x46a325['name']]={'$like':'%'+_0x33ec63[_0x06d1('0x31')][_0x06d1('0x3b')]+'%'};return _0x285044;}})});}_0xf399e7=_[_0x06d1('0x3c')]({},_0xf399e7,_0x33ec63[_0x06d1('0x3d')]);var _0x319e43={'where':_0xf399e7[_0x06d1('0x3a')]};return db['DeskField'][_0x06d1('0x3e')](_0x319e43)[_0x06d1('0x23')](function(_0x3a4054){_0x48dcc6[_0x06d1('0x3e')]=_0x3a4054;if(_0x33ec63['query'][_0x06d1('0x3f')]){_0xf399e7[_0x06d1('0x40')]=[{'all':!![]}];}return db[_0x06d1('0x2b')]['findAll'](_0xf399e7);})[_0x06d1('0x23')](function(_0x15ba5e){_0x48dcc6[_0x06d1('0x41')]=_0x15ba5e;return _0x48dcc6;})[_0x06d1('0x23')](respondWithFilteredResult(_0x4111ab,_0xf399e7))[_0x06d1('0x42')](handleError(_0x4111ab,null));};exports[_0x06d1('0x43')]=function(_0x41cdbd,_0x56ca13){var _0x44d2b5={'raw':!![],'where':{'id':_0x41cdbd['params']['id']}},_0x24ab7a={};_0x24ab7a[_0x06d1('0x30')]=_[_0x06d1('0x44')](db[_0x06d1('0x2b')][_0x06d1('0x2c')]);_0x24ab7a[_0x06d1('0x31')]=_[_0x06d1('0x44')](_0x41cdbd[_0x06d1('0x31')]);_0x24ab7a['filters']=_[_0x06d1('0x33')](_0x24ab7a[_0x06d1('0x30')],_0x24ab7a[_0x06d1('0x31')]);_0x44d2b5[_0x06d1('0x34')]=_[_0x06d1('0x33')](_0x24ab7a['model'],qs[_0x06d1('0x35')](_0x41cdbd[_0x06d1('0x31')][_0x06d1('0x35')]));_0x44d2b5[_0x06d1('0x34')]=_0x44d2b5['attributes']['length']?_0x44d2b5[_0x06d1('0x34')]:_0x24ab7a[_0x06d1('0x30')];if(_0x41cdbd[_0x06d1('0x31')][_0x06d1('0x3f')]){_0x44d2b5[_0x06d1('0x40')]=[{'all':!![]}];}_0x44d2b5=_['merge']({},_0x44d2b5,_0x41cdbd[_0x06d1('0x3d')]);return db['DeskField'][_0x06d1('0x45')](_0x44d2b5)[_0x06d1('0x23')](handleEntityNotFound(_0x56ca13,null))[_0x06d1('0x23')](respondWithResult(_0x56ca13,null))[_0x06d1('0x42')](handleError(_0x56ca13,null));};exports['create']=function(_0x527a93,_0x5b805c){return db[_0x06d1('0x2b')][_0x06d1('0x46')](_0x527a93['body'],{})[_0x06d1('0x23')](respondWithResult(_0x5b805c,0xc9))['catch'](handleError(_0x5b805c,null));};exports['update']=function(_0x1b37b7,_0x1fd4d7){if(_0x1b37b7['body']['id']){delete _0x1b37b7[_0x06d1('0x47')]['id'];}return db[_0x06d1('0x2b')]['find']({'where':{'id':_0x1b37b7[_0x06d1('0x48')]['id']}})[_0x06d1('0x23')](handleEntityNotFound(_0x1fd4d7,null))[_0x06d1('0x23')](saveUpdates(_0x1b37b7[_0x06d1('0x47')],null))['then'](respondWithResult(_0x1fd4d7,null))['catch'](handleError(_0x1fd4d7,null));};exports[_0x06d1('0x49')]=function(_0x3fc715,_0x107659){return db[_0x06d1('0x2b')][_0x06d1('0x45')]({'where':{'id':_0x3fc715[_0x06d1('0x48')]['id']}})[_0x06d1('0x23')](handleEntityNotFound(_0x107659,null))['then'](removeEntity(_0x107659,null))['catch'](handleError(_0x107659,null));};