c2d83d13752376c0253925f8814651a802b33793
[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 _0x9134=['zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','json','offset','undefined','count','limit','Content-Range','reject','save','update','destroy','then','end','error','stack','name','map','DeskField','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','sort','filter','merge','where','VIRTUAL','includeAll','rows','catch','show','params','options','create','body','rimraf'];(function(_0x25df25,_0x2b638e){var _0x4b67fd=function(_0x293f39){while(--_0x293f39){_0x25df25['push'](_0x25df25['shift']());}};_0x4b67fd(++_0x2b638e);}(_0x9134,0x87));var _0x4913=function(_0x2dafbe,_0x5d04de){_0x2dafbe=_0x2dafbe-0x0;var _0x58a45a=_0x9134[_0x2dafbe];return _0x58a45a;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x4913('0x0'));var zipdir=require(_0x4913('0x1'));var jsonpatch=require(_0x4913('0x2'));var rp=require(_0x4913('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x4913('0x4'));var util=require(_0x4913('0x5'));var path=require(_0x4913('0x6'));var sox=require(_0x4913('0x7'));var csv=require(_0x4913('0x8'));var ejs=require(_0x4913('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x4913('0xa'));var squel=require(_0x4913('0xb'));var crypto=require(_0x4913('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x4913('0xd'));var toCsv=require(_0x4913('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x4913('0xe'));var authService=require(_0x4913('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x4913('0x10'));var hardwareService=require(_0x4913('0x11'));var logger=require(_0x4913('0x12'))(_0x4913('0x13'));var utils=require(_0x4913('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x4913('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x23b04f,_0x5ada12){_0x5ada12=_0x5ada12||0xcc;return function(_0x2394e7){if(_0x2394e7){return _0x23b04f[_0x4913('0x16')](_0x5ada12);}return _0x23b04f[_0x4913('0x17')](_0x5ada12)['end']();};}function respondWithResult(_0x3c8dc1,_0x34cc89){_0x34cc89=_0x34cc89||0xc8;return function(_0x525990){if(_0x525990){return _0x3c8dc1['status'](_0x34cc89)[_0x4913('0x18')](_0x525990);}};}function respondWithFilteredResult(_0xa6bd33,_0x270802){return function(_0x41b53c){if(_0x41b53c){var _0x579144=typeof _0x270802[_0x4913('0x19')]===_0x4913('0x1a')&&typeof _0x270802['limit']===_0x4913('0x1a');var _0x504efe=_0x41b53c[_0x4913('0x1b')];var _0x398f2f=_0x579144?0x0:_0x270802['offset'];var _0x366045=_0x579144?_0x41b53c['count']:_0x270802[_0x4913('0x19')]+_0x270802[_0x4913('0x1c')];var _0x3c22de;if(_0x366045>=_0x504efe){_0x366045=_0x504efe;_0x3c22de=0xc8;}else{_0x3c22de=0xce;}_0xa6bd33['status'](_0x3c22de);return _0xa6bd33['set'](_0x4913('0x1d'),_0x398f2f+'-'+_0x366045+'/'+_0x504efe)['json'](_0x41b53c);}return null;};}function patchUpdates(_0xcb1c7a){return function(_0x195f17){try{jsonpatch['apply'](_0x195f17,_0xcb1c7a,!![]);}catch(_0x15935b){return BPromise[_0x4913('0x1e')](_0x15935b);}return _0x195f17[_0x4913('0x1f')]();};}function saveUpdates(_0x12cd8a,_0x2611b8){return function(_0x3c099e){if(_0x3c099e){return _0x3c099e[_0x4913('0x20')](_0x12cd8a)['then'](function(_0x262cab){return _0x262cab;});}return null;};}function removeEntity(_0x53cf21,_0x3d450f){return function(_0x3ff8de){if(_0x3ff8de){return _0x3ff8de[_0x4913('0x21')]()[_0x4913('0x22')](function(){_0x53cf21[_0x4913('0x17')](0xcc)[_0x4913('0x23')]();});}};}function handleEntityNotFound(_0x8f40a9,_0x4139a1){return function(_0x203ba7){if(!_0x203ba7){_0x8f40a9[_0x4913('0x16')](0x194);}return _0x203ba7;};}function handleError(_0x3bb9cd,_0x38a4a2){_0x38a4a2=_0x38a4a2||0x1f4;return function(_0x5afb75){logger[_0x4913('0x24')](_0x5afb75[_0x4913('0x25')]);if(_0x5afb75['name']){delete _0x5afb75[_0x4913('0x26')];}_0x3bb9cd[_0x4913('0x17')](_0x38a4a2)['send'](_0x5afb75);};}exports['index']=function(_0x115f54,_0x1dc1da){var _0x2f74c4={},_0x4c68bf={},_0x2ff818={'count':0x0,'rows':[]};var _0x3c1798=_[_0x4913('0x27')](db[_0x4913('0x28')][_0x4913('0x29')],function(_0x3ba6ea){return{'name':_0x3ba6ea[_0x4913('0x2a')],'type':_0x3ba6ea[_0x4913('0x2b')][_0x4913('0x2c')]};});_0x4c68bf[_0x4913('0x2d')]=_[_0x4913('0x27')](_0x3c1798,_0x4913('0x26'));_0x4c68bf[_0x4913('0x2e')]=_[_0x4913('0x2f')](_0x115f54['query']);_0x4c68bf[_0x4913('0x30')]=_['intersection'](_0x4c68bf['model'],_0x4c68bf[_0x4913('0x2e')]);_0x2f74c4[_0x4913('0x31')]=_[_0x4913('0x32')](_0x4c68bf[_0x4913('0x2d')],qs[_0x4913('0x33')](_0x115f54[_0x4913('0x2e')][_0x4913('0x33')]));_0x2f74c4[_0x4913('0x31')]=_0x2f74c4[_0x4913('0x31')][_0x4913('0x34')]?_0x2f74c4['attributes']:_0x4c68bf[_0x4913('0x2d')];if(!_0x115f54['query'][_0x4913('0x35')](_0x4913('0x36'))){_0x2f74c4['limit']=qs[_0x4913('0x1c')](_0x115f54[_0x4913('0x2e')][_0x4913('0x1c')]);_0x2f74c4[_0x4913('0x19')]=qs['offset'](_0x115f54[_0x4913('0x2e')][_0x4913('0x19')]);}_0x2f74c4['order']=qs[_0x4913('0x37')](_0x115f54['query'][_0x4913('0x37')]);_0x2f74c4['where']=qs['filters'](_['pick'](_0x115f54[_0x4913('0x2e')],_0x4c68bf[_0x4913('0x30')]),_0x3c1798);if(_0x115f54['query'][_0x4913('0x38')]){_0x2f74c4['where']=_[_0x4913('0x39')](_0x2f74c4[_0x4913('0x3a')],{'$or':_[_0x4913('0x27')](_0x3c1798,function(_0x281db4){if(_0x281db4[_0x4913('0x2b')]!==_0x4913('0x3b')){var _0x166b23={};_0x166b23[_0x281db4[_0x4913('0x26')]]={'$like':'%'+_0x115f54[_0x4913('0x2e')][_0x4913('0x38')]+'%'};return _0x166b23;}})});}_0x2f74c4=_[_0x4913('0x39')]({},_0x2f74c4,_0x115f54['options']);var _0x10bcc1={'where':_0x2f74c4[_0x4913('0x3a')]};return db['DeskField'][_0x4913('0x1b')](_0x10bcc1)['then'](function(_0x90c348){_0x2ff818[_0x4913('0x1b')]=_0x90c348;if(_0x115f54['query'][_0x4913('0x3c')]){_0x2f74c4['include']=[{'all':!![]}];}return db[_0x4913('0x28')]['findAll'](_0x2f74c4);})[_0x4913('0x22')](function(_0x51c6c3){_0x2ff818[_0x4913('0x3d')]=_0x51c6c3;return _0x2ff818;})['then'](respondWithFilteredResult(_0x1dc1da,_0x2f74c4))[_0x4913('0x3e')](handleError(_0x1dc1da,null));};exports[_0x4913('0x3f')]=function(_0xa5a5f8,_0x69a188){var _0x354bfa={'raw':!![],'where':{'id':_0xa5a5f8[_0x4913('0x40')]['id']}},_0x4d6536={};_0x4d6536[_0x4913('0x2d')]=_[_0x4913('0x2f')](db[_0x4913('0x28')]['rawAttributes']);_0x4d6536[_0x4913('0x2e')]=_[_0x4913('0x2f')](_0xa5a5f8[_0x4913('0x2e')]);_0x4d6536[_0x4913('0x30')]=_[_0x4913('0x32')](_0x4d6536['model'],_0x4d6536[_0x4913('0x2e')]);_0x354bfa[_0x4913('0x31')]=_[_0x4913('0x32')](_0x4d6536['model'],qs[_0x4913('0x33')](_0xa5a5f8[_0x4913('0x2e')][_0x4913('0x33')]));_0x354bfa[_0x4913('0x31')]=_0x354bfa[_0x4913('0x31')][_0x4913('0x34')]?_0x354bfa[_0x4913('0x31')]:_0x4d6536[_0x4913('0x2d')];if(_0xa5a5f8[_0x4913('0x2e')]['includeAll']){_0x354bfa['include']=[{'all':!![]}];}_0x354bfa=_['merge']({},_0x354bfa,_0xa5a5f8[_0x4913('0x41')]);return db[_0x4913('0x28')]['find'](_0x354bfa)[_0x4913('0x22')](handleEntityNotFound(_0x69a188,null))['then'](respondWithResult(_0x69a188,null))['catch'](handleError(_0x69a188,null));};exports[_0x4913('0x42')]=function(_0x3e9186,_0x38e1e8){return db[_0x4913('0x28')][_0x4913('0x42')](_0x3e9186[_0x4913('0x43')],{})[_0x4913('0x22')](respondWithResult(_0x38e1e8,0xc9))[_0x4913('0x3e')](handleError(_0x38e1e8,null));};exports[_0x4913('0x20')]=function(_0x82d456,_0x23c32d){if(_0x82d456[_0x4913('0x43')]['id']){delete _0x82d456[_0x4913('0x43')]['id'];}return db[_0x4913('0x28')]['find']({'where':{'id':_0x82d456['params']['id']}})[_0x4913('0x22')](handleEntityNotFound(_0x23c32d,null))[_0x4913('0x22')](saveUpdates(_0x82d456['body'],null))['then'](respondWithResult(_0x23c32d,null))[_0x4913('0x3e')](handleError(_0x23c32d,null));};exports[_0x4913('0x21')]=function(_0x2793ec,_0x261eb6){return db[_0x4913('0x28')]['find']({'where':{'id':_0x2793ec[_0x4913('0x40')]['id']}})[_0x4913('0x22')](handleEntityNotFound(_0x261eb6,null))[_0x4913('0x22')](removeEntity(_0x261eb6,null))['catch'](handleError(_0x261eb6,null));};