e98aef1e17d6c76fecb2eba1e8b21c0e08da80e8
[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 _0x6acf=['body','find','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','util','path','sox','ejs','fs-extra','lodash','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','count','set','Content-Range','apply','save','update','destroy','then','end','stack','name','send','index','map','OpenchannelApplication','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','where','filters','pick','filter','type','merge','options','includeAll','findAll','catch','show','params','include','create'];(function(_0x47aa64,_0xfb8a07){var _0x549c7a=function(_0x266165){while(--_0x266165){_0x47aa64['push'](_0x47aa64['shift']());}};_0x549c7a(++_0xfb8a07);}(_0x6acf,0x1be));var _0xf6ac=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x6acf[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0xf6ac('0x0'));var rimraf=require(_0xf6ac('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xf6ac('0x2'));var rp=require(_0xf6ac('0x3'));var moment=require(_0xf6ac('0x4'));var BPromise=require(_0xf6ac('0x5'));var Mustache=require('mustache');var util=require(_0xf6ac('0x6'));var path=require(_0xf6ac('0x7'));var sox=require(_0xf6ac('0x8'));var csv=require('to-csv');var ejs=require(_0xf6ac('0x9'));var fs=require('fs');var fs_extra=require(_0xf6ac('0xa'));var _=require(_0xf6ac('0xb'));var squel=require('squel');var crypto=require(_0xf6ac('0xc'));var jsforce=require(_0xf6ac('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xf6ac('0xe'));var querystring=require(_0xf6ac('0xf'));var Papa=require(_0xf6ac('0x10'));var Redis=require(_0xf6ac('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xf6ac('0x12'));var as=require(_0xf6ac('0x13'));var hardwareService=require(_0xf6ac('0x14'));var logger=require(_0xf6ac('0x15'))(_0xf6ac('0x16'));var utils=require(_0xf6ac('0x17'));var config=require(_0xf6ac('0x18'));var licenseUtil=require(_0xf6ac('0x19'));var db=require(_0xf6ac('0x1a'))['db'];function respondWithStatusCode(_0x4b09e0,_0x2be24d){_0x2be24d=_0x2be24d||0xcc;return function(_0x48170b){if(_0x48170b){return _0x4b09e0[_0xf6ac('0x1b')](_0x2be24d);}return _0x4b09e0['status'](_0x2be24d)['end']();};}function respondWithResult(_0x5c994b,_0x2e1c9a){_0x2e1c9a=_0x2e1c9a||0xc8;return function(_0x15c77d){if(_0x15c77d){return _0x5c994b[_0xf6ac('0x1c')](_0x2e1c9a)[_0xf6ac('0x1d')](_0x15c77d);}};}function respondWithFilteredResult(_0x41c51f,_0x2fe330){return function(_0x536236){if(_0x536236){var _0x413ad3=typeof _0x2fe330[_0xf6ac('0x1e')]===_0xf6ac('0x1f')&&typeof _0x2fe330['limit']===_0xf6ac('0x1f');var _0x2db0d6=_0x536236['count'];var _0x458e65=_0x413ad3?0x0:_0x2fe330['offset'];var _0x53d933=_0x413ad3?_0x536236[_0xf6ac('0x20')]:_0x2fe330[_0xf6ac('0x1e')]+_0x2fe330['limit'];var _0x3431d1;if(_0x53d933>=_0x2db0d6){_0x53d933=_0x2db0d6;_0x3431d1=0xc8;}else{_0x3431d1=0xce;}_0x41c51f[_0xf6ac('0x1c')](_0x3431d1);return _0x41c51f[_0xf6ac('0x21')](_0xf6ac('0x22'),_0x458e65+'-'+_0x53d933+'/'+_0x2db0d6)[_0xf6ac('0x1d')](_0x536236);}return null;};}function patchUpdates(_0x5e4730){return function(_0x1e94e9){try{jsonpatch[_0xf6ac('0x23')](_0x1e94e9,_0x5e4730,!![]);}catch(_0x35cb83){return BPromise['reject'](_0x35cb83);}return _0x1e94e9[_0xf6ac('0x24')]();};}function saveUpdates(_0x2b3c40,_0x317f01){return function(_0x1093fe){if(_0x1093fe){return _0x1093fe[_0xf6ac('0x25')](_0x2b3c40)['then'](function(_0xee19a3){return _0xee19a3;});}return null;};}function removeEntity(_0x288d96,_0x1c08b3){return function(_0x1c0408){if(_0x1c0408){return _0x1c0408[_0xf6ac('0x26')]()[_0xf6ac('0x27')](function(){_0x288d96['status'](0xcc)[_0xf6ac('0x28')]();});}};}function handleEntityNotFound(_0x23c635,_0xbdb344){return function(_0x1aca19){if(!_0x1aca19){_0x23c635[_0xf6ac('0x1b')](0x194);}return _0x1aca19;};}function handleError(_0x16d597,_0x47b34d){_0x47b34d=_0x47b34d||0x1f4;return function(_0x21a1ab){logger['error'](_0x21a1ab[_0xf6ac('0x29')]);if(_0x21a1ab[_0xf6ac('0x2a')]){delete _0x21a1ab[_0xf6ac('0x2a')];}_0x16d597['status'](_0x47b34d)[_0xf6ac('0x2b')](_0x21a1ab);};}exports[_0xf6ac('0x2c')]=function(_0x51f83a,_0x44ebbe){var _0x266cdd={},_0x57f106={},_0xfba6d9={'count':0x0,'rows':[]};var _0x9362da=_[_0xf6ac('0x2d')](db[_0xf6ac('0x2e')]['rawAttributes'],function(_0x5ebf04){return{'name':_0x5ebf04['fieldName'],'type':_0x5ebf04['type']['key']};});_0x57f106[_0xf6ac('0x2f')]=_[_0xf6ac('0x2d')](_0x9362da,'name');_0x57f106[_0xf6ac('0x30')]=_[_0xf6ac('0x31')](_0x51f83a[_0xf6ac('0x30')]);_0x57f106['filters']=_[_0xf6ac('0x32')](_0x57f106[_0xf6ac('0x2f')],_0x57f106[_0xf6ac('0x30')]);_0x266cdd[_0xf6ac('0x33')]=_['intersection'](_0x57f106['model'],qs[_0xf6ac('0x34')](_0x51f83a[_0xf6ac('0x30')][_0xf6ac('0x34')]));_0x266cdd['attributes']=_0x266cdd[_0xf6ac('0x33')][_0xf6ac('0x35')]?_0x266cdd[_0xf6ac('0x33')]:_0x57f106[_0xf6ac('0x2f')];if(!_0x51f83a[_0xf6ac('0x30')][_0xf6ac('0x36')](_0xf6ac('0x37'))){_0x266cdd[_0xf6ac('0x38')]=qs['limit'](_0x51f83a[_0xf6ac('0x30')]['limit']);_0x266cdd['offset']=qs[_0xf6ac('0x1e')](_0x51f83a[_0xf6ac('0x30')][_0xf6ac('0x1e')]);}_0x266cdd[_0xf6ac('0x39')]=qs['sort'](_0x51f83a[_0xf6ac('0x30')]['sort']);_0x266cdd[_0xf6ac('0x3a')]=qs[_0xf6ac('0x3b')](_[_0xf6ac('0x3c')](_0x51f83a[_0xf6ac('0x30')],_0x57f106[_0xf6ac('0x3b')]),_0x9362da);if(_0x51f83a['query'][_0xf6ac('0x3d')]){_0x266cdd[_0xf6ac('0x3a')]=_['merge'](_0x266cdd['where'],{'$or':_[_0xf6ac('0x2d')](_0x9362da,function(_0x9e3136){if(_0x9e3136[_0xf6ac('0x3e')]!=='VIRTUAL'){var _0x42a6ee={};_0x42a6ee[_0x9e3136[_0xf6ac('0x2a')]]={'$like':'%'+_0x51f83a[_0xf6ac('0x30')][_0xf6ac('0x3d')]+'%'};return _0x42a6ee;}})});}_0x266cdd=_[_0xf6ac('0x3f')]({},_0x266cdd,_0x51f83a[_0xf6ac('0x40')]);var _0x35e0be={'where':_0x266cdd[_0xf6ac('0x3a')]};return db[_0xf6ac('0x2e')]['count'](_0x35e0be)[_0xf6ac('0x27')](function(_0x1a9c2a){_0xfba6d9[_0xf6ac('0x20')]=_0x1a9c2a;if(_0x51f83a['query'][_0xf6ac('0x41')]){_0x266cdd['include']=[{'all':!![]}];}return db[_0xf6ac('0x2e')][_0xf6ac('0x42')](_0x266cdd);})['then'](function(_0x4bf13f){_0xfba6d9['rows']=_0x4bf13f;return _0xfba6d9;})[_0xf6ac('0x27')](respondWithFilteredResult(_0x44ebbe,_0x266cdd))[_0xf6ac('0x43')](handleError(_0x44ebbe,null));};exports[_0xf6ac('0x44')]=function(_0x248375,_0x11f937){var _0x9895da={'raw':!![],'where':{'id':_0x248375[_0xf6ac('0x45')]['id']}},_0x1bc193={};_0x1bc193[_0xf6ac('0x2f')]=_[_0xf6ac('0x31')](db[_0xf6ac('0x2e')]['rawAttributes']);_0x1bc193['query']=_[_0xf6ac('0x31')](_0x248375[_0xf6ac('0x30')]);_0x1bc193['filters']=_[_0xf6ac('0x32')](_0x1bc193[_0xf6ac('0x2f')],_0x1bc193['query']);_0x9895da[_0xf6ac('0x33')]=_[_0xf6ac('0x32')](_0x1bc193[_0xf6ac('0x2f')],qs[_0xf6ac('0x34')](_0x248375[_0xf6ac('0x30')][_0xf6ac('0x34')]));_0x9895da[_0xf6ac('0x33')]=_0x9895da[_0xf6ac('0x33')][_0xf6ac('0x35')]?_0x9895da['attributes']:_0x1bc193[_0xf6ac('0x2f')];if(_0x248375[_0xf6ac('0x30')][_0xf6ac('0x41')]){_0x9895da[_0xf6ac('0x46')]=[{'all':!![]}];}_0x9895da=_[_0xf6ac('0x3f')]({},_0x9895da,_0x248375['options']);return db[_0xf6ac('0x2e')]['find'](_0x9895da)[_0xf6ac('0x27')](handleEntityNotFound(_0x11f937,null))['then'](respondWithResult(_0x11f937,null))['catch'](handleError(_0x11f937,null));};exports[_0xf6ac('0x47')]=function(_0x115d89,_0x352e7c){return db['OpenchannelApplication'][_0xf6ac('0x47')](_0x115d89[_0xf6ac('0x48')],{})[_0xf6ac('0x27')](respondWithResult(_0x352e7c,0xc9))['catch'](handleError(_0x352e7c,null));};exports['update']=function(_0x3c4a60,_0x261f84){if(_0x3c4a60[_0xf6ac('0x48')]['id']){delete _0x3c4a60[_0xf6ac('0x48')]['id'];}return db[_0xf6ac('0x2e')]['find']({'where':{'id':_0x3c4a60[_0xf6ac('0x45')]['id']}})[_0xf6ac('0x27')](handleEntityNotFound(_0x261f84,null))[_0xf6ac('0x27')](saveUpdates(_0x3c4a60[_0xf6ac('0x48')],null))['then'](respondWithResult(_0x261f84,null))[_0xf6ac('0x43')](handleError(_0x261f84,null));};exports[_0xf6ac('0x26')]=function(_0x3b00f8,_0x2851f7){return db[_0xf6ac('0x2e')][_0xf6ac('0x49')]({'where':{'id':_0x3b00f8[_0xf6ac('0x45')]['id']}})['then'](handleEntityNotFound(_0x2851f7,null))['then'](removeEntity(_0x2851f7,null))[_0xf6ac('0x43')](handleError(_0x2851f7,null));};