49a2fc3d5a69d64fe60ad7a4b2d4530fc0d87e17
[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 _0x9697=['count','status','set','Content-Range','apply','reject','save','update','then','error','stack','name','OpenchannelApplication','rawAttributes','fieldName','type','model','map','keys','query','filters','intersection','attributes','fields','length','nolimit','sort','pick','filter','where','merge','VIRTUAL','includeAll','include','findAll','rows','params','options','catch','create','body','find','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','end','json','offset','undefined','limit'];(function(_0x11933d,_0x3d5e7d){var _0x4e6920=function(_0x2878ad){while(--_0x2878ad){_0x11933d['push'](_0x11933d['shift']());}};_0x4e6920(++_0x3d5e7d);}(_0x9697,0x192));var _0x7969=function(_0x14dc40,_0x132e45){_0x14dc40=_0x14dc40-0x0;var _0x39f9eb=_0x9697[_0x14dc40];return _0x39f9eb;};'use strict';var emlformat=require(_0x7969('0x0'));var rimraf=require(_0x7969('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x7969('0x2'));var rp=require(_0x7969('0x3'));var moment=require(_0x7969('0x4'));var BPromise=require(_0x7969('0x5'));var Mustache=require(_0x7969('0x6'));var util=require(_0x7969('0x7'));var path=require(_0x7969('0x8'));var sox=require(_0x7969('0x9'));var csv=require(_0x7969('0xa'));var ejs=require(_0x7969('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x7969('0xc'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x7969('0xd'));var deskjs=require(_0x7969('0xe'));var toCsv=require(_0x7969('0xa'));var querystring=require('querystring');var Papa=require(_0x7969('0xf'));var Redis=require(_0x7969('0x10'));var authService=require(_0x7969('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x7969('0x12'));var hardwareService=require(_0x7969('0x13'));var logger=require(_0x7969('0x14'))(_0x7969('0x15'));var utils=require(_0x7969('0x16'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x7969('0x17'))['db'];function respondWithStatusCode(_0x259be4,_0x52b9f0){_0x52b9f0=_0x52b9f0||0xcc;return function(_0x2dd979){if(_0x2dd979){return _0x259be4[_0x7969('0x18')](_0x52b9f0);}return _0x259be4['status'](_0x52b9f0)[_0x7969('0x19')]();};}function respondWithResult(_0x5e8e0c,_0x2bd63a){_0x2bd63a=_0x2bd63a||0xc8;return function(_0x86b4f6){if(_0x86b4f6){return _0x5e8e0c['status'](_0x2bd63a)[_0x7969('0x1a')](_0x86b4f6);}};}function respondWithFilteredResult(_0x5a04e0,_0x32892e){return function(_0x3a31c5){if(_0x3a31c5){var _0x40a6ca=typeof _0x32892e[_0x7969('0x1b')]===_0x7969('0x1c')&&typeof _0x32892e[_0x7969('0x1d')]===_0x7969('0x1c');var _0x5e383a=_0x3a31c5[_0x7969('0x1e')];var _0x25f69b=_0x40a6ca?0x0:_0x32892e['offset'];var _0x33a3c5=_0x40a6ca?_0x3a31c5[_0x7969('0x1e')]:_0x32892e[_0x7969('0x1b')]+_0x32892e[_0x7969('0x1d')];var _0x207905;if(_0x33a3c5>=_0x5e383a){_0x33a3c5=_0x5e383a;_0x207905=0xc8;}else{_0x207905=0xce;}_0x5a04e0[_0x7969('0x1f')](_0x207905);return _0x5a04e0[_0x7969('0x20')](_0x7969('0x21'),_0x25f69b+'-'+_0x33a3c5+'/'+_0x5e383a)[_0x7969('0x1a')](_0x3a31c5);}return null;};}function patchUpdates(_0x49a853){return function(_0x1559e6){try{jsonpatch[_0x7969('0x22')](_0x1559e6,_0x49a853,!![]);}catch(_0x5a5531){return BPromise[_0x7969('0x23')](_0x5a5531);}return _0x1559e6[_0x7969('0x24')]();};}function saveUpdates(_0x3ccf18,_0x39587f){return function(_0x9a92d4){if(_0x9a92d4){return _0x9a92d4[_0x7969('0x25')](_0x3ccf18)[_0x7969('0x26')](function(_0x312ded){return _0x312ded;});}return null;};}function removeEntity(_0x4447c3,_0x57abbb){return function(_0x379940){if(_0x379940){return _0x379940['destroy']()[_0x7969('0x26')](function(){_0x4447c3['status'](0xcc)[_0x7969('0x19')]();});}};}function handleEntityNotFound(_0x12d2b6,_0x329ae8){return function(_0x155a36){if(!_0x155a36){_0x12d2b6[_0x7969('0x18')](0x194);}return _0x155a36;};}function handleError(_0x48680e,_0x58b7c1){_0x58b7c1=_0x58b7c1||0x1f4;return function(_0x53e951){logger[_0x7969('0x27')](_0x53e951[_0x7969('0x28')]);if(_0x53e951[_0x7969('0x29')]){delete _0x53e951['name'];}_0x48680e['status'](_0x58b7c1)['send'](_0x53e951);};}exports['index']=function(_0x2a2bc8,_0x2c1ee5){var _0x254605={},_0x4ec82c={},_0x146754={'count':0x0,'rows':[]};var _0x3c42ff=_['map'](db[_0x7969('0x2a')][_0x7969('0x2b')],function(_0x522397){return{'name':_0x522397[_0x7969('0x2c')],'type':_0x522397[_0x7969('0x2d')]['key']};});_0x4ec82c[_0x7969('0x2e')]=_[_0x7969('0x2f')](_0x3c42ff,_0x7969('0x29'));_0x4ec82c['query']=_[_0x7969('0x30')](_0x2a2bc8[_0x7969('0x31')]);_0x4ec82c[_0x7969('0x32')]=_[_0x7969('0x33')](_0x4ec82c['model'],_0x4ec82c[_0x7969('0x31')]);_0x254605[_0x7969('0x34')]=_['intersection'](_0x4ec82c['model'],qs[_0x7969('0x35')](_0x2a2bc8['query']['fields']));_0x254605[_0x7969('0x34')]=_0x254605[_0x7969('0x34')][_0x7969('0x36')]?_0x254605[_0x7969('0x34')]:_0x4ec82c['model'];if(!_0x2a2bc8['query']['hasOwnProperty'](_0x7969('0x37'))){_0x254605[_0x7969('0x1d')]=qs['limit'](_0x2a2bc8['query'][_0x7969('0x1d')]);_0x254605[_0x7969('0x1b')]=qs[_0x7969('0x1b')](_0x2a2bc8[_0x7969('0x31')][_0x7969('0x1b')]);}_0x254605['order']=qs[_0x7969('0x38')](_0x2a2bc8[_0x7969('0x31')][_0x7969('0x38')]);_0x254605['where']=qs[_0x7969('0x32')](_[_0x7969('0x39')](_0x2a2bc8[_0x7969('0x31')],_0x4ec82c[_0x7969('0x32')]),_0x3c42ff);if(_0x2a2bc8[_0x7969('0x31')][_0x7969('0x3a')]){_0x254605[_0x7969('0x3b')]=_[_0x7969('0x3c')](_0x254605[_0x7969('0x3b')],{'$or':_['map'](_0x3c42ff,function(_0x465514){if(_0x465514[_0x7969('0x2d')]!==_0x7969('0x3d')){var _0x22dc55={};_0x22dc55[_0x465514[_0x7969('0x29')]]={'$like':'%'+_0x2a2bc8['query']['filter']+'%'};return _0x22dc55;}})});}_0x254605=_[_0x7969('0x3c')]({},_0x254605,_0x2a2bc8['options']);var _0x2231d8={'where':_0x254605['where']};return db['OpenchannelApplication'][_0x7969('0x1e')](_0x2231d8)['then'](function(_0x570807){_0x146754[_0x7969('0x1e')]=_0x570807;if(_0x2a2bc8[_0x7969('0x31')][_0x7969('0x3e')]){_0x254605[_0x7969('0x3f')]=[{'all':!![]}];}return db[_0x7969('0x2a')][_0x7969('0x40')](_0x254605);})['then'](function(_0x65f9df){_0x146754[_0x7969('0x41')]=_0x65f9df;return _0x146754;})[_0x7969('0x26')](respondWithFilteredResult(_0x2c1ee5,_0x254605))['catch'](handleError(_0x2c1ee5,null));};exports['show']=function(_0x473bc6,_0x1223c9){var _0x578d56={'raw':!![],'where':{'id':_0x473bc6[_0x7969('0x42')]['id']}},_0x4e2f77={};_0x4e2f77[_0x7969('0x2e')]=_['keys'](db[_0x7969('0x2a')][_0x7969('0x2b')]);_0x4e2f77[_0x7969('0x31')]=_[_0x7969('0x30')](_0x473bc6[_0x7969('0x31')]);_0x4e2f77[_0x7969('0x32')]=_['intersection'](_0x4e2f77[_0x7969('0x2e')],_0x4e2f77[_0x7969('0x31')]);_0x578d56[_0x7969('0x34')]=_[_0x7969('0x33')](_0x4e2f77[_0x7969('0x2e')],qs[_0x7969('0x35')](_0x473bc6[_0x7969('0x31')][_0x7969('0x35')]));_0x578d56[_0x7969('0x34')]=_0x578d56[_0x7969('0x34')][_0x7969('0x36')]?_0x578d56['attributes']:_0x4e2f77[_0x7969('0x2e')];if(_0x473bc6[_0x7969('0x31')][_0x7969('0x3e')]){_0x578d56['include']=[{'all':!![]}];}_0x578d56=_[_0x7969('0x3c')]({},_0x578d56,_0x473bc6[_0x7969('0x43')]);return db[_0x7969('0x2a')]['find'](_0x578d56)[_0x7969('0x26')](handleEntityNotFound(_0x1223c9,null))[_0x7969('0x26')](respondWithResult(_0x1223c9,null))[_0x7969('0x44')](handleError(_0x1223c9,null));};exports[_0x7969('0x45')]=function(_0x26124a,_0x59d56f){return db[_0x7969('0x2a')][_0x7969('0x45')](_0x26124a[_0x7969('0x46')],{})[_0x7969('0x26')](respondWithResult(_0x59d56f,0xc9))['catch'](handleError(_0x59d56f,null));};exports[_0x7969('0x25')]=function(_0x49888b,_0x3cd16a){if(_0x49888b['body']['id']){delete _0x49888b[_0x7969('0x46')]['id'];}return db[_0x7969('0x2a')][_0x7969('0x47')]({'where':{'id':_0x49888b[_0x7969('0x42')]['id']}})['then'](handleEntityNotFound(_0x3cd16a,null))[_0x7969('0x26')](saveUpdates(_0x49888b[_0x7969('0x46')],null))['then'](respondWithResult(_0x3cd16a,null))[_0x7969('0x44')](handleError(_0x3cd16a,null));};exports['destroy']=function(_0x28a1c9,_0x5678c0){return db[_0x7969('0x2a')][_0x7969('0x47')]({'where':{'id':_0x28a1c9[_0x7969('0x42')]['id']}})[_0x7969('0x26')](handleEntityNotFound(_0x5678c0,null))['then'](removeEntity(_0x5678c0,null))[_0x7969('0x44')](handleError(_0x5678c0,null));};