fe97156ab6d9cfa4a80eca495e00b12398749ee6
[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 _0x20a9=['pick','filter','merge','where','map','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','find','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/license/util','sendStatus','json','count','offset','status','set','Content-Range','apply','reject','save','update','then','destroy','end','error','stack','name','send','CmHopperBlack','rawAttributes','fieldName','type','model','keys','query','intersection','attributes','fields','nolimit','limit','sort','filters'];(function(_0x3993f0,_0x40c90e){var _0x4545d9=function(_0x2c6b8a){while(--_0x2c6b8a){_0x3993f0['push'](_0x3993f0['shift']());}};_0x4545d9(++_0x40c90e);}(_0x20a9,0xef));var _0x920a=function(_0x44cb92,_0x59afa3){_0x44cb92=_0x44cb92-0x0;var _0x56b9e6=_0x20a9[_0x44cb92];return _0x56b9e6;};'use strict';var emlformat=require(_0x920a('0x0'));var rimraf=require(_0x920a('0x1'));var zipdir=require(_0x920a('0x2'));var jsonpatch=require(_0x920a('0x3'));var rp=require(_0x920a('0x4'));var moment=require(_0x920a('0x5'));var BPromise=require(_0x920a('0x6'));var Mustache=require(_0x920a('0x7'));var util=require(_0x920a('0x8'));var path=require(_0x920a('0x9'));var sox=require(_0x920a('0xa'));var csv=require(_0x920a('0xb'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x920a('0xc'));var _=require(_0x920a('0xd'));var squel=require(_0x920a('0xe'));var crypto=require(_0x920a('0xf'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x920a('0x10'));var Papa=require(_0x920a('0x11'));var Redis=require(_0x920a('0x12'));var authService=require(_0x920a('0x13'));var qs=require(_0x920a('0x14'));var as=require(_0x920a('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x920a('0x16'))('api');var utils=require(_0x920a('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x920a('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xb4742b,_0x31242a){_0x31242a=_0x31242a||0xcc;return function(_0x5c9a44){if(_0x5c9a44){return _0xb4742b[_0x920a('0x19')](_0x31242a);}return _0xb4742b['status'](_0x31242a)['end']();};}function respondWithResult(_0x45d09e,_0x165a6c){_0x165a6c=_0x165a6c||0xc8;return function(_0x340f35){if(_0x340f35){return _0x45d09e['status'](_0x165a6c)[_0x920a('0x1a')](_0x340f35);}};}function respondWithFilteredResult(_0x1954c1,_0x262c78){return function(_0x59b26e){if(_0x59b26e){var _0x3eb1be=_0x59b26e[_0x920a('0x1b')],_0x2fb004=_0x262c78[_0x920a('0x1c')],_0xdc8ace=_0x262c78[_0x920a('0x1c')]+_0x262c78['limit'],_0x44a4e3;if(_0xdc8ace>=_0x3eb1be){_0xdc8ace=_0x3eb1be;_0x44a4e3=0xc8;}else{_0x44a4e3=0xce;}_0x1954c1[_0x920a('0x1d')](_0x44a4e3);return _0x1954c1[_0x920a('0x1e')](_0x920a('0x1f'),_0x2fb004+'-'+_0xdc8ace+'/'+_0x3eb1be)[_0x920a('0x1a')](_0x59b26e);}return null;};}function patchUpdates(_0x239adf){return function(_0x3a17c4){try{jsonpatch[_0x920a('0x20')](_0x3a17c4,_0x239adf,!![]);}catch(_0x5ec660){return BPromise[_0x920a('0x21')](_0x5ec660);}return _0x3a17c4[_0x920a('0x22')]();};}function saveUpdates(_0xa9165d,_0x5b7fb0){return function(_0x3f4e5f){if(_0x3f4e5f){return _0x3f4e5f[_0x920a('0x23')](_0xa9165d)[_0x920a('0x24')](function(_0x25bc90){return _0x25bc90;});}return null;};}function removeEntity(_0x1eed0a,_0x1657aa){return function(_0x359af8){if(_0x359af8){return _0x359af8[_0x920a('0x25')]()[_0x920a('0x24')](function(){_0x1eed0a[_0x920a('0x1d')](0xcc)[_0x920a('0x26')]();});}};}function handleEntityNotFound(_0x24aa67,_0x5ef910){return function(_0x1bcbb9){if(!_0x1bcbb9){_0x24aa67[_0x920a('0x19')](0x194);}return _0x1bcbb9;};}function handleError(_0x44718c,_0x3dd27a){_0x3dd27a=_0x3dd27a||0x1f4;return function(_0x32670e){logger[_0x920a('0x27')](_0x32670e[_0x920a('0x28')]);if(_0x32670e[_0x920a('0x29')]){delete _0x32670e[_0x920a('0x29')];}_0x44718c[_0x920a('0x1d')](_0x3dd27a)[_0x920a('0x2a')](_0x32670e);};}exports['index']=function(_0x1e75fa,_0x3d70c6){var _0x5962a0={},_0x4c0306={},_0x2341f7={'count':0x0,'rows':[]};var _0x40b316=_['map'](db[_0x920a('0x2b')][_0x920a('0x2c')],function(_0x2a6e87){return{'name':_0x2a6e87[_0x920a('0x2d')],'type':_0x2a6e87[_0x920a('0x2e')]['key']};});_0x4c0306[_0x920a('0x2f')]=_['map'](_0x40b316,_0x920a('0x29'));_0x4c0306['query']=_[_0x920a('0x30')](_0x1e75fa[_0x920a('0x31')]);_0x4c0306['filters']=_[_0x920a('0x32')](_0x4c0306[_0x920a('0x2f')],_0x4c0306[_0x920a('0x31')]);_0x5962a0[_0x920a('0x33')]=_[_0x920a('0x32')](_0x4c0306[_0x920a('0x2f')],qs[_0x920a('0x34')](_0x1e75fa[_0x920a('0x31')][_0x920a('0x34')]));_0x5962a0[_0x920a('0x33')]=_0x5962a0[_0x920a('0x33')]['length']?_0x5962a0[_0x920a('0x33')]:_0x4c0306[_0x920a('0x2f')];if(!_0x1e75fa[_0x920a('0x31')]['hasOwnProperty'](_0x920a('0x35'))){_0x5962a0[_0x920a('0x36')]=qs[_0x920a('0x36')](_0x1e75fa[_0x920a('0x31')][_0x920a('0x36')]);_0x5962a0[_0x920a('0x1c')]=qs['offset'](_0x1e75fa[_0x920a('0x31')]['offset']);}_0x5962a0['order']=qs[_0x920a('0x37')](_0x1e75fa['query'][_0x920a('0x37')]);_0x5962a0['where']=qs[_0x920a('0x38')](_[_0x920a('0x39')](_0x1e75fa[_0x920a('0x31')],_0x4c0306[_0x920a('0x38')]),_0x40b316);if(_0x1e75fa[_0x920a('0x31')][_0x920a('0x3a')]){_0x5962a0['where']=_[_0x920a('0x3b')](_0x5962a0[_0x920a('0x3c')],{'$or':_[_0x920a('0x3d')](_0x40b316,function(_0x2d2348){if(_0x2d2348['type']!==_0x920a('0x3e')){var _0x124838={};_0x124838[_0x2d2348[_0x920a('0x29')]]={'$like':'%'+_0x1e75fa[_0x920a('0x31')][_0x920a('0x3a')]+'%'};return _0x124838;}})});}_0x5962a0=_[_0x920a('0x3b')]({},_0x5962a0,_0x1e75fa[_0x920a('0x3f')]);var _0x400f03={'where':_0x5962a0[_0x920a('0x3c')]};return db[_0x920a('0x2b')][_0x920a('0x1b')](_0x400f03)['then'](function(_0x16bbdd){_0x2341f7[_0x920a('0x1b')]=_0x16bbdd;if(_0x1e75fa[_0x920a('0x31')][_0x920a('0x40')]){_0x5962a0[_0x920a('0x41')]=[{'all':!![]}];}return db['CmHopperBlack'][_0x920a('0x42')](_0x5962a0);})[_0x920a('0x24')](function(_0x233e3a){_0x2341f7[_0x920a('0x43')]=_0x233e3a;return _0x2341f7;})['then'](respondWithFilteredResult(_0x3d70c6,_0x5962a0))[_0x920a('0x44')](handleError(_0x3d70c6,null));};exports[_0x920a('0x45')]=function(_0x275c96,_0x38143d){var _0x2337ea={'raw':!![],'where':{'id':_0x275c96[_0x920a('0x46')]['id']}},_0x1a2f5b={};_0x1a2f5b[_0x920a('0x2f')]=_[_0x920a('0x30')](db[_0x920a('0x2b')]['rawAttributes']);_0x1a2f5b['query']=_[_0x920a('0x30')](_0x275c96[_0x920a('0x31')]);_0x1a2f5b['filters']=_[_0x920a('0x32')](_0x1a2f5b['model'],_0x1a2f5b[_0x920a('0x31')]);_0x2337ea[_0x920a('0x33')]=_[_0x920a('0x32')](_0x1a2f5b[_0x920a('0x2f')],qs[_0x920a('0x34')](_0x275c96[_0x920a('0x31')][_0x920a('0x34')]));_0x2337ea[_0x920a('0x33')]=_0x2337ea[_0x920a('0x33')]['length']?_0x2337ea[_0x920a('0x33')]:_0x1a2f5b[_0x920a('0x2f')];if(_0x275c96[_0x920a('0x31')][_0x920a('0x40')]){_0x2337ea[_0x920a('0x41')]=[{'all':!![]}];}_0x2337ea=_[_0x920a('0x3b')]({},_0x2337ea,_0x275c96[_0x920a('0x3f')]);return db[_0x920a('0x2b')][_0x920a('0x47')](_0x2337ea)['then'](handleEntityNotFound(_0x38143d,null))[_0x920a('0x24')](respondWithResult(_0x38143d,null))['catch'](handleError(_0x38143d,null));};exports[_0x920a('0x23')]=function(_0x5f51ba,_0x33cf5e){if(_0x5f51ba[_0x920a('0x48')]['id']){delete _0x5f51ba[_0x920a('0x48')]['id'];}return db['CmHopperBlack'][_0x920a('0x47')]({'where':{'id':_0x5f51ba[_0x920a('0x46')]['id']}})[_0x920a('0x24')](handleEntityNotFound(_0x33cf5e,null))[_0x920a('0x24')](saveUpdates(_0x5f51ba[_0x920a('0x48')],null))['then'](respondWithResult(_0x33cf5e,null))[_0x920a('0x44')](handleError(_0x33cf5e,null));};exports[_0x920a('0x25')]=function(_0x201f97,_0x2d0779){return db[_0x920a('0x2b')][_0x920a('0x47')]({'where':{'id':_0x201f97[_0x920a('0x46')]['id']}})[_0x920a('0x24')](handleEntityNotFound(_0x2d0779,null))[_0x920a('0x24')](removeEntity(_0x2d0779,null))[_0x920a('0x44')](handleError(_0x2d0779,null));};exports[_0x920a('0x49')]=function(_0x2ed98a,_0x59fb9b){return db[_0x920a('0x2b')]['describe']()['then'](respondWithResult(_0x59fb9b,null))['catch'](handleError(_0x59fb9b,null));};