03266427ead9d34f9cf5642df6e8392a08e7567a
[motion2.git] / server / api / openchannelApplication / openchannelApplication.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 _0xdc37=['papaparse','ioredis','../../components/auth/service','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','Content-Range','apply','reject','save','update','then','destroy','stack','name','index','map','OpenchannelApplication','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','type','VIRTUAL','filter','merge','includeAll','include','findAll','rows','catch','show','params','options','find','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring'];(function(_0x53ddab,_0x4ada9d){var _0x5819ac=function(_0x4d5fc8){while(--_0x4d5fc8){_0x53ddab['push'](_0x53ddab['shift']());}};_0x5819ac(++_0x4ada9d);}(_0xdc37,0xc3));var _0x7dc3=function(_0x255d5b,_0x4f6f35){_0x255d5b=_0x255d5b-0x0;var _0x3e141a=_0xdc37[_0x255d5b];return _0x3e141a;};'use strict';var emlformat=require(_0x7dc3('0x0'));var rimraf=require(_0x7dc3('0x1'));var zipdir=require(_0x7dc3('0x2'));var jsonpatch=require(_0x7dc3('0x3'));var rp=require(_0x7dc3('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x7dc3('0x5'));var csv=require(_0x7dc3('0x6'));var ejs=require(_0x7dc3('0x7'));var fs=require('fs');var fs_extra=require(_0x7dc3('0x8'));var _=require(_0x7dc3('0x9'));var squel=require(_0x7dc3('0xa'));var crypto=require(_0x7dc3('0xb'));var jsforce=require(_0x7dc3('0xc'));var deskjs=require(_0x7dc3('0xd'));var toCsv=require(_0x7dc3('0x6'));var querystring=require(_0x7dc3('0xe'));var Papa=require(_0x7dc3('0xf'));var Redis=require(_0x7dc3('0x10'));var authService=require(_0x7dc3('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x7dc3('0x12'))['db'];function respondWithStatusCode(_0x3956b5,_0x11b783){_0x11b783=_0x11b783||0xcc;return function(_0x39667b){if(_0x39667b){return _0x3956b5[_0x7dc3('0x13')](_0x11b783);}return _0x3956b5[_0x7dc3('0x14')](_0x11b783)[_0x7dc3('0x15')]();};}function respondWithResult(_0x3a1225,_0x24ef13){_0x24ef13=_0x24ef13||0xc8;return function(_0x147d5e){if(_0x147d5e){return _0x3a1225[_0x7dc3('0x14')](_0x24ef13)[_0x7dc3('0x16')](_0x147d5e);}};}function respondWithFilteredResult(_0xd97fdd,_0x4a9469){return function(_0x21fb6b){if(_0x21fb6b){var _0x3d9629=typeof _0x4a9469[_0x7dc3('0x17')]===_0x7dc3('0x18')&&typeof _0x4a9469['limit']===_0x7dc3('0x18');var _0x4a2f78=_0x21fb6b['count'];var _0x9f7f06=_0x3d9629?0x0:_0x4a9469[_0x7dc3('0x17')];var _0x203e6e=_0x3d9629?_0x21fb6b[_0x7dc3('0x19')]:_0x4a9469[_0x7dc3('0x17')]+_0x4a9469[_0x7dc3('0x1a')];var _0x4da4ca;if(_0x203e6e>=_0x4a2f78){_0x203e6e=_0x4a2f78;_0x4da4ca=0xc8;}else{_0x4da4ca=0xce;}_0xd97fdd[_0x7dc3('0x14')](_0x4da4ca);return _0xd97fdd['set'](_0x7dc3('0x1b'),_0x9f7f06+'-'+_0x203e6e+'/'+_0x4a2f78)['json'](_0x21fb6b);}return null;};}function patchUpdates(_0x9b88d5){return function(_0x44def4){try{jsonpatch[_0x7dc3('0x1c')](_0x44def4,_0x9b88d5,!![]);}catch(_0x410514){return BPromise[_0x7dc3('0x1d')](_0x410514);}return _0x44def4[_0x7dc3('0x1e')]();};}function saveUpdates(_0xdfc7fd,_0x3ad015){return function(_0x4a7d33){if(_0x4a7d33){return _0x4a7d33[_0x7dc3('0x1f')](_0xdfc7fd)[_0x7dc3('0x20')](function(_0x46a745){return _0x46a745;});}return null;};}function removeEntity(_0x332ff6,_0x1937f1){return function(_0x7a2b6f){if(_0x7a2b6f){return _0x7a2b6f[_0x7dc3('0x21')]()['then'](function(){_0x332ff6['status'](0xcc)[_0x7dc3('0x15')]();});}};}function handleEntityNotFound(_0x4bc643,_0x44f409){return function(_0x4870b9){if(!_0x4870b9){_0x4bc643[_0x7dc3('0x13')](0x194);}return _0x4870b9;};}function handleError(_0x1b54af,_0x4e4247){_0x4e4247=_0x4e4247||0x1f4;return function(_0x2f9652){logger['error'](_0x2f9652[_0x7dc3('0x22')]);if(_0x2f9652[_0x7dc3('0x23')]){delete _0x2f9652[_0x7dc3('0x23')];}_0x1b54af['status'](_0x4e4247)['send'](_0x2f9652);};}exports[_0x7dc3('0x24')]=function(_0x398c61,_0x348c18){var _0x21ca3a={},_0x3b16c2={},_0x1b3b5b={'count':0x0,'rows':[]};var _0x347675=_[_0x7dc3('0x25')](db[_0x7dc3('0x26')][_0x7dc3('0x27')],function(_0x2345a9){return{'name':_0x2345a9[_0x7dc3('0x28')],'type':_0x2345a9['type'][_0x7dc3('0x29')]};});_0x3b16c2[_0x7dc3('0x2a')]=_[_0x7dc3('0x25')](_0x347675,_0x7dc3('0x23'));_0x3b16c2[_0x7dc3('0x2b')]=_[_0x7dc3('0x2c')](_0x398c61[_0x7dc3('0x2b')]);_0x3b16c2[_0x7dc3('0x2d')]=_[_0x7dc3('0x2e')](_0x3b16c2[_0x7dc3('0x2a')],_0x3b16c2['query']);_0x21ca3a[_0x7dc3('0x2f')]=_[_0x7dc3('0x2e')](_0x3b16c2[_0x7dc3('0x2a')],qs[_0x7dc3('0x30')](_0x398c61[_0x7dc3('0x2b')][_0x7dc3('0x30')]));_0x21ca3a[_0x7dc3('0x2f')]=_0x21ca3a[_0x7dc3('0x2f')][_0x7dc3('0x31')]?_0x21ca3a[_0x7dc3('0x2f')]:_0x3b16c2[_0x7dc3('0x2a')];if(!_0x398c61[_0x7dc3('0x2b')][_0x7dc3('0x32')](_0x7dc3('0x33'))){_0x21ca3a[_0x7dc3('0x1a')]=qs['limit'](_0x398c61[_0x7dc3('0x2b')][_0x7dc3('0x1a')]);_0x21ca3a['offset']=qs[_0x7dc3('0x17')](_0x398c61['query']['offset']);}_0x21ca3a[_0x7dc3('0x34')]=qs[_0x7dc3('0x35')](_0x398c61[_0x7dc3('0x2b')][_0x7dc3('0x35')]);_0x21ca3a[_0x7dc3('0x36')]=qs['filters'](_['pick'](_0x398c61[_0x7dc3('0x2b')],_0x3b16c2[_0x7dc3('0x2d')]),_0x347675);if(_0x398c61[_0x7dc3('0x2b')]['filter']){_0x21ca3a[_0x7dc3('0x36')]=_['merge'](_0x21ca3a['where'],{'$or':_[_0x7dc3('0x25')](_0x347675,function(_0x420ffb){if(_0x420ffb[_0x7dc3('0x37')]!==_0x7dc3('0x38')){var _0x23a20c={};_0x23a20c[_0x420ffb[_0x7dc3('0x23')]]={'$like':'%'+_0x398c61[_0x7dc3('0x2b')][_0x7dc3('0x39')]+'%'};return _0x23a20c;}})});}_0x21ca3a=_[_0x7dc3('0x3a')]({},_0x21ca3a,_0x398c61['options']);var _0x206a6e={'where':_0x21ca3a[_0x7dc3('0x36')]};return db[_0x7dc3('0x26')]['count'](_0x206a6e)[_0x7dc3('0x20')](function(_0x4320cd){_0x1b3b5b[_0x7dc3('0x19')]=_0x4320cd;if(_0x398c61[_0x7dc3('0x2b')][_0x7dc3('0x3b')]){_0x21ca3a[_0x7dc3('0x3c')]=[{'all':!![]}];}return db[_0x7dc3('0x26')][_0x7dc3('0x3d')](_0x21ca3a);})[_0x7dc3('0x20')](function(_0x410353){_0x1b3b5b[_0x7dc3('0x3e')]=_0x410353;return _0x1b3b5b;})[_0x7dc3('0x20')](respondWithFilteredResult(_0x348c18,_0x21ca3a))[_0x7dc3('0x3f')](handleError(_0x348c18,null));};exports[_0x7dc3('0x40')]=function(_0x1ea37e,_0x24f103){var _0x366893={'raw':!![],'where':{'id':_0x1ea37e[_0x7dc3('0x41')]['id']}},_0x4c831e={};_0x4c831e[_0x7dc3('0x2a')]=_[_0x7dc3('0x2c')](db[_0x7dc3('0x26')][_0x7dc3('0x27')]);_0x4c831e[_0x7dc3('0x2b')]=_[_0x7dc3('0x2c')](_0x1ea37e[_0x7dc3('0x2b')]);_0x4c831e[_0x7dc3('0x2d')]=_['intersection'](_0x4c831e[_0x7dc3('0x2a')],_0x4c831e['query']);_0x366893[_0x7dc3('0x2f')]=_[_0x7dc3('0x2e')](_0x4c831e[_0x7dc3('0x2a')],qs[_0x7dc3('0x30')](_0x1ea37e[_0x7dc3('0x2b')][_0x7dc3('0x30')]));_0x366893[_0x7dc3('0x2f')]=_0x366893[_0x7dc3('0x2f')][_0x7dc3('0x31')]?_0x366893[_0x7dc3('0x2f')]:_0x4c831e[_0x7dc3('0x2a')];if(_0x1ea37e['query'][_0x7dc3('0x3b')]){_0x366893[_0x7dc3('0x3c')]=[{'all':!![]}];}_0x366893=_[_0x7dc3('0x3a')]({},_0x366893,_0x1ea37e[_0x7dc3('0x42')]);return db[_0x7dc3('0x26')][_0x7dc3('0x43')](_0x366893)[_0x7dc3('0x20')](handleEntityNotFound(_0x24f103,null))[_0x7dc3('0x20')](respondWithResult(_0x24f103,null))[_0x7dc3('0x3f')](handleError(_0x24f103,null));};exports[_0x7dc3('0x44')]=function(_0xa27aaa,_0x179f2f){return db[_0x7dc3('0x26')][_0x7dc3('0x44')](_0xa27aaa[_0x7dc3('0x45')],{})[_0x7dc3('0x20')](respondWithResult(_0x179f2f,0xc9))[_0x7dc3('0x3f')](handleError(_0x179f2f,null));};exports[_0x7dc3('0x1f')]=function(_0x1fd75e,_0x96afd2){if(_0x1fd75e[_0x7dc3('0x45')]['id']){delete _0x1fd75e[_0x7dc3('0x45')]['id'];}return db['OpenchannelApplication']['find']({'where':{'id':_0x1fd75e[_0x7dc3('0x41')]['id']}})[_0x7dc3('0x20')](handleEntityNotFound(_0x96afd2,null))[_0x7dc3('0x20')](saveUpdates(_0x1fd75e[_0x7dc3('0x45')],null))[_0x7dc3('0x20')](respondWithResult(_0x96afd2,null))[_0x7dc3('0x3f')](handleError(_0x96afd2,null));};exports['destroy']=function(_0xae2f0c,_0x102886){return db[_0x7dc3('0x26')]['find']({'where':{'id':_0xae2f0c[_0x7dc3('0x41')]['id']}})[_0x7dc3('0x20')](handleEntityNotFound(_0x102886,null))[_0x7dc3('0x20')](removeEntity(_0x102886,null))[_0x7dc3('0x3f')](handleError(_0x102886,null));};