95f2c18dd0869b38a56a6ed97780641826a4117e
[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 _0x68fc=['length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','includeAll','include','rows','catch','show','params','find','create','body','html-pdf','eml-format','rimraf','request-promise','bluebird','path','sox','to-csv','ejs','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','apply','reject','save','update','then','destroy','error','stack','name','index','DeskField','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','fields','attributes'];(function(_0xfae23b,_0x2be4ba){var _0x200640=function(_0x4ae258){while(--_0x4ae258){_0xfae23b['push'](_0xfae23b['shift']());}};_0x200640(++_0x2be4ba);}(_0x68fc,0xa5));var _0xc68f=function(_0x39f5da,_0x4bea41){_0x39f5da=_0x39f5da-0x0;var _0x3c31ef=_0x68fc[_0x39f5da];return _0x3c31ef;};'use strict';var pdf=require(_0xc68f('0x0'));var emlformat=require(_0xc68f('0x1'));var rimraf=require(_0xc68f('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xc68f('0x3'));var moment=require('moment');var BPromise=require(_0xc68f('0x4'));var Mustache=require('mustache');var util=require('util');var path=require(_0xc68f('0x5'));var sox=require(_0xc68f('0x6'));var csv=require(_0xc68f('0x7'));var ejs=require(_0xc68f('0x8'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0xc68f('0x9'));var jsforce=require(_0xc68f('0xa'));var deskjs=require(_0xc68f('0xb'));var toCsv=require(_0xc68f('0x7'));var querystring=require(_0xc68f('0xc'));var Papa=require(_0xc68f('0xd'));var Redis=require(_0xc68f('0xe'));var authService=require(_0xc68f('0xf'));var qs=require(_0xc68f('0x10'));var as=require(_0xc68f('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xc68f('0x12'))(_0xc68f('0x13'));var utils=require(_0xc68f('0x14'));var config=require(_0xc68f('0x15'));var db=require(_0xc68f('0x16'))['db'];function respondWithStatusCode(_0x2a0a52,_0x3ccebe){_0x3ccebe=_0x3ccebe||0xcc;return function(_0x41aeb8){if(_0x41aeb8){return _0x2a0a52[_0xc68f('0x17')](_0x3ccebe);}return _0x2a0a52[_0xc68f('0x18')](_0x3ccebe)[_0xc68f('0x19')]();};}function respondWithResult(_0x55b0a0,_0x2ea1c4){_0x2ea1c4=_0x2ea1c4||0xc8;return function(_0x90ccbd){if(_0x90ccbd){return _0x55b0a0[_0xc68f('0x18')](_0x2ea1c4)[_0xc68f('0x1a')](_0x90ccbd);}};}function respondWithFilteredResult(_0x286ed4,_0x2673b4){return function(_0x3d1406){if(_0x3d1406){var _0x209d16=_0x3d1406[_0xc68f('0x1b')],_0x4648c6=_0x2673b4[_0xc68f('0x1c')],_0x5e1e5b=_0x2673b4[_0xc68f('0x1c')]+_0x2673b4[_0xc68f('0x1d')],_0x541828;if(_0x5e1e5b>=_0x209d16){_0x5e1e5b=_0x209d16;_0x541828=0xc8;}else{_0x541828=0xce;}_0x286ed4[_0xc68f('0x18')](_0x541828);return _0x286ed4[_0xc68f('0x1e')]('Content-Range',_0x4648c6+'-'+_0x5e1e5b+'/'+_0x209d16)[_0xc68f('0x1a')](_0x3d1406);}return null;};}function patchUpdates(_0x398b35){return function(_0x2acad7){try{jsonpatch[_0xc68f('0x1f')](_0x2acad7,_0x398b35,!![]);}catch(_0x5068fd){return BPromise[_0xc68f('0x20')](_0x5068fd);}return _0x2acad7[_0xc68f('0x21')]();};}function saveUpdates(_0x3c32c8,_0x582301){return function(_0xcc11a3){if(_0xcc11a3){return _0xcc11a3[_0xc68f('0x22')](_0x3c32c8)[_0xc68f('0x23')](function(_0x540ef2){return _0x540ef2;});}return null;};}function removeEntity(_0x1dad07,_0x1daac5){return function(_0x116203){if(_0x116203){return _0x116203[_0xc68f('0x24')]()[_0xc68f('0x23')](function(){_0x1dad07[_0xc68f('0x18')](0xcc)[_0xc68f('0x19')]();});}};}function handleEntityNotFound(_0x547d46,_0x38c3a0){return function(_0x288957){if(!_0x288957){_0x547d46['sendStatus'](0x194);}return _0x288957;};}function handleError(_0x13dd7c,_0x8399e6){_0x8399e6=_0x8399e6||0x1f4;return function(_0x35945b){logger[_0xc68f('0x25')](_0x35945b[_0xc68f('0x26')]);if(_0x35945b['name']){delete _0x35945b[_0xc68f('0x27')];}_0x13dd7c[_0xc68f('0x18')](_0x8399e6)['send'](_0x35945b);};}exports[_0xc68f('0x28')]=function(_0x27e5b8,_0x4d26e3){var _0x3f6c07={},_0xdde47e={},_0x2a4a5d={'count':0x0,'rows':[]};var _0x3abc1e=_['map'](db[_0xc68f('0x29')][_0xc68f('0x2a')],function(_0x26003a){return{'name':_0x26003a[_0xc68f('0x2b')],'type':_0x26003a[_0xc68f('0x2c')][_0xc68f('0x2d')]};});_0xdde47e[_0xc68f('0x2e')]=_[_0xc68f('0x2f')](_0x3abc1e,'name');_0xdde47e[_0xc68f('0x30')]=_[_0xc68f('0x31')](_0x27e5b8['query']);_0xdde47e[_0xc68f('0x32')]=_[_0xc68f('0x33')](_0xdde47e[_0xc68f('0x2e')],_0xdde47e[_0xc68f('0x30')]);_0x3f6c07['attributes']=_[_0xc68f('0x33')](_0xdde47e[_0xc68f('0x2e')],qs['fields'](_0x27e5b8[_0xc68f('0x30')][_0xc68f('0x34')]));_0x3f6c07[_0xc68f('0x35')]=_0x3f6c07[_0xc68f('0x35')][_0xc68f('0x36')]?_0x3f6c07['attributes']:_0xdde47e['model'];if(!_0x27e5b8[_0xc68f('0x30')][_0xc68f('0x37')](_0xc68f('0x38'))){_0x3f6c07[_0xc68f('0x1d')]=qs[_0xc68f('0x1d')](_0x27e5b8['query']['limit']);_0x3f6c07[_0xc68f('0x1c')]=qs['offset'](_0x27e5b8[_0xc68f('0x30')][_0xc68f('0x1c')]);}_0x3f6c07[_0xc68f('0x39')]=qs[_0xc68f('0x3a')](_0x27e5b8[_0xc68f('0x30')][_0xc68f('0x3a')]);_0x3f6c07[_0xc68f('0x3b')]=qs['filters'](_[_0xc68f('0x3c')](_0x27e5b8[_0xc68f('0x30')],_0xdde47e[_0xc68f('0x32')]));if(_0x27e5b8[_0xc68f('0x30')][_0xc68f('0x3d')]){_0x3f6c07[_0xc68f('0x3b')]=_[_0xc68f('0x3e')](_0x3f6c07[_0xc68f('0x3b')],{'$or':_[_0xc68f('0x2f')](_0x3abc1e,function(_0x1ba33b){if(_0x1ba33b[_0xc68f('0x2c')]!=='VIRTUAL'){var _0x5e0ae8={};_0x5e0ae8[_0x1ba33b['name']]={'$like':'%'+_0x27e5b8[_0xc68f('0x30')][_0xc68f('0x3d')]+'%'};return _0x5e0ae8;}})});}_0x3f6c07=_[_0xc68f('0x3e')]({},_0x3f6c07,_0x27e5b8[_0xc68f('0x3f')]);var _0x49222d={'where':_0x3f6c07[_0xc68f('0x3b')]};return db[_0xc68f('0x29')][_0xc68f('0x1b')](_0x49222d)['then'](function(_0x2be5d5){_0x2a4a5d[_0xc68f('0x1b')]=_0x2be5d5;if(_0x27e5b8['query'][_0xc68f('0x40')]){_0x3f6c07[_0xc68f('0x41')]=[{'all':!![]}];}return db[_0xc68f('0x29')]['findAll'](_0x3f6c07);})[_0xc68f('0x23')](function(_0x25b779){_0x2a4a5d[_0xc68f('0x42')]=_0x25b779;return _0x2a4a5d;})[_0xc68f('0x23')](respondWithFilteredResult(_0x4d26e3,_0x3f6c07))[_0xc68f('0x43')](handleError(_0x4d26e3,null));};exports[_0xc68f('0x44')]=function(_0x4b10e,_0x5e1af9){var _0x192942={'raw':!![],'where':{'id':_0x4b10e[_0xc68f('0x45')]['id']}},_0x40777c={};_0x40777c[_0xc68f('0x2e')]=_[_0xc68f('0x31')](db[_0xc68f('0x29')][_0xc68f('0x2a')]);_0x40777c[_0xc68f('0x30')]=_[_0xc68f('0x31')](_0x4b10e['query']);_0x40777c[_0xc68f('0x32')]=_[_0xc68f('0x33')](_0x40777c[_0xc68f('0x2e')],_0x40777c[_0xc68f('0x30')]);_0x192942[_0xc68f('0x35')]=_[_0xc68f('0x33')](_0x40777c[_0xc68f('0x2e')],qs['fields'](_0x4b10e[_0xc68f('0x30')]['fields']));_0x192942['attributes']=_0x192942[_0xc68f('0x35')][_0xc68f('0x36')]?_0x192942['attributes']:_0x40777c['model'];if(_0x4b10e[_0xc68f('0x30')][_0xc68f('0x40')]){_0x192942[_0xc68f('0x41')]=[{'all':!![]}];}_0x192942=_[_0xc68f('0x3e')]({},_0x192942,_0x4b10e[_0xc68f('0x3f')]);return db[_0xc68f('0x29')][_0xc68f('0x46')](_0x192942)[_0xc68f('0x23')](handleEntityNotFound(_0x5e1af9,null))[_0xc68f('0x23')](respondWithResult(_0x5e1af9,null))[_0xc68f('0x43')](handleError(_0x5e1af9,null));};exports[_0xc68f('0x47')]=function(_0x54d7d4,_0x414e47){return db['DeskField'][_0xc68f('0x47')](_0x54d7d4[_0xc68f('0x48')],{})['then'](respondWithResult(_0x414e47,0xc9))[_0xc68f('0x43')](handleError(_0x414e47,null));};exports[_0xc68f('0x22')]=function(_0x28e8ef,_0x2f19cf){if(_0x28e8ef[_0xc68f('0x48')]['id']){delete _0x28e8ef[_0xc68f('0x48')]['id'];}return db[_0xc68f('0x29')][_0xc68f('0x46')]({'where':{'id':_0x28e8ef['params']['id']}})[_0xc68f('0x23')](handleEntityNotFound(_0x2f19cf,null))[_0xc68f('0x23')](saveUpdates(_0x28e8ef[_0xc68f('0x48')],null))['then'](respondWithResult(_0x2f19cf,null))['catch'](handleError(_0x2f19cf,null));};exports['destroy']=function(_0x27ca32,_0x237327){return db['DeskField'][_0xc68f('0x46')]({'where':{'id':_0x27ca32['params']['id']}})[_0xc68f('0x23')](handleEntityNotFound(_0x237327,null))[_0xc68f('0x23')](removeEntity(_0x237327,null))[_0xc68f('0x43')](handleError(_0x237327,null));};