e904052d81a18ab87d44323acb17effd22998227
[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 _0x1c87=['to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/environment','../../mysqldb','end','status','json','offset','undefined','count','set','Content-Range','apply','reject','save','then','destroy','sendStatus','error','name','index','map','fieldName','type','key','model','keys','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','filters','filter','where','VIRTUAL','merge','CmHopperBlack','include','findAll','rows','catch','show','params','rawAttributes','includeAll','options','find','update','body','describe','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox'];(function(_0x40927b,_0xf9b0a0){var _0x2635e8=function(_0x1f2b8c){while(--_0x1f2b8c){_0x40927b['push'](_0x40927b['shift']());}};_0x2635e8(++_0xf9b0a0);}(_0x1c87,0x92));var _0x71c8=function(_0x5a65e9,_0x5caf5d){_0x5a65e9=_0x5a65e9-0x0;var _0x95de87=_0x1c87[_0x5a65e9];return _0x95de87;};'use strict';var emlformat=require(_0x71c8('0x0'));var rimraf=require(_0x71c8('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x71c8('0x2'));var rp=require(_0x71c8('0x3'));var moment=require(_0x71c8('0x4'));var BPromise=require(_0x71c8('0x5'));var Mustache=require(_0x71c8('0x6'));var util=require(_0x71c8('0x7'));var path=require(_0x71c8('0x8'));var sox=require(_0x71c8('0x9'));var csv=require(_0x71c8('0xa'));var ejs=require(_0x71c8('0xb'));var fs=require('fs');var fs_extra=require(_0x71c8('0xc'));var _=require(_0x71c8('0xd'));var squel=require('squel');var crypto=require(_0x71c8('0xe'));var jsforce=require(_0x71c8('0xf'));var deskjs=require(_0x71c8('0x10'));var toCsv=require('to-csv');var querystring=require(_0x71c8('0x11'));var Papa=require(_0x71c8('0x12'));var Redis=require(_0x71c8('0x13'));var authService=require(_0x71c8('0x14'));var qs=require(_0x71c8('0x15'));var as=require(_0x71c8('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x71c8('0x17'));var utils=require('../../config/utils');var config=require(_0x71c8('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x71c8('0x19'))['db'];function respondWithStatusCode(_0x28e0ca,_0x17b2cd){_0x17b2cd=_0x17b2cd||0xcc;return function(_0x141901){if(_0x141901){return _0x28e0ca['sendStatus'](_0x17b2cd);}return _0x28e0ca['status'](_0x17b2cd)[_0x71c8('0x1a')]();};}function respondWithResult(_0x5352cc,_0x163ac7){_0x163ac7=_0x163ac7||0xc8;return function(_0xd9689a){if(_0xd9689a){return _0x5352cc[_0x71c8('0x1b')](_0x163ac7)[_0x71c8('0x1c')](_0xd9689a);}};}function respondWithFilteredResult(_0x32e07c,_0x40b054){return function(_0x3b2095){if(_0x3b2095){var _0x418de6=typeof _0x40b054[_0x71c8('0x1d')]===_0x71c8('0x1e')&&typeof _0x40b054['limit']==='undefined';var _0x1a9f38=_0x3b2095[_0x71c8('0x1f')];var _0x3e73fb=_0x418de6?0x0:_0x40b054[_0x71c8('0x1d')];var _0x32eab4=_0x418de6?_0x3b2095[_0x71c8('0x1f')]:_0x40b054[_0x71c8('0x1d')]+_0x40b054['limit'];var _0x554ffa;if(_0x32eab4>=_0x1a9f38){_0x32eab4=_0x1a9f38;_0x554ffa=0xc8;}else{_0x554ffa=0xce;}_0x32e07c['status'](_0x554ffa);return _0x32e07c[_0x71c8('0x20')](_0x71c8('0x21'),_0x3e73fb+'-'+_0x32eab4+'/'+_0x1a9f38)['json'](_0x3b2095);}return null;};}function patchUpdates(_0xb8869d){return function(_0x46483a){try{jsonpatch[_0x71c8('0x22')](_0x46483a,_0xb8869d,!![]);}catch(_0x4a9eac){return BPromise[_0x71c8('0x23')](_0x4a9eac);}return _0x46483a[_0x71c8('0x24')]();};}function saveUpdates(_0x1a05d8,_0x191713){return function(_0x58c861){if(_0x58c861){return _0x58c861['update'](_0x1a05d8)[_0x71c8('0x25')](function(_0x57a8e0){return _0x57a8e0;});}return null;};}function removeEntity(_0x23db9c,_0x4a8a77){return function(_0x59bb25){if(_0x59bb25){return _0x59bb25[_0x71c8('0x26')]()[_0x71c8('0x25')](function(){_0x23db9c[_0x71c8('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x48bd1d,_0xfd37ea){return function(_0x322700){if(!_0x322700){_0x48bd1d[_0x71c8('0x27')](0x194);}return _0x322700;};}function handleError(_0x30346e,_0x3301d6){_0x3301d6=_0x3301d6||0x1f4;return function(_0x14d649){logger[_0x71c8('0x28')](_0x14d649['stack']);if(_0x14d649[_0x71c8('0x29')]){delete _0x14d649[_0x71c8('0x29')];}_0x30346e[_0x71c8('0x1b')](_0x3301d6)['send'](_0x14d649);};}exports[_0x71c8('0x2a')]=function(_0x13984c,_0x53c5ff){var _0x2c53a5={},_0x1e800c={},_0x2e356c={'count':0x0,'rows':[]};var _0x521634=_[_0x71c8('0x2b')](db['CmHopperBlack']['rawAttributes'],function(_0x104af5){return{'name':_0x104af5[_0x71c8('0x2c')],'type':_0x104af5[_0x71c8('0x2d')][_0x71c8('0x2e')]};});_0x1e800c[_0x71c8('0x2f')]=_[_0x71c8('0x2b')](_0x521634,_0x71c8('0x29'));_0x1e800c['query']=_[_0x71c8('0x30')](_0x13984c['query']);_0x1e800c['filters']=_[_0x71c8('0x31')](_0x1e800c[_0x71c8('0x2f')],_0x1e800c[_0x71c8('0x32')]);_0x2c53a5[_0x71c8('0x33')]=_['intersection'](_0x1e800c[_0x71c8('0x2f')],qs[_0x71c8('0x34')](_0x13984c[_0x71c8('0x32')][_0x71c8('0x34')]));_0x2c53a5['attributes']=_0x2c53a5[_0x71c8('0x33')][_0x71c8('0x35')]?_0x2c53a5['attributes']:_0x1e800c[_0x71c8('0x2f')];if(!_0x13984c[_0x71c8('0x32')][_0x71c8('0x36')](_0x71c8('0x37'))){_0x2c53a5[_0x71c8('0x38')]=qs[_0x71c8('0x38')](_0x13984c[_0x71c8('0x32')][_0x71c8('0x38')]);_0x2c53a5[_0x71c8('0x1d')]=qs[_0x71c8('0x1d')](_0x13984c[_0x71c8('0x32')][_0x71c8('0x1d')]);}_0x2c53a5[_0x71c8('0x39')]=qs[_0x71c8('0x3a')](_0x13984c[_0x71c8('0x32')]['sort']);_0x2c53a5['where']=qs[_0x71c8('0x3b')](_['pick'](_0x13984c[_0x71c8('0x32')],_0x1e800c[_0x71c8('0x3b')]),_0x521634);if(_0x13984c[_0x71c8('0x32')][_0x71c8('0x3c')]){_0x2c53a5[_0x71c8('0x3d')]=_['merge'](_0x2c53a5['where'],{'$or':_[_0x71c8('0x2b')](_0x521634,function(_0x2a6bb8){if(_0x2a6bb8[_0x71c8('0x2d')]!==_0x71c8('0x3e')){var _0x2f0ebc={};_0x2f0ebc[_0x2a6bb8['name']]={'$like':'%'+_0x13984c['query'][_0x71c8('0x3c')]+'%'};return _0x2f0ebc;}})});}_0x2c53a5=_[_0x71c8('0x3f')]({},_0x2c53a5,_0x13984c['options']);var _0x267446={'where':_0x2c53a5[_0x71c8('0x3d')]};return db[_0x71c8('0x40')][_0x71c8('0x1f')](_0x267446)[_0x71c8('0x25')](function(_0x532a10){_0x2e356c[_0x71c8('0x1f')]=_0x532a10;if(_0x13984c[_0x71c8('0x32')]['includeAll']){_0x2c53a5[_0x71c8('0x41')]=[{'all':!![]}];}return db['CmHopperBlack'][_0x71c8('0x42')](_0x2c53a5);})[_0x71c8('0x25')](function(_0x5de8b3){_0x2e356c[_0x71c8('0x43')]=_0x5de8b3;return _0x2e356c;})['then'](respondWithFilteredResult(_0x53c5ff,_0x2c53a5))[_0x71c8('0x44')](handleError(_0x53c5ff,null));};exports[_0x71c8('0x45')]=function(_0x1c0e06,_0x47a9b2){var _0x2674b2={'raw':!![],'where':{'id':_0x1c0e06[_0x71c8('0x46')]['id']}},_0x210668={};_0x210668['model']=_[_0x71c8('0x30')](db['CmHopperBlack'][_0x71c8('0x47')]);_0x210668[_0x71c8('0x32')]=_[_0x71c8('0x30')](_0x1c0e06[_0x71c8('0x32')]);_0x210668[_0x71c8('0x3b')]=_[_0x71c8('0x31')](_0x210668[_0x71c8('0x2f')],_0x210668[_0x71c8('0x32')]);_0x2674b2['attributes']=_[_0x71c8('0x31')](_0x210668[_0x71c8('0x2f')],qs[_0x71c8('0x34')](_0x1c0e06[_0x71c8('0x32')][_0x71c8('0x34')]));_0x2674b2[_0x71c8('0x33')]=_0x2674b2['attributes'][_0x71c8('0x35')]?_0x2674b2[_0x71c8('0x33')]:_0x210668[_0x71c8('0x2f')];if(_0x1c0e06['query'][_0x71c8('0x48')]){_0x2674b2['include']=[{'all':!![]}];}_0x2674b2=_[_0x71c8('0x3f')]({},_0x2674b2,_0x1c0e06[_0x71c8('0x49')]);return db[_0x71c8('0x40')][_0x71c8('0x4a')](_0x2674b2)[_0x71c8('0x25')](handleEntityNotFound(_0x47a9b2,null))[_0x71c8('0x25')](respondWithResult(_0x47a9b2,null))['catch'](handleError(_0x47a9b2,null));};exports[_0x71c8('0x4b')]=function(_0x2bf95a,_0x29c3ed){if(_0x2bf95a[_0x71c8('0x4c')]['id']){delete _0x2bf95a[_0x71c8('0x4c')]['id'];}return db[_0x71c8('0x40')][_0x71c8('0x4a')]({'where':{'id':_0x2bf95a[_0x71c8('0x46')]['id']}})[_0x71c8('0x25')](handleEntityNotFound(_0x29c3ed,null))[_0x71c8('0x25')](saveUpdates(_0x2bf95a['body'],null))[_0x71c8('0x25')](respondWithResult(_0x29c3ed,null))[_0x71c8('0x44')](handleError(_0x29c3ed,null));};exports[_0x71c8('0x26')]=function(_0x4b46f7,_0x5d4377){return db[_0x71c8('0x40')][_0x71c8('0x4a')]({'where':{'id':_0x4b46f7['params']['id']}})[_0x71c8('0x25')](handleEntityNotFound(_0x5d4377,null))[_0x71c8('0x25')](removeEntity(_0x5d4377,null))['catch'](handleError(_0x5d4377,null));};exports[_0x71c8('0x4d')]=function(_0x3539e6,_0x1d6c88){return db['CmHopperBlack'][_0x71c8('0x4d')]()['then'](respondWithResult(_0x1d6c88,null))[_0x71c8('0x44')](handleError(_0x1d6c88,null));};