9be73c526c799c709d22946ff5cbf8ee8533dfe8
[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 _0x5156=['model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','catch','show','options','find','create','body','update','params','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','path','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','save','then','destroy','end','error','stack','name','send','index','map','OpenchannelApplication','rawAttributes','fieldName','type','key'];(function(_0x469d74,_0x11ad2b){var _0x3f14c7=function(_0x40456d){while(--_0x40456d){_0x469d74['push'](_0x469d74['shift']());}};_0x3f14c7(++_0x11ad2b);}(_0x5156,0xb4));var _0x6515=function(_0xdb50e1,_0x112a80){_0xdb50e1=_0xdb50e1-0x0;var _0x2a50fc=_0x5156[_0xdb50e1];return _0x2a50fc;};'use strict';var pdf=require(_0x6515('0x0'));var emlformat=require(_0x6515('0x1'));var rimraf=require(_0x6515('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6515('0x3'));var rp=require(_0x6515('0x4'));var moment=require('moment');var BPromise=require(_0x6515('0x5'));var Mustache=require(_0x6515('0x6'));var util=require(_0x6515('0x7'));var path=require(_0x6515('0x8'));var sox=require('sox');var csv=require(_0x6515('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x6515('0xa'));var squel=require(_0x6515('0xb'));var crypto=require(_0x6515('0xc'));var jsforce=require(_0x6515('0xd'));var deskjs=require(_0x6515('0xe'));var toCsv=require(_0x6515('0x9'));var querystring=require(_0x6515('0xf'));var Papa=require(_0x6515('0x10'));var Redis=require('ioredis');var authService=require(_0x6515('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x6515('0x12'));var hardwareService=require(_0x6515('0x13'));var logger=require(_0x6515('0x14'))(_0x6515('0x15'));var utils=require(_0x6515('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x6515('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x111075,_0x517ca6){_0x517ca6=_0x517ca6||0xcc;return function(_0x2ca2b8){if(_0x2ca2b8){return _0x111075[_0x6515('0x18')](_0x517ca6);}return _0x111075['status'](_0x517ca6)['end']();};}function respondWithResult(_0xf55c40,_0x141a7a){_0x141a7a=_0x141a7a||0xc8;return function(_0x10d619){if(_0x10d619){return _0xf55c40[_0x6515('0x19')](_0x141a7a)[_0x6515('0x1a')](_0x10d619);}};}function respondWithFilteredResult(_0x8fbef0,_0xee15db){return function(_0x4c2643){if(_0x4c2643){var _0x15ec7d=_0x4c2643[_0x6515('0x1b')],_0x29f424=_0xee15db[_0x6515('0x1c')],_0x5717af=_0xee15db['offset']+_0xee15db[_0x6515('0x1d')],_0x4febdd;if(_0x5717af>=_0x15ec7d){_0x5717af=_0x15ec7d;_0x4febdd=0xc8;}else{_0x4febdd=0xce;}_0x8fbef0[_0x6515('0x19')](_0x4febdd);return _0x8fbef0[_0x6515('0x1e')](_0x6515('0x1f'),_0x29f424+'-'+_0x5717af+'/'+_0x15ec7d)[_0x6515('0x1a')](_0x4c2643);}return null;};}function patchUpdates(_0x12e58c){return function(_0x16608a){try{jsonpatch[_0x6515('0x20')](_0x16608a,_0x12e58c,!![]);}catch(_0x1ce013){return BPromise['reject'](_0x1ce013);}return _0x16608a[_0x6515('0x21')]();};}function saveUpdates(_0x16781f,_0x54a7bf){return function(_0x2290f7){if(_0x2290f7){return _0x2290f7['update'](_0x16781f)[_0x6515('0x22')](function(_0x3310d1){return _0x3310d1;});}return null;};}function removeEntity(_0x471190,_0x357539){return function(_0x55ba78){if(_0x55ba78){return _0x55ba78[_0x6515('0x23')]()['then'](function(){_0x471190[_0x6515('0x19')](0xcc)[_0x6515('0x24')]();});}};}function handleEntityNotFound(_0x1190ec,_0x1ecaec){return function(_0x29ff46){if(!_0x29ff46){_0x1190ec['sendStatus'](0x194);}return _0x29ff46;};}function handleError(_0x2a346a,_0xa0ff1e){_0xa0ff1e=_0xa0ff1e||0x1f4;return function(_0x4e2b7e){logger[_0x6515('0x25')](_0x4e2b7e[_0x6515('0x26')]);if(_0x4e2b7e['name']){delete _0x4e2b7e[_0x6515('0x27')];}_0x2a346a[_0x6515('0x19')](_0xa0ff1e)[_0x6515('0x28')](_0x4e2b7e);};}exports[_0x6515('0x29')]=function(_0x30c5be,_0x40a9ca){var _0x1916cd={},_0x415af7={},_0x498aad={'count':0x0,'rows':[]};var _0x12db11=_[_0x6515('0x2a')](db[_0x6515('0x2b')][_0x6515('0x2c')],function(_0x28d044){return{'name':_0x28d044[_0x6515('0x2d')],'type':_0x28d044[_0x6515('0x2e')][_0x6515('0x2f')]};});_0x415af7[_0x6515('0x30')]=_[_0x6515('0x2a')](_0x12db11,_0x6515('0x27'));_0x415af7['query']=_[_0x6515('0x31')](_0x30c5be[_0x6515('0x32')]);_0x415af7[_0x6515('0x33')]=_[_0x6515('0x34')](_0x415af7[_0x6515('0x30')],_0x415af7[_0x6515('0x32')]);_0x1916cd[_0x6515('0x35')]=_[_0x6515('0x34')](_0x415af7[_0x6515('0x30')],qs[_0x6515('0x36')](_0x30c5be[_0x6515('0x32')][_0x6515('0x36')]));_0x1916cd['attributes']=_0x1916cd[_0x6515('0x35')][_0x6515('0x37')]?_0x1916cd['attributes']:_0x415af7[_0x6515('0x30')];if(!_0x30c5be[_0x6515('0x32')][_0x6515('0x38')](_0x6515('0x39'))){_0x1916cd[_0x6515('0x1d')]=qs[_0x6515('0x1d')](_0x30c5be[_0x6515('0x32')][_0x6515('0x1d')]);_0x1916cd['offset']=qs['offset'](_0x30c5be[_0x6515('0x32')][_0x6515('0x1c')]);}_0x1916cd[_0x6515('0x3a')]=qs[_0x6515('0x3b')](_0x30c5be['query'][_0x6515('0x3b')]);_0x1916cd[_0x6515('0x3c')]=qs[_0x6515('0x33')](_[_0x6515('0x3d')](_0x30c5be[_0x6515('0x32')],_0x415af7[_0x6515('0x33')]),_0x12db11);if(_0x30c5be[_0x6515('0x32')][_0x6515('0x3e')]){_0x1916cd[_0x6515('0x3c')]=_[_0x6515('0x3f')](_0x1916cd[_0x6515('0x3c')],{'$or':_[_0x6515('0x2a')](_0x12db11,function(_0x1379b4){if(_0x1379b4[_0x6515('0x2e')]!==_0x6515('0x40')){var _0x2c29e8={};_0x2c29e8[_0x1379b4[_0x6515('0x27')]]={'$like':'%'+_0x30c5be[_0x6515('0x32')][_0x6515('0x3e')]+'%'};return _0x2c29e8;}})});}_0x1916cd=_[_0x6515('0x3f')]({},_0x1916cd,_0x30c5be['options']);var _0x20c2a7={'where':_0x1916cd[_0x6515('0x3c')]};return db[_0x6515('0x2b')][_0x6515('0x1b')](_0x20c2a7)[_0x6515('0x22')](function(_0x305744){_0x498aad[_0x6515('0x1b')]=_0x305744;if(_0x30c5be['query'][_0x6515('0x41')]){_0x1916cd[_0x6515('0x42')]=[{'all':!![]}];}return db[_0x6515('0x2b')][_0x6515('0x43')](_0x1916cd);})[_0x6515('0x22')](function(_0x56c69a){_0x498aad['rows']=_0x56c69a;return _0x498aad;})[_0x6515('0x22')](respondWithFilteredResult(_0x40a9ca,_0x1916cd))[_0x6515('0x44')](handleError(_0x40a9ca,null));};exports[_0x6515('0x45')]=function(_0x36907c,_0x5510e9){var _0x8477f3={'raw':!![],'where':{'id':_0x36907c['params']['id']}},_0x173400={};_0x173400[_0x6515('0x30')]=_[_0x6515('0x31')](db[_0x6515('0x2b')][_0x6515('0x2c')]);_0x173400[_0x6515('0x32')]=_[_0x6515('0x31')](_0x36907c[_0x6515('0x32')]);_0x173400['filters']=_[_0x6515('0x34')](_0x173400['model'],_0x173400[_0x6515('0x32')]);_0x8477f3[_0x6515('0x35')]=_[_0x6515('0x34')](_0x173400[_0x6515('0x30')],qs[_0x6515('0x36')](_0x36907c[_0x6515('0x32')]['fields']));_0x8477f3[_0x6515('0x35')]=_0x8477f3['attributes'][_0x6515('0x37')]?_0x8477f3['attributes']:_0x173400[_0x6515('0x30')];if(_0x36907c[_0x6515('0x32')][_0x6515('0x41')]){_0x8477f3[_0x6515('0x42')]=[{'all':!![]}];}_0x8477f3=_[_0x6515('0x3f')]({},_0x8477f3,_0x36907c[_0x6515('0x46')]);return db['OpenchannelApplication'][_0x6515('0x47')](_0x8477f3)['then'](handleEntityNotFound(_0x5510e9,null))[_0x6515('0x22')](respondWithResult(_0x5510e9,null))[_0x6515('0x44')](handleError(_0x5510e9,null));};exports['create']=function(_0x3cd9df,_0x409197){return db[_0x6515('0x2b')][_0x6515('0x48')](_0x3cd9df[_0x6515('0x49')],{})[_0x6515('0x22')](respondWithResult(_0x409197,0xc9))[_0x6515('0x44')](handleError(_0x409197,null));};exports[_0x6515('0x4a')]=function(_0xb531c8,_0x1e0ff7){if(_0xb531c8[_0x6515('0x49')]['id']){delete _0xb531c8[_0x6515('0x49')]['id'];}return db[_0x6515('0x2b')][_0x6515('0x47')]({'where':{'id':_0xb531c8[_0x6515('0x4b')]['id']}})[_0x6515('0x22')](handleEntityNotFound(_0x1e0ff7,null))['then'](saveUpdates(_0xb531c8['body'],null))[_0x6515('0x22')](respondWithResult(_0x1e0ff7,null))['catch'](handleError(_0x1e0ff7,null));};exports[_0x6515('0x23')]=function(_0x481d49,_0x35eedc){return db[_0x6515('0x2b')]['find']({'where':{'id':_0x481d49[_0x6515('0x4b')]['id']}})['then'](handleEntityNotFound(_0x35eedc,null))['then'](removeEntity(_0x35eedc,null))[_0x6515('0x44')](handleError(_0x35eedc,null));};