c45a53762a5b4c216aace16ee97841c2d2e056c2
[motion2.git] / server / api / cmHopperBlack / cmHopperBlack.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 _0x9f1c=['show','keys','rawAttributes','includeAll','find','body','params','describe','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','set','Content-Range','reject','save','update','then','destroy','stack','name','send','index','map','CmHopperBlack','fieldName','type','key','query','filters','model','attributes','intersection','fields','length','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','count','include','catch'];(function(_0x1296e3,_0x2f1bf6){var _0x1dd7e4=function(_0x54f125){while(--_0x54f125){_0x1296e3['push'](_0x1296e3['shift']());}};_0x1dd7e4(++_0x2f1bf6);}(_0x9f1c,0xe0));var _0xc9f1=function(_0x1e631d,_0x1c2701){_0x1e631d=_0x1e631d-0x0;var _0x5488aa=_0x9f1c[_0x1e631d];return _0x5488aa;};'use strict';var pdf=require(_0xc9f1('0x0'));var emlformat=require(_0xc9f1('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xc9f1('0x2'));var jsonpatch=require(_0xc9f1('0x3'));var rp=require(_0xc9f1('0x4'));var moment=require(_0xc9f1('0x5'));var BPromise=require(_0xc9f1('0x6'));var Mustache=require(_0xc9f1('0x7'));var util=require('util');var path=require('path');var sox=require(_0xc9f1('0x8'));var csv=require(_0xc9f1('0x9'));var ejs=require(_0xc9f1('0xa'));var fs=require('fs');var _=require(_0xc9f1('0xb'));var squel=require(_0xc9f1('0xc'));var crypto=require(_0xc9f1('0xd'));var jsforce=require(_0xc9f1('0xe'));var deskjs=require(_0xc9f1('0xf'));var toCsv=require(_0xc9f1('0x9'));var querystring=require(_0xc9f1('0x10'));var Papa=require(_0xc9f1('0x11'));var Redis=require(_0xc9f1('0x12'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xc9f1('0x13'));var hardwareService=require(_0xc9f1('0x14'));var logger=require(_0xc9f1('0x15'))('api');var utils=require('../../config/utils');var config=require(_0xc9f1('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xc9f1('0x17'))['db'];function respondWithStatusCode(_0x34f2a7,_0x17115a){_0x17115a=_0x17115a||0xcc;return function(_0x3d24f7){if(_0x3d24f7){return _0x34f2a7[_0xc9f1('0x18')](_0x17115a);}return _0x34f2a7[_0xc9f1('0x19')](_0x17115a)[_0xc9f1('0x1a')]();};}function respondWithResult(_0x489172,_0x51d417){_0x51d417=_0x51d417||0xc8;return function(_0x27bb21){if(_0x27bb21){return _0x489172[_0xc9f1('0x19')](_0x51d417)[_0xc9f1('0x1b')](_0x27bb21);}};}function respondWithFilteredResult(_0x3c87a5,_0x202fa4){return function(_0x36ffd5){if(_0x36ffd5){var _0x1f13e3=_0x36ffd5['count'],_0x435f59=_0x202fa4[_0xc9f1('0x1c')],_0x1dda06=_0x202fa4[_0xc9f1('0x1c')]+_0x202fa4['limit'],_0x264c3c;if(_0x1dda06>=_0x1f13e3){_0x1dda06=_0x1f13e3;_0x264c3c=0xc8;}else{_0x264c3c=0xce;}_0x3c87a5['status'](_0x264c3c);return _0x3c87a5[_0xc9f1('0x1d')](_0xc9f1('0x1e'),_0x435f59+'-'+_0x1dda06+'/'+_0x1f13e3)[_0xc9f1('0x1b')](_0x36ffd5);}return null;};}function patchUpdates(_0xfe501c){return function(_0x189952){try{jsonpatch['apply'](_0x189952,_0xfe501c,!![]);}catch(_0x3b9aff){return BPromise[_0xc9f1('0x1f')](_0x3b9aff);}return _0x189952[_0xc9f1('0x20')]();};}function saveUpdates(_0x115584,_0x49f749){return function(_0x1f1975){if(_0x1f1975){return _0x1f1975[_0xc9f1('0x21')](_0x115584)[_0xc9f1('0x22')](function(_0x8e7c4d){return _0x8e7c4d;});}return null;};}function removeEntity(_0x174559,_0xc85b79){return function(_0x4c203d){if(_0x4c203d){return _0x4c203d[_0xc9f1('0x23')]()[_0xc9f1('0x22')](function(){_0x174559[_0xc9f1('0x19')](0xcc)[_0xc9f1('0x1a')]();});}};}function handleEntityNotFound(_0x2cbdaf,_0x37d06b){return function(_0x520f79){if(!_0x520f79){_0x2cbdaf[_0xc9f1('0x18')](0x194);}return _0x520f79;};}function handleError(_0x3e6f82,_0x373c36){_0x373c36=_0x373c36||0x1f4;return function(_0x41357b){logger['error'](_0x41357b[_0xc9f1('0x24')]);if(_0x41357b[_0xc9f1('0x25')]){delete _0x41357b[_0xc9f1('0x25')];}_0x3e6f82[_0xc9f1('0x19')](_0x373c36)[_0xc9f1('0x26')](_0x41357b);};}exports[_0xc9f1('0x27')]=function(_0x373a04,_0x59f76e){var _0x5c0c99={},_0x2ee8ea={},_0x4e2eea={'count':0x0,'rows':[]};var _0x3e07de=_[_0xc9f1('0x28')](db[_0xc9f1('0x29')]['rawAttributes'],function(_0x3d0d5f){return{'name':_0x3d0d5f[_0xc9f1('0x2a')],'type':_0x3d0d5f[_0xc9f1('0x2b')][_0xc9f1('0x2c')]};});_0x2ee8ea['model']=_[_0xc9f1('0x28')](_0x3e07de,_0xc9f1('0x25'));_0x2ee8ea[_0xc9f1('0x2d')]=_['keys'](_0x373a04['query']);_0x2ee8ea[_0xc9f1('0x2e')]=_['intersection'](_0x2ee8ea[_0xc9f1('0x2f')],_0x2ee8ea[_0xc9f1('0x2d')]);_0x5c0c99[_0xc9f1('0x30')]=_[_0xc9f1('0x31')](_0x2ee8ea[_0xc9f1('0x2f')],qs[_0xc9f1('0x32')](_0x373a04[_0xc9f1('0x2d')][_0xc9f1('0x32')]));_0x5c0c99[_0xc9f1('0x30')]=_0x5c0c99[_0xc9f1('0x30')][_0xc9f1('0x33')]?_0x5c0c99[_0xc9f1('0x30')]:_0x2ee8ea[_0xc9f1('0x2f')];if(!_0x373a04['query']['hasOwnProperty']('nolimit')){_0x5c0c99[_0xc9f1('0x34')]=qs[_0xc9f1('0x34')](_0x373a04[_0xc9f1('0x2d')][_0xc9f1('0x34')]);_0x5c0c99[_0xc9f1('0x1c')]=qs['offset'](_0x373a04[_0xc9f1('0x2d')][_0xc9f1('0x1c')]);}_0x5c0c99[_0xc9f1('0x35')]=qs[_0xc9f1('0x36')](_0x373a04[_0xc9f1('0x2d')][_0xc9f1('0x36')]);_0x5c0c99[_0xc9f1('0x37')]=qs['filters'](_[_0xc9f1('0x38')](_0x373a04['query'],_0x2ee8ea[_0xc9f1('0x2e')]),_0x3e07de);if(_0x373a04['query'][_0xc9f1('0x39')]){_0x5c0c99[_0xc9f1('0x37')]=_[_0xc9f1('0x3a')](_0x5c0c99[_0xc9f1('0x37')],{'$or':_[_0xc9f1('0x28')](_0x3e07de,function(_0x3892cb){if(_0x3892cb[_0xc9f1('0x2b')]!==_0xc9f1('0x3b')){var _0x34b0b7={};_0x34b0b7[_0x3892cb[_0xc9f1('0x25')]]={'$like':'%'+_0x373a04['query']['filter']+'%'};return _0x34b0b7;}})});}_0x5c0c99=_['merge']({},_0x5c0c99,_0x373a04[_0xc9f1('0x3c')]);var _0x3a74c8={'where':_0x5c0c99[_0xc9f1('0x37')]};return db['CmHopperBlack'][_0xc9f1('0x3d')](_0x3a74c8)[_0xc9f1('0x22')](function(_0x3681c7){_0x4e2eea[_0xc9f1('0x3d')]=_0x3681c7;if(_0x373a04[_0xc9f1('0x2d')]['includeAll']){_0x5c0c99[_0xc9f1('0x3e')]=[{'all':!![]}];}return db[_0xc9f1('0x29')]['findAll'](_0x5c0c99);})[_0xc9f1('0x22')](function(_0x57f0a4){_0x4e2eea['rows']=_0x57f0a4;return _0x4e2eea;})[_0xc9f1('0x22')](respondWithFilteredResult(_0x59f76e,_0x5c0c99))[_0xc9f1('0x3f')](handleError(_0x59f76e,null));};exports[_0xc9f1('0x40')]=function(_0x3cf08c,_0x35252f){var _0x716eb6={'raw':!![],'where':{'id':_0x3cf08c['params']['id']}},_0x5ab53c={};_0x5ab53c[_0xc9f1('0x2f')]=_[_0xc9f1('0x41')](db['CmHopperBlack'][_0xc9f1('0x42')]);_0x5ab53c['query']=_[_0xc9f1('0x41')](_0x3cf08c['query']);_0x5ab53c[_0xc9f1('0x2e')]=_[_0xc9f1('0x31')](_0x5ab53c[_0xc9f1('0x2f')],_0x5ab53c[_0xc9f1('0x2d')]);_0x716eb6[_0xc9f1('0x30')]=_[_0xc9f1('0x31')](_0x5ab53c[_0xc9f1('0x2f')],qs['fields'](_0x3cf08c[_0xc9f1('0x2d')][_0xc9f1('0x32')]));_0x716eb6[_0xc9f1('0x30')]=_0x716eb6[_0xc9f1('0x30')][_0xc9f1('0x33')]?_0x716eb6[_0xc9f1('0x30')]:_0x5ab53c['model'];if(_0x3cf08c[_0xc9f1('0x2d')][_0xc9f1('0x43')]){_0x716eb6['include']=[{'all':!![]}];}_0x716eb6=_[_0xc9f1('0x3a')]({},_0x716eb6,_0x3cf08c[_0xc9f1('0x3c')]);return db['CmHopperBlack'][_0xc9f1('0x44')](_0x716eb6)[_0xc9f1('0x22')](handleEntityNotFound(_0x35252f,null))['then'](respondWithResult(_0x35252f,null))[_0xc9f1('0x3f')](handleError(_0x35252f,null));};exports[_0xc9f1('0x21')]=function(_0x44b096,_0x5568c0){if(_0x44b096[_0xc9f1('0x45')]['id']){delete _0x44b096[_0xc9f1('0x45')]['id'];}return db[_0xc9f1('0x29')]['find']({'where':{'id':_0x44b096[_0xc9f1('0x46')]['id']}})[_0xc9f1('0x22')](handleEntityNotFound(_0x5568c0,null))[_0xc9f1('0x22')](saveUpdates(_0x44b096[_0xc9f1('0x45')],null))['then'](respondWithResult(_0x5568c0,null))[_0xc9f1('0x3f')](handleError(_0x5568c0,null));};exports['destroy']=function(_0x1688b1,_0x4b7990){return db[_0xc9f1('0x29')][_0xc9f1('0x44')]({'where':{'id':_0x1688b1[_0xc9f1('0x46')]['id']}})[_0xc9f1('0x22')](handleEntityNotFound(_0x4b7990,null))[_0xc9f1('0x22')](removeEntity(_0x4b7990,null))[_0xc9f1('0x3f')](handleError(_0x4b7990,null));};exports[_0xc9f1('0x47')]=function(_0x2f6412,_0xd5d3b5){return db[_0xc9f1('0x29')][_0xc9f1('0x47')]()[_0xc9f1('0x22')](respondWithResult(_0xd5d3b5,null))[_0xc9f1('0x3f')](handleError(_0xd5d3b5,null));};