e968cab95b2892b715d5b2db43e515d2a87eb5bc
[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 _0x45c3=['mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','sendStatus','end','status','json','offset','undefined','count','limit','set','Content-Range','apply','save','then','error','stack','name','send','index','map','OpenchannelApplication','rawAttributes','type','key','query','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','VIRTUAL','options','include','findAll','rows','catch','params','keys','includeAll','find','create','body','destroy','eml-format','rimraf','zip-dir','request-promise','bluebird'];(function(_0x502c7d,_0x2f1285){var _0x30b7ed=function(_0x2d92f3){while(--_0x2d92f3){_0x502c7d['push'](_0x502c7d['shift']());}};_0x30b7ed(++_0x2f1285);}(_0x45c3,0x117));var _0x345c=function(_0x3c86dc,_0x5d22fc){_0x3c86dc=_0x3c86dc-0x0;var _0x4aeb79=_0x45c3[_0x3c86dc];return _0x4aeb79;};'use strict';var emlformat=require(_0x345c('0x0'));var rimraf=require(_0x345c('0x1'));var zipdir=require(_0x345c('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x345c('0x3'));var moment=require('moment');var BPromise=require(_0x345c('0x4'));var Mustache=require(_0x345c('0x5'));var util=require('util');var path=require(_0x345c('0x6'));var sox=require(_0x345c('0x7'));var csv=require(_0x345c('0x8'));var ejs=require(_0x345c('0x9'));var fs=require('fs');var fs_extra=require(_0x345c('0xa'));var _=require(_0x345c('0xb'));var squel=require(_0x345c('0xc'));var crypto=require(_0x345c('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x345c('0xe'));var toCsv=require(_0x345c('0x8'));var querystring=require(_0x345c('0xf'));var Papa=require('papaparse');var Redis=require(_0x345c('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x345c('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x345c('0x12'));var utils=require(_0x345c('0x13'));var config=require(_0x345c('0x14'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5db46e,_0x1d23bc){_0x1d23bc=_0x1d23bc||0xcc;return function(_0x466633){if(_0x466633){return _0x5db46e[_0x345c('0x15')](_0x1d23bc);}return _0x5db46e['status'](_0x1d23bc)[_0x345c('0x16')]();};}function respondWithResult(_0x190196,_0x42c812){_0x42c812=_0x42c812||0xc8;return function(_0x320f45){if(_0x320f45){return _0x190196[_0x345c('0x17')](_0x42c812)[_0x345c('0x18')](_0x320f45);}};}function respondWithFilteredResult(_0x37068c,_0x1fc114){return function(_0x16c3fa){if(_0x16c3fa){var _0x3290e7=typeof _0x1fc114[_0x345c('0x19')]===_0x345c('0x1a')&&typeof _0x1fc114['limit']===_0x345c('0x1a');var _0x3d9b0b=_0x16c3fa[_0x345c('0x1b')];var _0x2e986a=_0x3290e7?0x0:_0x1fc114[_0x345c('0x19')];var _0x3fe163=_0x3290e7?_0x16c3fa[_0x345c('0x1b')]:_0x1fc114[_0x345c('0x19')]+_0x1fc114[_0x345c('0x1c')];var _0x4c8315;if(_0x3fe163>=_0x3d9b0b){_0x3fe163=_0x3d9b0b;_0x4c8315=0xc8;}else{_0x4c8315=0xce;}_0x37068c[_0x345c('0x17')](_0x4c8315);return _0x37068c[_0x345c('0x1d')](_0x345c('0x1e'),_0x2e986a+'-'+_0x3fe163+'/'+_0x3d9b0b)[_0x345c('0x18')](_0x16c3fa);}return null;};}function patchUpdates(_0xbfef4){return function(_0xe2d56a){try{jsonpatch[_0x345c('0x1f')](_0xe2d56a,_0xbfef4,!![]);}catch(_0x4d45fe){return BPromise['reject'](_0x4d45fe);}return _0xe2d56a[_0x345c('0x20')]();};}function saveUpdates(_0xcd531f,_0x145f0d){return function(_0x596158){if(_0x596158){return _0x596158['update'](_0xcd531f)[_0x345c('0x21')](function(_0x34c524){return _0x34c524;});}return null;};}function removeEntity(_0x23c0d8,_0x40ecd6){return function(_0x105020){if(_0x105020){return _0x105020['destroy']()[_0x345c('0x21')](function(){_0x23c0d8[_0x345c('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1c147d,_0x1b16d7){return function(_0x445f62){if(!_0x445f62){_0x1c147d[_0x345c('0x15')](0x194);}return _0x445f62;};}function handleError(_0x1fb153,_0x2bd93d){_0x2bd93d=_0x2bd93d||0x1f4;return function(_0x46a5f0){logger[_0x345c('0x22')](_0x46a5f0[_0x345c('0x23')]);if(_0x46a5f0[_0x345c('0x24')]){delete _0x46a5f0['name'];}_0x1fb153[_0x345c('0x17')](_0x2bd93d)[_0x345c('0x25')](_0x46a5f0);};}exports[_0x345c('0x26')]=function(_0x5302ec,_0x570ed0){var _0x8b301d={},_0x1f9a4f={},_0x21834d={'count':0x0,'rows':[]};var _0x1b3eaa=_[_0x345c('0x27')](db[_0x345c('0x28')][_0x345c('0x29')],function(_0x7a16ce){return{'name':_0x7a16ce['fieldName'],'type':_0x7a16ce[_0x345c('0x2a')][_0x345c('0x2b')]};});_0x1f9a4f['model']=_[_0x345c('0x27')](_0x1b3eaa,_0x345c('0x24'));_0x1f9a4f['query']=_['keys'](_0x5302ec[_0x345c('0x2c')]);_0x1f9a4f['filters']=_[_0x345c('0x2d')](_0x1f9a4f[_0x345c('0x2e')],_0x1f9a4f[_0x345c('0x2c')]);_0x8b301d['attributes']=_['intersection'](_0x1f9a4f[_0x345c('0x2e')],qs[_0x345c('0x2f')](_0x5302ec['query'][_0x345c('0x2f')]));_0x8b301d[_0x345c('0x30')]=_0x8b301d[_0x345c('0x30')][_0x345c('0x31')]?_0x8b301d[_0x345c('0x30')]:_0x1f9a4f[_0x345c('0x2e')];if(!_0x5302ec['query'][_0x345c('0x32')](_0x345c('0x33'))){_0x8b301d[_0x345c('0x1c')]=qs[_0x345c('0x1c')](_0x5302ec[_0x345c('0x2c')][_0x345c('0x1c')]);_0x8b301d[_0x345c('0x19')]=qs[_0x345c('0x19')](_0x5302ec['query'][_0x345c('0x19')]);}_0x8b301d[_0x345c('0x34')]=qs[_0x345c('0x35')](_0x5302ec[_0x345c('0x2c')][_0x345c('0x35')]);_0x8b301d[_0x345c('0x36')]=qs[_0x345c('0x37')](_['pick'](_0x5302ec[_0x345c('0x2c')],_0x1f9a4f['filters']),_0x1b3eaa);if(_0x5302ec['query'][_0x345c('0x38')]){_0x8b301d[_0x345c('0x36')]=_[_0x345c('0x39')](_0x8b301d[_0x345c('0x36')],{'$or':_['map'](_0x1b3eaa,function(_0x3a9eac){if(_0x3a9eac[_0x345c('0x2a')]!==_0x345c('0x3a')){var _0x31424e={};_0x31424e[_0x3a9eac[_0x345c('0x24')]]={'$like':'%'+_0x5302ec['query'][_0x345c('0x38')]+'%'};return _0x31424e;}})});}_0x8b301d=_[_0x345c('0x39')]({},_0x8b301d,_0x5302ec[_0x345c('0x3b')]);var _0x320148={'where':_0x8b301d[_0x345c('0x36')]};return db[_0x345c('0x28')][_0x345c('0x1b')](_0x320148)[_0x345c('0x21')](function(_0xda7714){_0x21834d[_0x345c('0x1b')]=_0xda7714;if(_0x5302ec[_0x345c('0x2c')]['includeAll']){_0x8b301d[_0x345c('0x3c')]=[{'all':!![]}];}return db[_0x345c('0x28')][_0x345c('0x3d')](_0x8b301d);})[_0x345c('0x21')](function(_0x3f8c7b){_0x21834d[_0x345c('0x3e')]=_0x3f8c7b;return _0x21834d;})['then'](respondWithFilteredResult(_0x570ed0,_0x8b301d))[_0x345c('0x3f')](handleError(_0x570ed0,null));};exports['show']=function(_0x9a695c,_0xbf0a6f){var _0x5daa23={'raw':!![],'where':{'id':_0x9a695c[_0x345c('0x40')]['id']}},_0x4d32e9={};_0x4d32e9[_0x345c('0x2e')]=_[_0x345c('0x41')](db[_0x345c('0x28')][_0x345c('0x29')]);_0x4d32e9['query']=_[_0x345c('0x41')](_0x9a695c[_0x345c('0x2c')]);_0x4d32e9[_0x345c('0x37')]=_['intersection'](_0x4d32e9[_0x345c('0x2e')],_0x4d32e9[_0x345c('0x2c')]);_0x5daa23[_0x345c('0x30')]=_[_0x345c('0x2d')](_0x4d32e9['model'],qs[_0x345c('0x2f')](_0x9a695c[_0x345c('0x2c')][_0x345c('0x2f')]));_0x5daa23['attributes']=_0x5daa23[_0x345c('0x30')][_0x345c('0x31')]?_0x5daa23[_0x345c('0x30')]:_0x4d32e9['model'];if(_0x9a695c['query'][_0x345c('0x42')]){_0x5daa23[_0x345c('0x3c')]=[{'all':!![]}];}_0x5daa23=_[_0x345c('0x39')]({},_0x5daa23,_0x9a695c['options']);return db['OpenchannelApplication'][_0x345c('0x43')](_0x5daa23)[_0x345c('0x21')](handleEntityNotFound(_0xbf0a6f,null))['then'](respondWithResult(_0xbf0a6f,null))[_0x345c('0x3f')](handleError(_0xbf0a6f,null));};exports[_0x345c('0x44')]=function(_0x34209d,_0x23b203){return db['OpenchannelApplication']['create'](_0x34209d['body'],{})[_0x345c('0x21')](respondWithResult(_0x23b203,0xc9))[_0x345c('0x3f')](handleError(_0x23b203,null));};exports['update']=function(_0x44b942,_0x3369af){if(_0x44b942['body']['id']){delete _0x44b942[_0x345c('0x45')]['id'];}return db[_0x345c('0x28')][_0x345c('0x43')]({'where':{'id':_0x44b942['params']['id']}})[_0x345c('0x21')](handleEntityNotFound(_0x3369af,null))[_0x345c('0x21')](saveUpdates(_0x44b942[_0x345c('0x45')],null))[_0x345c('0x21')](respondWithResult(_0x3369af,null))[_0x345c('0x3f')](handleError(_0x3369af,null));};exports[_0x345c('0x46')]=function(_0xfaaca5,_0x5a608f){return db[_0x345c('0x28')][_0x345c('0x43')]({'where':{'id':_0xfaaca5[_0x345c('0x40')]['id']}})[_0x345c('0x21')](handleEntityNotFound(_0x5a608f,null))[_0x345c('0x21')](removeEntity(_0x5a608f,null))[_0x345c('0x3f')](handleError(_0x5a608f,null));};