Built motion from commit d1eab355.|2.6.28
[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 _0xaa30=['squel','crypto','jsforce','to-csv','querystring','../../config/license/hardware','../../config/logger','../../config/license/util','../../mysqldb','status','end','undefined','limit','count','offset','set','Content-Range','json','apply','update','destroy','error','stack','name','send','index','map','OpenchannelApplication','rawAttributes','fieldName','model','query','keys','filters','intersection','attributes','fields','length','order','sort','where','filter','merge','type','VIRTUAL','options','then','include','findAll','rows','catch','includeAll','find','create','body','params','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','ejs','lodash'];(function(_0x233601,_0x59ac04){var _0x4010da=function(_0x3ce2c6){while(--_0x3ce2c6){_0x233601['push'](_0x233601['shift']());}};_0x4010da(++_0x59ac04);}(_0xaa30,0x1ca));var _0x0aa3=function(_0x481bf7,_0x437f69){_0x481bf7=_0x481bf7-0x0;var _0x461787=_0xaa30[_0x481bf7];return _0x461787;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x0aa3('0x0'));var zipdir=require(_0x0aa3('0x1'));var jsonpatch=require(_0x0aa3('0x2'));var rp=require('request-promise');var moment=require(_0x0aa3('0x3'));var BPromise=require(_0x0aa3('0x4'));var Mustache=require(_0x0aa3('0x5'));var util=require(_0x0aa3('0x6'));var path=require(_0x0aa3('0x7'));var sox=require(_0x0aa3('0x8'));var csv=require('to-csv');var ejs=require(_0x0aa3('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x0aa3('0xa'));var squel=require(_0x0aa3('0xb'));var crypto=require(_0x0aa3('0xc'));var jsforce=require(_0x0aa3('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x0aa3('0xe'));var querystring=require(_0x0aa3('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x0aa3('0x10'));var logger=require(_0x0aa3('0x11'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x0aa3('0x12'));var db=require(_0x0aa3('0x13'))['db'];function respondWithStatusCode(_0x3ccd26,_0xe05282){_0xe05282=_0xe05282||0xcc;return function(_0x2861cd){if(_0x2861cd){return _0x3ccd26['sendStatus'](_0xe05282);}return _0x3ccd26[_0x0aa3('0x14')](_0xe05282)[_0x0aa3('0x15')]();};}function respondWithResult(_0x137343,_0x360023){_0x360023=_0x360023||0xc8;return function(_0xe74cab){if(_0xe74cab){return _0x137343[_0x0aa3('0x14')](_0x360023)['json'](_0xe74cab);}};}function respondWithFilteredResult(_0x507d3d,_0x2cbc54){return function(_0x16d35a){if(_0x16d35a){var _0x31fb22=typeof _0x2cbc54['offset']===_0x0aa3('0x16')&&typeof _0x2cbc54[_0x0aa3('0x17')]===_0x0aa3('0x16');var _0x2d0756=_0x16d35a[_0x0aa3('0x18')];var _0x194487=_0x31fb22?0x0:_0x2cbc54[_0x0aa3('0x19')];var _0x5be500=_0x31fb22?_0x16d35a[_0x0aa3('0x18')]:_0x2cbc54[_0x0aa3('0x19')]+_0x2cbc54[_0x0aa3('0x17')];var _0x5b9825;if(_0x5be500>=_0x2d0756){_0x5be500=_0x2d0756;_0x5b9825=0xc8;}else{_0x5b9825=0xce;}_0x507d3d[_0x0aa3('0x14')](_0x5b9825);return _0x507d3d[_0x0aa3('0x1a')](_0x0aa3('0x1b'),_0x194487+'-'+_0x5be500+'/'+_0x2d0756)[_0x0aa3('0x1c')](_0x16d35a);}return null;};}function patchUpdates(_0x24f83e){return function(_0x1e9e7b){try{jsonpatch[_0x0aa3('0x1d')](_0x1e9e7b,_0x24f83e,!![]);}catch(_0x2b755d){return BPromise['reject'](_0x2b755d);}return _0x1e9e7b['save']();};}function saveUpdates(_0x9d9208,_0x1b5c27){return function(_0x302dc6){if(_0x302dc6){return _0x302dc6[_0x0aa3('0x1e')](_0x9d9208)['then'](function(_0x594951){return _0x594951;});}return null;};}function removeEntity(_0x46a517,_0x421fba){return function(_0x304ded){if(_0x304ded){return _0x304ded[_0x0aa3('0x1f')]()['then'](function(){_0x46a517['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x232ba7,_0x201e43){return function(_0x1e689f){if(!_0x1e689f){_0x232ba7['sendStatus'](0x194);}return _0x1e689f;};}function handleError(_0x258ec4,_0x601d09){_0x601d09=_0x601d09||0x1f4;return function(_0x128fe2){logger[_0x0aa3('0x20')](_0x128fe2[_0x0aa3('0x21')]);if(_0x128fe2[_0x0aa3('0x22')]){delete _0x128fe2[_0x0aa3('0x22')];}_0x258ec4[_0x0aa3('0x14')](_0x601d09)[_0x0aa3('0x23')](_0x128fe2);};}exports[_0x0aa3('0x24')]=function(_0x53557c,_0x4600f4){var _0x5e00a1={},_0x4f64ea={},_0xf4b5cc={'count':0x0,'rows':[]};var _0x51f2b3=_[_0x0aa3('0x25')](db[_0x0aa3('0x26')][_0x0aa3('0x27')],function(_0x12b487){return{'name':_0x12b487[_0x0aa3('0x28')],'type':_0x12b487['type']['key']};});_0x4f64ea[_0x0aa3('0x29')]=_[_0x0aa3('0x25')](_0x51f2b3,_0x0aa3('0x22'));_0x4f64ea[_0x0aa3('0x2a')]=_[_0x0aa3('0x2b')](_0x53557c[_0x0aa3('0x2a')]);_0x4f64ea[_0x0aa3('0x2c')]=_[_0x0aa3('0x2d')](_0x4f64ea[_0x0aa3('0x29')],_0x4f64ea['query']);_0x5e00a1[_0x0aa3('0x2e')]=_[_0x0aa3('0x2d')](_0x4f64ea[_0x0aa3('0x29')],qs['fields'](_0x53557c[_0x0aa3('0x2a')][_0x0aa3('0x2f')]));_0x5e00a1['attributes']=_0x5e00a1[_0x0aa3('0x2e')][_0x0aa3('0x30')]?_0x5e00a1[_0x0aa3('0x2e')]:_0x4f64ea[_0x0aa3('0x29')];if(!_0x53557c[_0x0aa3('0x2a')]['hasOwnProperty']('nolimit')){_0x5e00a1[_0x0aa3('0x17')]=qs[_0x0aa3('0x17')](_0x53557c[_0x0aa3('0x2a')][_0x0aa3('0x17')]);_0x5e00a1[_0x0aa3('0x19')]=qs[_0x0aa3('0x19')](_0x53557c[_0x0aa3('0x2a')][_0x0aa3('0x19')]);}_0x5e00a1[_0x0aa3('0x31')]=qs[_0x0aa3('0x32')](_0x53557c['query'][_0x0aa3('0x32')]);_0x5e00a1[_0x0aa3('0x33')]=qs['filters'](_['pick'](_0x53557c['query'],_0x4f64ea[_0x0aa3('0x2c')]),_0x51f2b3);if(_0x53557c[_0x0aa3('0x2a')][_0x0aa3('0x34')]){_0x5e00a1[_0x0aa3('0x33')]=_[_0x0aa3('0x35')](_0x5e00a1['where'],{'$or':_[_0x0aa3('0x25')](_0x51f2b3,function(_0x1c0cbf){if(_0x1c0cbf[_0x0aa3('0x36')]!==_0x0aa3('0x37')){var _0x32fa13={};_0x32fa13[_0x1c0cbf[_0x0aa3('0x22')]]={'$like':'%'+_0x53557c[_0x0aa3('0x2a')][_0x0aa3('0x34')]+'%'};return _0x32fa13;}})});}_0x5e00a1=_[_0x0aa3('0x35')]({},_0x5e00a1,_0x53557c[_0x0aa3('0x38')]);var _0x2d138c={'where':_0x5e00a1['where']};return db[_0x0aa3('0x26')]['count'](_0x2d138c)[_0x0aa3('0x39')](function(_0x2f6916){_0xf4b5cc[_0x0aa3('0x18')]=_0x2f6916;if(_0x53557c['query']['includeAll']){_0x5e00a1[_0x0aa3('0x3a')]=[{'all':!![]}];}return db[_0x0aa3('0x26')][_0x0aa3('0x3b')](_0x5e00a1);})[_0x0aa3('0x39')](function(_0xf30eac){_0xf4b5cc[_0x0aa3('0x3c')]=_0xf30eac;return _0xf4b5cc;})[_0x0aa3('0x39')](respondWithFilteredResult(_0x4600f4,_0x5e00a1))[_0x0aa3('0x3d')](handleError(_0x4600f4,null));};exports['show']=function(_0x48f514,_0x404235){var _0x222b92={'raw':!![],'where':{'id':_0x48f514['params']['id']}},_0x4608d6={};_0x4608d6['model']=_['keys'](db[_0x0aa3('0x26')][_0x0aa3('0x27')]);_0x4608d6[_0x0aa3('0x2a')]=_['keys'](_0x48f514[_0x0aa3('0x2a')]);_0x4608d6[_0x0aa3('0x2c')]=_['intersection'](_0x4608d6['model'],_0x4608d6[_0x0aa3('0x2a')]);_0x222b92[_0x0aa3('0x2e')]=_[_0x0aa3('0x2d')](_0x4608d6[_0x0aa3('0x29')],qs[_0x0aa3('0x2f')](_0x48f514[_0x0aa3('0x2a')][_0x0aa3('0x2f')]));_0x222b92['attributes']=_0x222b92[_0x0aa3('0x2e')]['length']?_0x222b92[_0x0aa3('0x2e')]:_0x4608d6[_0x0aa3('0x29')];if(_0x48f514[_0x0aa3('0x2a')][_0x0aa3('0x3e')]){_0x222b92['include']=[{'all':!![]}];}_0x222b92=_[_0x0aa3('0x35')]({},_0x222b92,_0x48f514[_0x0aa3('0x38')]);return db[_0x0aa3('0x26')][_0x0aa3('0x3f')](_0x222b92)[_0x0aa3('0x39')](handleEntityNotFound(_0x404235,null))[_0x0aa3('0x39')](respondWithResult(_0x404235,null))['catch'](handleError(_0x404235,null));};exports[_0x0aa3('0x40')]=function(_0x1a17c4,_0x59a722){return db[_0x0aa3('0x26')]['create'](_0x1a17c4[_0x0aa3('0x41')],{})['then'](respondWithResult(_0x59a722,0xc9))['catch'](handleError(_0x59a722,null));};exports[_0x0aa3('0x1e')]=function(_0x3e9b8b,_0x3e0717){if(_0x3e9b8b[_0x0aa3('0x41')]['id']){delete _0x3e9b8b[_0x0aa3('0x41')]['id'];}return db[_0x0aa3('0x26')]['find']({'where':{'id':_0x3e9b8b[_0x0aa3('0x42')]['id']}})[_0x0aa3('0x39')](handleEntityNotFound(_0x3e0717,null))[_0x0aa3('0x39')](saveUpdates(_0x3e9b8b[_0x0aa3('0x41')],null))['then'](respondWithResult(_0x3e0717,null))[_0x0aa3('0x3d')](handleError(_0x3e0717,null));};exports[_0x0aa3('0x1f')]=function(_0x20de7e,_0x259152){return db[_0x0aa3('0x26')]['find']({'where':{'id':_0x20de7e['params']['id']}})[_0x0aa3('0x39')](handleEntityNotFound(_0x259152,null))[_0x0aa3('0x39')](removeEntity(_0x259152,null))['catch'](handleError(_0x259152,null));};