06b0686982dd4e176c02f7b8ad716f8c0c85fa6f
[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 _0xf1ae=['query','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filters','pick','filter','where','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','keys','filtears','find','create','body','params','rimraf','zip-dir','fast-json-patch','request-promise','moment','sox','to-csv','ejs','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','error','stack','name','send','map','OpenchannelApplication','fieldName','key'];(function(_0xc26736,_0x45d149){var _0x669102=function(_0x441627){while(--_0x441627){_0xc26736['push'](_0xc26736['shift']());}};_0x669102(++_0x45d149);}(_0xf1ae,0x67));var _0xef1a=function(_0x1b6f5b,_0x48b2f9){_0x1b6f5b=_0x1b6f5b-0x0;var _0xa46ba1=_0xf1ae[_0x1b6f5b];return _0xa46ba1;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xef1a('0x0'));var zipdir=require(_0xef1a('0x1'));var jsonpatch=require(_0xef1a('0x2'));var rp=require(_0xef1a('0x3'));var moment=require(_0xef1a('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0xef1a('0x5'));var csv=require(_0xef1a('0x6'));var ejs=require(_0xef1a('0x7'));var fs=require('fs');var _=require('lodash');var squel=require(_0xef1a('0x8'));var crypto=require(_0xef1a('0x9'));var jsforce=require('jsforce');var deskjs=require(_0xef1a('0xa'));var toCsv=require(_0xef1a('0x6'));var querystring=require(_0xef1a('0xb'));var Papa=require(_0xef1a('0xc'));var Redis=require(_0xef1a('0xd'));var authService=require(_0xef1a('0xe'));var qs=require(_0xef1a('0xf'));var as=require(_0xef1a('0x10'));var hardwareService=require(_0xef1a('0x11'));var logger=require(_0xef1a('0x12'))(_0xef1a('0x13'));var utils=require('../../config/utils');var config=require(_0xef1a('0x14'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x440176,_0x4ada47){_0x4ada47=_0x4ada47||0xcc;return function(_0x23e6e0){if(_0x23e6e0){return _0x440176[_0xef1a('0x15')](_0x4ada47);}return _0x440176[_0xef1a('0x16')](_0x4ada47)[_0xef1a('0x17')]();};}function respondWithResult(_0x339985,_0x421313){_0x421313=_0x421313||0xc8;return function(_0x50964a){if(_0x50964a){return _0x339985[_0xef1a('0x16')](_0x421313)[_0xef1a('0x18')](_0x50964a);}};}function respondWithFilteredResult(_0x251050,_0x10c9fe){return function(_0x448aa9){if(_0x448aa9){var _0x1fcf81=_0x448aa9[_0xef1a('0x19')],_0x16144e=_0x10c9fe[_0xef1a('0x1a')],_0x1e0132=_0x10c9fe['offset']+_0x10c9fe[_0xef1a('0x1b')],_0x46671b;if(_0x1e0132>=_0x1fcf81){_0x1e0132=_0x1fcf81;_0x46671b=0xc8;}else{_0x46671b=0xce;}_0x251050['status'](_0x46671b);return _0x251050[_0xef1a('0x1c')](_0xef1a('0x1d'),_0x16144e+'-'+_0x1e0132+'/'+_0x1fcf81)[_0xef1a('0x18')](_0x448aa9);}return null;};}function patchUpdates(_0x43071b){return function(_0x15b45b){try{jsonpatch[_0xef1a('0x1e')](_0x15b45b,_0x43071b,!![]);}catch(_0x5e1feb){return BPromise[_0xef1a('0x1f')](_0x5e1feb);}return _0x15b45b[_0xef1a('0x20')]();};}function saveUpdates(_0x19a91f,_0x5c0c74){return function(_0x184073){if(_0x184073){return _0x184073[_0xef1a('0x21')](_0x19a91f)[_0xef1a('0x22')](function(_0x474f26){return _0x474f26;});}return null;};}function removeEntity(_0x2856bf,_0x212691){return function(_0xfb21e5){if(_0xfb21e5){return _0xfb21e5['destroy']()[_0xef1a('0x22')](function(){_0x2856bf[_0xef1a('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x441ee9,_0x2e8ae3){return function(_0x343e7a){if(!_0x343e7a){_0x441ee9[_0xef1a('0x15')](0x194);}return _0x343e7a;};}function handleError(_0x3a8044,_0x4e3e54){_0x4e3e54=_0x4e3e54||0x1f4;return function(_0x3967f0){logger[_0xef1a('0x23')](_0x3967f0[_0xef1a('0x24')]);if(_0x3967f0['name']){delete _0x3967f0[_0xef1a('0x25')];}_0x3a8044[_0xef1a('0x16')](_0x4e3e54)[_0xef1a('0x26')](_0x3967f0);};}exports['index']=function(_0x4339e7,_0x256629){var _0x479bcf={},_0x432253={},_0x439621={'count':0x0,'rows':[]};var _0x205148=_[_0xef1a('0x27')](db[_0xef1a('0x28')]['rawAttributes'],function(_0x4a09f8){return{'name':_0x4a09f8[_0xef1a('0x29')],'type':_0x4a09f8['type'][_0xef1a('0x2a')]};});_0x432253['model']=_[_0xef1a('0x27')](_0x205148,_0xef1a('0x25'));_0x432253[_0xef1a('0x2b')]=_['keys'](_0x4339e7[_0xef1a('0x2b')]);_0x432253['filters']=_[_0xef1a('0x2c')](_0x432253[_0xef1a('0x2d')],_0x432253[_0xef1a('0x2b')]);_0x479bcf[_0xef1a('0x2e')]=_[_0xef1a('0x2c')](_0x432253[_0xef1a('0x2d')],qs[_0xef1a('0x2f')](_0x4339e7[_0xef1a('0x2b')]['fields']));_0x479bcf[_0xef1a('0x2e')]=_0x479bcf[_0xef1a('0x2e')][_0xef1a('0x30')]?_0x479bcf[_0xef1a('0x2e')]:_0x432253[_0xef1a('0x2d')];if(!_0x4339e7[_0xef1a('0x2b')][_0xef1a('0x31')](_0xef1a('0x32'))){_0x479bcf[_0xef1a('0x1b')]=qs[_0xef1a('0x1b')](_0x4339e7['query'][_0xef1a('0x1b')]);_0x479bcf['offset']=qs['offset'](_0x4339e7[_0xef1a('0x2b')]['offset']);}_0x479bcf[_0xef1a('0x33')]=qs[_0xef1a('0x34')](_0x4339e7[_0xef1a('0x2b')]['sort']);_0x479bcf['where']=qs[_0xef1a('0x35')](_[_0xef1a('0x36')](_0x4339e7[_0xef1a('0x2b')],_0x432253[_0xef1a('0x35')]),_0x205148);if(_0x4339e7[_0xef1a('0x2b')][_0xef1a('0x37')]){_0x479bcf[_0xef1a('0x38')]=_[_0xef1a('0x39')](_0x479bcf[_0xef1a('0x38')],{'$or':_[_0xef1a('0x27')](_0x205148,function(_0xbbf498){if(_0xbbf498[_0xef1a('0x3a')]!==_0xef1a('0x3b')){var _0x2bac09={};_0x2bac09[_0xbbf498['name']]={'$like':'%'+_0x4339e7['query'][_0xef1a('0x37')]+'%'};return _0x2bac09;}})});}_0x479bcf=_['merge']({},_0x479bcf,_0x4339e7[_0xef1a('0x3c')]);var _0x12b660={'where':_0x479bcf[_0xef1a('0x38')]};return db[_0xef1a('0x28')]['count'](_0x12b660)[_0xef1a('0x22')](function(_0x2754f8){_0x439621['count']=_0x2754f8;if(_0x4339e7[_0xef1a('0x2b')][_0xef1a('0x3d')]){_0x479bcf[_0xef1a('0x3e')]=[{'all':!![]}];}return db[_0xef1a('0x28')][_0xef1a('0x3f')](_0x479bcf);})[_0xef1a('0x22')](function(_0x2a3f81){_0x439621[_0xef1a('0x40')]=_0x2a3f81;return _0x439621;})[_0xef1a('0x22')](respondWithFilteredResult(_0x256629,_0x479bcf))[_0xef1a('0x41')](handleError(_0x256629,null));};exports[_0xef1a('0x42')]=function(_0x14bc39,_0x2279c8){var _0x537e02={'raw':!![],'where':{'id':_0x14bc39['params']['id']}},_0x2d0ea9={};_0x2d0ea9[_0xef1a('0x2d')]=_[_0xef1a('0x43')](db[_0xef1a('0x28')]['rawAttributes']);_0x2d0ea9['query']=_[_0xef1a('0x43')](_0x14bc39[_0xef1a('0x2b')]);_0x2d0ea9[_0xef1a('0x44')]=_[_0xef1a('0x2c')](_0x2d0ea9[_0xef1a('0x2d')],_0x2d0ea9[_0xef1a('0x2b')]);_0x537e02[_0xef1a('0x2e')]=_[_0xef1a('0x2c')](_0x2d0ea9[_0xef1a('0x2d')],qs[_0xef1a('0x2f')](_0x14bc39[_0xef1a('0x2b')][_0xef1a('0x2f')]));_0x537e02['attributes']=_0x537e02['attributes'][_0xef1a('0x30')]?_0x537e02[_0xef1a('0x2e')]:_0x2d0ea9[_0xef1a('0x2d')];if(_0x14bc39[_0xef1a('0x2b')]['includeAll']){_0x537e02[_0xef1a('0x3e')]=[{'all':!![]}];}_0x537e02=_[_0xef1a('0x39')]({},_0x537e02,_0x14bc39[_0xef1a('0x3c')]);return db[_0xef1a('0x28')][_0xef1a('0x45')](_0x537e02)['then'](handleEntityNotFound(_0x2279c8,null))[_0xef1a('0x22')](respondWithResult(_0x2279c8,null))['catch'](handleError(_0x2279c8,null));};exports[_0xef1a('0x46')]=function(_0x25e3a8,_0x23e685){return db[_0xef1a('0x28')][_0xef1a('0x46')](_0x25e3a8['body'],{})[_0xef1a('0x22')](respondWithResult(_0x23e685,0xc9))['catch'](handleError(_0x23e685,null));};exports[_0xef1a('0x21')]=function(_0x18511d,_0x5b19bb){if(_0x18511d[_0xef1a('0x47')]['id']){delete _0x18511d[_0xef1a('0x47')]['id'];}return db[_0xef1a('0x28')][_0xef1a('0x45')]({'where':{'id':_0x18511d[_0xef1a('0x48')]['id']}})[_0xef1a('0x22')](handleEntityNotFound(_0x5b19bb,null))[_0xef1a('0x22')](saveUpdates(_0x18511d[_0xef1a('0x47')],null))[_0xef1a('0x22')](respondWithResult(_0x5b19bb,null))['catch'](handleError(_0x5b19bb,null));};exports['destroy']=function(_0xc8bd3b,_0x5e2145){return db[_0xef1a('0x28')][_0xef1a('0x45')]({'where':{'id':_0xc8bd3b['params']['id']}})[_0xef1a('0x22')](handleEntityNotFound(_0x5e2145,null))[_0xef1a('0x22')](removeEntity(_0x5e2145,null))['catch'](handleError(_0x5e2145,null));};