5fe107668b70cfd7edec6408d544d372fb9b0897
[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 _0x275a=['model','attributes','fields','hasOwnProperty','limit','order','sort','where','pick','filter','VIRTUAL','merge','options','CmHopperBlack','includeAll','include','findAll','rows','catch','show','params','keys','rawAttributes','length','find','body','describe','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','squel','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','count','offset','set','Content-Range','update','then','destroy','error','stack','name','send','map','fieldName','type','key','query','filters','intersection'];(function(_0x971ba8,_0x426a3b){var _0x312350=function(_0x48a0fe){while(--_0x48a0fe){_0x971ba8['push'](_0x971ba8['shift']());}};_0x312350(++_0x426a3b);}(_0x275a,0x13f));var _0xa275=function(_0x3070dc,_0x40cf11){_0x3070dc=_0x3070dc-0x0;var _0x431489=_0x275a[_0x3070dc];return _0x431489;};'use strict';var pdf=require(_0xa275('0x0'));var emlformat=require(_0xa275('0x1'));var rimraf=require(_0xa275('0x2'));var zipdir=require(_0xa275('0x3'));var jsonpatch=require(_0xa275('0x4'));var rp=require(_0xa275('0x5'));var moment=require('moment');var BPromise=require(_0xa275('0x6'));var Mustache=require(_0xa275('0x7'));var util=require(_0xa275('0x8'));var path=require(_0xa275('0x9'));var sox=require(_0xa275('0xa'));var csv=require(_0xa275('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0xa275('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xa275('0xd'));var toCsv=require(_0xa275('0xb'));var querystring=require('querystring');var Papa=require(_0xa275('0xe'));var Redis=require(_0xa275('0xf'));var authService=require(_0xa275('0x10'));var qs=require(_0xa275('0x11'));var as=require(_0xa275('0x12'));var hardwareService=require(_0xa275('0x13'));var logger=require(_0xa275('0x14'))(_0xa275('0x15'));var utils=require(_0xa275('0x16'));var config=require(_0xa275('0x17'));var licenseUtil=require(_0xa275('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1bf14c,_0x3d29a4){_0x3d29a4=_0x3d29a4||0xcc;return function(_0x27df76){if(_0x27df76){return _0x1bf14c[_0xa275('0x19')](_0x3d29a4);}return _0x1bf14c['status'](_0x3d29a4)['end']();};}function respondWithResult(_0xe62b3,_0x3eb41b){_0x3eb41b=_0x3eb41b||0xc8;return function(_0x359e7d){if(_0x359e7d){return _0xe62b3[_0xa275('0x1a')](_0x3eb41b)[_0xa275('0x1b')](_0x359e7d);}};}function respondWithFilteredResult(_0x4017b9,_0x2d5698){return function(_0x2ee164){if(_0x2ee164){var _0xa5c9be=_0x2ee164[_0xa275('0x1c')],_0xdedaae=_0x2d5698[_0xa275('0x1d')],_0x5aebe8=_0x2d5698[_0xa275('0x1d')]+_0x2d5698['limit'],_0x16cdde;if(_0x5aebe8>=_0xa5c9be){_0x5aebe8=_0xa5c9be;_0x16cdde=0xc8;}else{_0x16cdde=0xce;}_0x4017b9[_0xa275('0x1a')](_0x16cdde);return _0x4017b9[_0xa275('0x1e')](_0xa275('0x1f'),_0xdedaae+'-'+_0x5aebe8+'/'+_0xa5c9be)[_0xa275('0x1b')](_0x2ee164);}return null;};}function patchUpdates(_0x175e93){return function(_0x3705b7){try{jsonpatch['apply'](_0x3705b7,_0x175e93,!![]);}catch(_0x5dcef8){return BPromise['reject'](_0x5dcef8);}return _0x3705b7['save']();};}function saveUpdates(_0x227fd1,_0x1d778e){return function(_0x3a4fce){if(_0x3a4fce){return _0x3a4fce[_0xa275('0x20')](_0x227fd1)[_0xa275('0x21')](function(_0xa38ee2){return _0xa38ee2;});}return null;};}function removeEntity(_0x23b89c,_0x565a96){return function(_0x51f612){if(_0x51f612){return _0x51f612[_0xa275('0x22')]()[_0xa275('0x21')](function(){_0x23b89c['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x3cfe85,_0x2d334c){return function(_0x4803ea){if(!_0x4803ea){_0x3cfe85[_0xa275('0x19')](0x194);}return _0x4803ea;};}function handleError(_0x470142,_0x1fffe5){_0x1fffe5=_0x1fffe5||0x1f4;return function(_0x4c5ef1){logger[_0xa275('0x23')](_0x4c5ef1[_0xa275('0x24')]);if(_0x4c5ef1['name']){delete _0x4c5ef1[_0xa275('0x25')];}_0x470142[_0xa275('0x1a')](_0x1fffe5)[_0xa275('0x26')](_0x4c5ef1);};}exports['index']=function(_0x2a3d5a,_0x30be28){var _0x3b67ea={},_0x41ad3e={},_0x191354={'count':0x0,'rows':[]};var _0x2925ee=_[_0xa275('0x27')](db['CmHopperBlack']['rawAttributes'],function(_0x33f47b){return{'name':_0x33f47b[_0xa275('0x28')],'type':_0x33f47b[_0xa275('0x29')][_0xa275('0x2a')]};});_0x41ad3e['model']=_[_0xa275('0x27')](_0x2925ee,_0xa275('0x25'));_0x41ad3e[_0xa275('0x2b')]=_['keys'](_0x2a3d5a[_0xa275('0x2b')]);_0x41ad3e[_0xa275('0x2c')]=_[_0xa275('0x2d')](_0x41ad3e[_0xa275('0x2e')],_0x41ad3e['query']);_0x3b67ea[_0xa275('0x2f')]=_['intersection'](_0x41ad3e[_0xa275('0x2e')],qs['fields'](_0x2a3d5a[_0xa275('0x2b')][_0xa275('0x30')]));_0x3b67ea[_0xa275('0x2f')]=_0x3b67ea['attributes']['length']?_0x3b67ea[_0xa275('0x2f')]:_0x41ad3e['model'];if(!_0x2a3d5a[_0xa275('0x2b')][_0xa275('0x31')]('nolimit')){_0x3b67ea[_0xa275('0x32')]=qs[_0xa275('0x32')](_0x2a3d5a[_0xa275('0x2b')][_0xa275('0x32')]);_0x3b67ea[_0xa275('0x1d')]=qs[_0xa275('0x1d')](_0x2a3d5a[_0xa275('0x2b')][_0xa275('0x1d')]);}_0x3b67ea[_0xa275('0x33')]=qs[_0xa275('0x34')](_0x2a3d5a[_0xa275('0x2b')]['sort']);_0x3b67ea[_0xa275('0x35')]=qs[_0xa275('0x2c')](_[_0xa275('0x36')](_0x2a3d5a['query'],_0x41ad3e[_0xa275('0x2c')]),_0x2925ee);if(_0x2a3d5a[_0xa275('0x2b')][_0xa275('0x37')]){_0x3b67ea[_0xa275('0x35')]=_['merge'](_0x3b67ea[_0xa275('0x35')],{'$or':_[_0xa275('0x27')](_0x2925ee,function(_0x4211cd){if(_0x4211cd[_0xa275('0x29')]!==_0xa275('0x38')){var _0x191ed3={};_0x191ed3[_0x4211cd[_0xa275('0x25')]]={'$like':'%'+_0x2a3d5a['query'][_0xa275('0x37')]+'%'};return _0x191ed3;}})});}_0x3b67ea=_[_0xa275('0x39')]({},_0x3b67ea,_0x2a3d5a[_0xa275('0x3a')]);var _0x29b9eb={'where':_0x3b67ea[_0xa275('0x35')]};return db[_0xa275('0x3b')][_0xa275('0x1c')](_0x29b9eb)[_0xa275('0x21')](function(_0x46a3ee){_0x191354[_0xa275('0x1c')]=_0x46a3ee;if(_0x2a3d5a['query'][_0xa275('0x3c')]){_0x3b67ea[_0xa275('0x3d')]=[{'all':!![]}];}return db[_0xa275('0x3b')][_0xa275('0x3e')](_0x3b67ea);})[_0xa275('0x21')](function(_0x30a940){_0x191354[_0xa275('0x3f')]=_0x30a940;return _0x191354;})[_0xa275('0x21')](respondWithFilteredResult(_0x30be28,_0x3b67ea))[_0xa275('0x40')](handleError(_0x30be28,null));};exports[_0xa275('0x41')]=function(_0x225289,_0x155ad0){var _0x26d80c={'raw':!![],'where':{'id':_0x225289[_0xa275('0x42')]['id']}},_0x29814d={};_0x29814d[_0xa275('0x2e')]=_[_0xa275('0x43')](db['CmHopperBlack'][_0xa275('0x44')]);_0x29814d[_0xa275('0x2b')]=_[_0xa275('0x43')](_0x225289[_0xa275('0x2b')]);_0x29814d['filters']=_['intersection'](_0x29814d['model'],_0x29814d[_0xa275('0x2b')]);_0x26d80c['attributes']=_[_0xa275('0x2d')](_0x29814d['model'],qs[_0xa275('0x30')](_0x225289[_0xa275('0x2b')][_0xa275('0x30')]));_0x26d80c[_0xa275('0x2f')]=_0x26d80c[_0xa275('0x2f')][_0xa275('0x45')]?_0x26d80c[_0xa275('0x2f')]:_0x29814d[_0xa275('0x2e')];if(_0x225289[_0xa275('0x2b')]['includeAll']){_0x26d80c[_0xa275('0x3d')]=[{'all':!![]}];}_0x26d80c=_[_0xa275('0x39')]({},_0x26d80c,_0x225289[_0xa275('0x3a')]);return db[_0xa275('0x3b')][_0xa275('0x46')](_0x26d80c)[_0xa275('0x21')](handleEntityNotFound(_0x155ad0,null))[_0xa275('0x21')](respondWithResult(_0x155ad0,null))[_0xa275('0x40')](handleError(_0x155ad0,null));};exports[_0xa275('0x20')]=function(_0x5e9c6d,_0x28d057){if(_0x5e9c6d[_0xa275('0x47')]['id']){delete _0x5e9c6d['body']['id'];}return db[_0xa275('0x3b')][_0xa275('0x46')]({'where':{'id':_0x5e9c6d['params']['id']}})['then'](handleEntityNotFound(_0x28d057,null))[_0xa275('0x21')](saveUpdates(_0x5e9c6d['body'],null))[_0xa275('0x21')](respondWithResult(_0x28d057,null))[_0xa275('0x40')](handleError(_0x28d057,null));};exports[_0xa275('0x22')]=function(_0x1c451a,_0x26794e){return db[_0xa275('0x3b')]['find']({'where':{'id':_0x1c451a[_0xa275('0x42')]['id']}})['then'](handleEntityNotFound(_0x26794e,null))[_0xa275('0x21')](removeEntity(_0x26794e,null))[_0xa275('0x40')](handleError(_0x26794e,null));};exports[_0xa275('0x48')]=function(_0x37169a,_0x924f1e){return db[_0xa275('0x3b')][_0xa275('0x48')]()[_0xa275('0x21')](respondWithResult(_0x924f1e,null))[_0xa275('0x40')](handleError(_0x924f1e,null));};