Built motion from commit (unavailable).|2.4.20
[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 _0x6282=['offset','limit','Content-Range','update','then','end','error','name','send','index','map','DeskField','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','filters','pick','merge','where','VIRTUAL','filter','options','count','includeAll','include','findAll','rows','catch','show','params','rawAttributes','find','create','body','destroy','html-pdf','eml-format','rimraf','zip-dir','moment','bluebird','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','sendStatus','status','json'];(function(_0x4d5f47,_0xfe2b68){var _0xf8e5d9=function(_0x3e4650){while(--_0x3e4650){_0x4d5f47['push'](_0x4d5f47['shift']());}};_0xf8e5d9(++_0xfe2b68);}(_0x6282,0x76));var _0x2628=function(_0x222c93,_0x48b4cc){_0x222c93=_0x222c93-0x0;var _0x30ee50=_0x6282[_0x222c93];return _0x30ee50;};'use strict';var pdf=require(_0x2628('0x0'));var emlformat=require(_0x2628('0x1'));var rimraf=require(_0x2628('0x2'));var zipdir=require(_0x2628('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x2628('0x4'));var BPromise=require(_0x2628('0x5'));var Mustache=require('mustache');var util=require(_0x2628('0x6'));var path=require(_0x2628('0x7'));var sox=require(_0x2628('0x8'));var csv=require(_0x2628('0x9'));var ejs=require(_0x2628('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0x2628('0xb'));var crypto=require(_0x2628('0xc'));var jsforce=require(_0x2628('0xd'));var deskjs=require(_0x2628('0xe'));var toCsv=require(_0x2628('0x9'));var querystring=require(_0x2628('0xf'));var Papa=require(_0x2628('0x10'));var Redis=require(_0x2628('0x11'));var authService=require(_0x2628('0x12'));var qs=require(_0x2628('0x13'));var as=require(_0x2628('0x14'));var hardwareService=require(_0x2628('0x15'));var logger=require(_0x2628('0x16'))(_0x2628('0x17'));var utils=require(_0x2628('0x18'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x395d81,_0x123b61){_0x123b61=_0x123b61||0xcc;return function(_0x340152){if(_0x340152){return _0x395d81[_0x2628('0x19')](_0x123b61);}return _0x395d81['status'](_0x123b61)['end']();};}function respondWithResult(_0x1081a4,_0x465a6f){_0x465a6f=_0x465a6f||0xc8;return function(_0x4d2cfb){if(_0x4d2cfb){return _0x1081a4[_0x2628('0x1a')](_0x465a6f)[_0x2628('0x1b')](_0x4d2cfb);}};}function respondWithFilteredResult(_0x513aee,_0x645884){return function(_0x16e67a){if(_0x16e67a){var _0x457163=_0x16e67a['count'],_0x4f418d=_0x645884[_0x2628('0x1c')],_0x13a728=_0x645884['offset']+_0x645884[_0x2628('0x1d')],_0x1551e4;if(_0x13a728>=_0x457163){_0x13a728=_0x457163;_0x1551e4=0xc8;}else{_0x1551e4=0xce;}_0x513aee[_0x2628('0x1a')](_0x1551e4);return _0x513aee['set'](_0x2628('0x1e'),_0x4f418d+'-'+_0x13a728+'/'+_0x457163)[_0x2628('0x1b')](_0x16e67a);}return null;};}function patchUpdates(_0x51d048){return function(_0x165824){try{jsonpatch['apply'](_0x165824,_0x51d048,!![]);}catch(_0x2066ec){return BPromise['reject'](_0x2066ec);}return _0x165824['save']();};}function saveUpdates(_0xcf0862,_0xd4cec){return function(_0x31c1e6){if(_0x31c1e6){return _0x31c1e6[_0x2628('0x1f')](_0xcf0862)[_0x2628('0x20')](function(_0x1911a2){return _0x1911a2;});}return null;};}function removeEntity(_0x374887,_0x41c2ba){return function(_0x1746fe){if(_0x1746fe){return _0x1746fe['destroy']()[_0x2628('0x20')](function(){_0x374887[_0x2628('0x1a')](0xcc)[_0x2628('0x21')]();});}};}function handleEntityNotFound(_0x3904cb,_0x1abc7e){return function(_0x4bae60){if(!_0x4bae60){_0x3904cb[_0x2628('0x19')](0x194);}return _0x4bae60;};}function handleError(_0x357717,_0xa1ec75){_0xa1ec75=_0xa1ec75||0x1f4;return function(_0xfc2210){logger[_0x2628('0x22')](_0xfc2210['stack']);if(_0xfc2210['name']){delete _0xfc2210[_0x2628('0x23')];}_0x357717[_0x2628('0x1a')](_0xa1ec75)[_0x2628('0x24')](_0xfc2210);};}exports[_0x2628('0x25')]=function(_0x135ed7,_0x571711){var _0x433265={},_0x6146b0={},_0xaa308b={'count':0x0,'rows':[]};var _0x1df2d8=_[_0x2628('0x26')](db[_0x2628('0x27')]['rawAttributes'],function(_0x541eef){return{'name':_0x541eef[_0x2628('0x28')],'type':_0x541eef[_0x2628('0x29')][_0x2628('0x2a')]};});_0x6146b0[_0x2628('0x2b')]=_['map'](_0x1df2d8,_0x2628('0x23'));_0x6146b0[_0x2628('0x2c')]=_[_0x2628('0x2d')](_0x135ed7[_0x2628('0x2c')]);_0x6146b0['filters']=_[_0x2628('0x2e')](_0x6146b0[_0x2628('0x2b')],_0x6146b0[_0x2628('0x2c')]);_0x433265[_0x2628('0x2f')]=_['intersection'](_0x6146b0[_0x2628('0x2b')],qs[_0x2628('0x30')](_0x135ed7[_0x2628('0x2c')][_0x2628('0x30')]));_0x433265[_0x2628('0x2f')]=_0x433265[_0x2628('0x2f')][_0x2628('0x31')]?_0x433265[_0x2628('0x2f')]:_0x6146b0[_0x2628('0x2b')];if(!_0x135ed7['query'][_0x2628('0x32')](_0x2628('0x33'))){_0x433265[_0x2628('0x1d')]=qs[_0x2628('0x1d')](_0x135ed7[_0x2628('0x2c')]['limit']);_0x433265['offset']=qs[_0x2628('0x1c')](_0x135ed7[_0x2628('0x2c')][_0x2628('0x1c')]);}_0x433265['order']=qs[_0x2628('0x34')](_0x135ed7[_0x2628('0x2c')][_0x2628('0x34')]);_0x433265['where']=qs[_0x2628('0x35')](_[_0x2628('0x36')](_0x135ed7[_0x2628('0x2c')],_0x6146b0['filters']));if(_0x135ed7['query']['filter']){_0x433265['where']=_[_0x2628('0x37')](_0x433265[_0x2628('0x38')],{'$or':_[_0x2628('0x26')](_0x1df2d8,function(_0x48acb8){if(_0x48acb8[_0x2628('0x29')]!==_0x2628('0x39')){var _0x2bc716={};_0x2bc716[_0x48acb8['name']]={'$like':'%'+_0x135ed7[_0x2628('0x2c')][_0x2628('0x3a')]+'%'};return _0x2bc716;}})});}_0x433265=_[_0x2628('0x37')]({},_0x433265,_0x135ed7[_0x2628('0x3b')]);var _0xec21c0={'where':_0x433265[_0x2628('0x38')]};return db[_0x2628('0x27')]['count'](_0xec21c0)[_0x2628('0x20')](function(_0x3adf06){_0xaa308b[_0x2628('0x3c')]=_0x3adf06;if(_0x135ed7[_0x2628('0x2c')][_0x2628('0x3d')]){_0x433265[_0x2628('0x3e')]=[{'all':!![]}];}return db['DeskField'][_0x2628('0x3f')](_0x433265);})['then'](function(_0x2ff2aa){_0xaa308b[_0x2628('0x40')]=_0x2ff2aa;return _0xaa308b;})[_0x2628('0x20')](respondWithFilteredResult(_0x571711,_0x433265))[_0x2628('0x41')](handleError(_0x571711,null));};exports[_0x2628('0x42')]=function(_0x4985a6,_0x1f7743){var _0x5caec7={'raw':!![],'where':{'id':_0x4985a6[_0x2628('0x43')]['id']}},_0x5b2375={};_0x5b2375[_0x2628('0x2b')]=_[_0x2628('0x2d')](db[_0x2628('0x27')][_0x2628('0x44')]);_0x5b2375['query']=_[_0x2628('0x2d')](_0x4985a6[_0x2628('0x2c')]);_0x5b2375[_0x2628('0x35')]=_[_0x2628('0x2e')](_0x5b2375[_0x2628('0x2b')],_0x5b2375['query']);_0x5caec7[_0x2628('0x2f')]=_['intersection'](_0x5b2375[_0x2628('0x2b')],qs[_0x2628('0x30')](_0x4985a6[_0x2628('0x2c')][_0x2628('0x30')]));_0x5caec7['attributes']=_0x5caec7['attributes'][_0x2628('0x31')]?_0x5caec7[_0x2628('0x2f')]:_0x5b2375['model'];if(_0x4985a6[_0x2628('0x2c')][_0x2628('0x3d')]){_0x5caec7[_0x2628('0x3e')]=[{'all':!![]}];}_0x5caec7=_[_0x2628('0x37')]({},_0x5caec7,_0x4985a6['options']);return db[_0x2628('0x27')][_0x2628('0x45')](_0x5caec7)[_0x2628('0x20')](handleEntityNotFound(_0x1f7743,null))[_0x2628('0x20')](respondWithResult(_0x1f7743,null))[_0x2628('0x41')](handleError(_0x1f7743,null));};exports[_0x2628('0x46')]=function(_0x309dad,_0x149330){return db['DeskField'][_0x2628('0x46')](_0x309dad['body'],{})[_0x2628('0x20')](respondWithResult(_0x149330,0xc9))['catch'](handleError(_0x149330,null));};exports[_0x2628('0x1f')]=function(_0x166340,_0x1f1234){if(_0x166340[_0x2628('0x47')]['id']){delete _0x166340[_0x2628('0x47')]['id'];}return db['DeskField'][_0x2628('0x45')]({'where':{'id':_0x166340['params']['id']}})[_0x2628('0x20')](handleEntityNotFound(_0x1f1234,null))[_0x2628('0x20')](saveUpdates(_0x166340[_0x2628('0x47')],null))['then'](respondWithResult(_0x1f1234,null))[_0x2628('0x41')](handleError(_0x1f1234,null));};exports[_0x2628('0x48')]=function(_0x547268,_0x199721){return db[_0x2628('0x27')][_0x2628('0x45')]({'where':{'id':_0x547268[_0x2628('0x43')]['id']}})[_0x2628('0x20')](handleEntityNotFound(_0x199721,null))['then'](removeEntity(_0x199721,null))[_0x2628('0x41')](handleError(_0x199721,null));};