e94796b4b33c8014a84a10eba7a7082ec177fd7d
[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 _0x89b2=['destroy','sendStatus','error','stack','name','send','index','DeskField','rawAttributes','fieldName','type','model','query','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick','filter','map','VIRTUAL','merge','options','then','includeAll','findAll','show','params','keys','length','include','find','catch','create','body','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/environment','../../config/license/util','status','end','json','offset','undefined','count','limit','apply','reject','save','update'];(function(_0x292ace,_0x57bef5){var _0x2dc4e6=function(_0x59cdff){while(--_0x59cdff){_0x292ace['push'](_0x292ace['shift']());}};_0x2dc4e6(++_0x57bef5);}(_0x89b2,0x1de));var _0x289b=function(_0x1bcd44,_0x19c738){_0x1bcd44=_0x1bcd44-0x0;var _0x517db7=_0x89b2[_0x1bcd44];return _0x517db7;};'use strict';var emlformat=require(_0x289b('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x289b('0x1'));var jsonpatch=require(_0x289b('0x2'));var rp=require(_0x289b('0x3'));var moment=require(_0x289b('0x4'));var BPromise=require(_0x289b('0x5'));var Mustache=require('mustache');var util=require(_0x289b('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x289b('0x7'));var ejs=require(_0x289b('0x8'));var fs=require('fs');var fs_extra=require(_0x289b('0x9'));var _=require(_0x289b('0xa'));var squel=require(_0x289b('0xb'));var crypto=require(_0x289b('0xc'));var jsforce=require(_0x289b('0xd'));var deskjs=require(_0x289b('0xe'));var toCsv=require(_0x289b('0x7'));var querystring=require(_0x289b('0xf'));var Papa=require('papaparse');var Redis=require(_0x289b('0x10'));var authService=require(_0x289b('0x11'));var qs=require(_0x289b('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x289b('0x13'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0x289b('0x14'));var licenseUtil=require(_0x289b('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4bc2c1,_0x299529){_0x299529=_0x299529||0xcc;return function(_0x458b53){if(_0x458b53){return _0x4bc2c1['sendStatus'](_0x299529);}return _0x4bc2c1[_0x289b('0x16')](_0x299529)[_0x289b('0x17')]();};}function respondWithResult(_0x173c20,_0x5d237e){_0x5d237e=_0x5d237e||0xc8;return function(_0x138e26){if(_0x138e26){return _0x173c20['status'](_0x5d237e)[_0x289b('0x18')](_0x138e26);}};}function respondWithFilteredResult(_0x1f51af,_0x28e428){return function(_0x1ebe6c){if(_0x1ebe6c){var _0xccd781=typeof _0x28e428[_0x289b('0x19')]==='undefined'&&typeof _0x28e428['limit']===_0x289b('0x1a');var _0x453e9a=_0x1ebe6c['count'];var _0x1922e7=_0xccd781?0x0:_0x28e428[_0x289b('0x19')];var _0x144675=_0xccd781?_0x1ebe6c[_0x289b('0x1b')]:_0x28e428[_0x289b('0x19')]+_0x28e428[_0x289b('0x1c')];var _0x291ab4;if(_0x144675>=_0x453e9a){_0x144675=_0x453e9a;_0x291ab4=0xc8;}else{_0x291ab4=0xce;}_0x1f51af[_0x289b('0x16')](_0x291ab4);return _0x1f51af['set']('Content-Range',_0x1922e7+'-'+_0x144675+'/'+_0x453e9a)[_0x289b('0x18')](_0x1ebe6c);}return null;};}function patchUpdates(_0x1d6248){return function(_0x1d8689){try{jsonpatch[_0x289b('0x1d')](_0x1d8689,_0x1d6248,!![]);}catch(_0x42da9f){return BPromise[_0x289b('0x1e')](_0x42da9f);}return _0x1d8689[_0x289b('0x1f')]();};}function saveUpdates(_0x20fbc3,_0x5e8846){return function(_0x51da3a){if(_0x51da3a){return _0x51da3a[_0x289b('0x20')](_0x20fbc3)['then'](function(_0x43619e){return _0x43619e;});}return null;};}function removeEntity(_0x23b376,_0x54b0c0){return function(_0x352e44){if(_0x352e44){return _0x352e44[_0x289b('0x21')]()['then'](function(){_0x23b376[_0x289b('0x16')](0xcc)[_0x289b('0x17')]();});}};}function handleEntityNotFound(_0x2c4ecf,_0x4cb657){return function(_0x3fbd29){if(!_0x3fbd29){_0x2c4ecf[_0x289b('0x22')](0x194);}return _0x3fbd29;};}function handleError(_0x292fac,_0x201e07){_0x201e07=_0x201e07||0x1f4;return function(_0x992092){logger[_0x289b('0x23')](_0x992092[_0x289b('0x24')]);if(_0x992092[_0x289b('0x25')]){delete _0x992092[_0x289b('0x25')];}_0x292fac['status'](_0x201e07)[_0x289b('0x26')](_0x992092);};}exports[_0x289b('0x27')]=function(_0x1c4f75,_0x4e7ec6){var _0x3044a0={},_0x4e8c25={},_0x2896fb={'count':0x0,'rows':[]};var _0x126284=_['map'](db[_0x289b('0x28')][_0x289b('0x29')],function(_0x525164){return{'name':_0x525164[_0x289b('0x2a')],'type':_0x525164[_0x289b('0x2b')]['key']};});_0x4e8c25[_0x289b('0x2c')]=_['map'](_0x126284,'name');_0x4e8c25[_0x289b('0x2d')]=_['keys'](_0x1c4f75['query']);_0x4e8c25[_0x289b('0x2e')]=_[_0x289b('0x2f')](_0x4e8c25[_0x289b('0x2c')],_0x4e8c25[_0x289b('0x2d')]);_0x3044a0['attributes']=_[_0x289b('0x2f')](_0x4e8c25[_0x289b('0x2c')],qs[_0x289b('0x30')](_0x1c4f75[_0x289b('0x2d')]['fields']));_0x3044a0['attributes']=_0x3044a0[_0x289b('0x31')]['length']?_0x3044a0[_0x289b('0x31')]:_0x4e8c25['model'];if(!_0x1c4f75[_0x289b('0x2d')][_0x289b('0x32')](_0x289b('0x33'))){_0x3044a0[_0x289b('0x1c')]=qs['limit'](_0x1c4f75[_0x289b('0x2d')][_0x289b('0x1c')]);_0x3044a0[_0x289b('0x19')]=qs[_0x289b('0x19')](_0x1c4f75['query'][_0x289b('0x19')]);}_0x3044a0[_0x289b('0x34')]=qs[_0x289b('0x35')](_0x1c4f75[_0x289b('0x2d')][_0x289b('0x35')]);_0x3044a0[_0x289b('0x36')]=qs[_0x289b('0x2e')](_[_0x289b('0x37')](_0x1c4f75[_0x289b('0x2d')],_0x4e8c25[_0x289b('0x2e')]),_0x126284);if(_0x1c4f75[_0x289b('0x2d')][_0x289b('0x38')]){_0x3044a0[_0x289b('0x36')]=_['merge'](_0x3044a0['where'],{'$or':_[_0x289b('0x39')](_0x126284,function(_0x38f1e4){if(_0x38f1e4[_0x289b('0x2b')]!==_0x289b('0x3a')){var _0x341653={};_0x341653[_0x38f1e4[_0x289b('0x25')]]={'$like':'%'+_0x1c4f75[_0x289b('0x2d')][_0x289b('0x38')]+'%'};return _0x341653;}})});}_0x3044a0=_[_0x289b('0x3b')]({},_0x3044a0,_0x1c4f75[_0x289b('0x3c')]);var _0x4769e4={'where':_0x3044a0[_0x289b('0x36')]};return db['DeskField']['count'](_0x4769e4)[_0x289b('0x3d')](function(_0x5cdf88){_0x2896fb['count']=_0x5cdf88;if(_0x1c4f75['query'][_0x289b('0x3e')]){_0x3044a0['include']=[{'all':!![]}];}return db[_0x289b('0x28')][_0x289b('0x3f')](_0x3044a0);})['then'](function(_0x311eb0){_0x2896fb['rows']=_0x311eb0;return _0x2896fb;})[_0x289b('0x3d')](respondWithFilteredResult(_0x4e7ec6,_0x3044a0))['catch'](handleError(_0x4e7ec6,null));};exports[_0x289b('0x40')]=function(_0x4141c6,_0x3ee58f){var _0x54eb4b={'raw':!![],'where':{'id':_0x4141c6[_0x289b('0x41')]['id']}},_0x510330={};_0x510330[_0x289b('0x2c')]=_[_0x289b('0x42')](db[_0x289b('0x28')][_0x289b('0x29')]);_0x510330['query']=_[_0x289b('0x42')](_0x4141c6['query']);_0x510330[_0x289b('0x2e')]=_['intersection'](_0x510330['model'],_0x510330['query']);_0x54eb4b[_0x289b('0x31')]=_[_0x289b('0x2f')](_0x510330['model'],qs['fields'](_0x4141c6[_0x289b('0x2d')][_0x289b('0x30')]));_0x54eb4b['attributes']=_0x54eb4b[_0x289b('0x31')][_0x289b('0x43')]?_0x54eb4b[_0x289b('0x31')]:_0x510330[_0x289b('0x2c')];if(_0x4141c6[_0x289b('0x2d')]['includeAll']){_0x54eb4b[_0x289b('0x44')]=[{'all':!![]}];}_0x54eb4b=_['merge']({},_0x54eb4b,_0x4141c6[_0x289b('0x3c')]);return db[_0x289b('0x28')][_0x289b('0x45')](_0x54eb4b)[_0x289b('0x3d')](handleEntityNotFound(_0x3ee58f,null))[_0x289b('0x3d')](respondWithResult(_0x3ee58f,null))[_0x289b('0x46')](handleError(_0x3ee58f,null));};exports[_0x289b('0x47')]=function(_0x95b934,_0x2a9271){return db[_0x289b('0x28')][_0x289b('0x47')](_0x95b934[_0x289b('0x48')],{})[_0x289b('0x3d')](respondWithResult(_0x2a9271,0xc9))[_0x289b('0x46')](handleError(_0x2a9271,null));};exports[_0x289b('0x20')]=function(_0xc6a246,_0x34e702){if(_0xc6a246['body']['id']){delete _0xc6a246[_0x289b('0x48')]['id'];}return db[_0x289b('0x28')][_0x289b('0x45')]({'where':{'id':_0xc6a246[_0x289b('0x41')]['id']}})[_0x289b('0x3d')](handleEntityNotFound(_0x34e702,null))[_0x289b('0x3d')](saveUpdates(_0xc6a246[_0x289b('0x48')],null))[_0x289b('0x3d')](respondWithResult(_0x34e702,null))[_0x289b('0x46')](handleError(_0x34e702,null));};exports[_0x289b('0x21')]=function(_0x3f3085,_0x19d759){return db[_0x289b('0x28')]['find']({'where':{'id':_0x3f3085[_0x289b('0x41')]['id']}})[_0x289b('0x3d')](handleEntityNotFound(_0x19d759,null))['then'](removeEntity(_0x19d759,null))[_0x289b('0x46')](handleError(_0x19d759,null));};