d4153b55b298d28088fb41b0b647ce1149d0d526
[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 _0x5a99=['offset','set','Content-Range','apply','reject','save','update','then','destroy','end','error','name','send','index','map','OpenchannelApplication','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','limit','order','sort','pick','filter','merge','where','count','includeAll','findAll','rows','catch','show','keys','length','include','options','find','create','body','params','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','json'];(function(_0x4953da,_0x5adaca){var _0x2d3780=function(_0x458f36){while(--_0x458f36){_0x4953da['push'](_0x4953da['shift']());}};_0x2d3780(++_0x5adaca);}(_0x5a99,0xc9));var _0x95a9=function(_0x35eb34,_0x4d7d1c){_0x35eb34=_0x35eb34-0x0;var _0x1c1638=_0x5a99[_0x35eb34];return _0x1c1638;};'use strict';var emlformat=require(_0x95a9('0x0'));var rimraf=require(_0x95a9('0x1'));var zipdir=require(_0x95a9('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x95a9('0x3'));var moment=require(_0x95a9('0x4'));var BPromise=require(_0x95a9('0x5'));var Mustache=require(_0x95a9('0x6'));var util=require('util');var path=require(_0x95a9('0x7'));var sox=require(_0x95a9('0x8'));var csv=require(_0x95a9('0x9'));var ejs=require(_0x95a9('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x95a9('0xb'));var squel=require(_0x95a9('0xc'));var crypto=require(_0x95a9('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x95a9('0xe'));var toCsv=require('to-csv');var querystring=require(_0x95a9('0xf'));var Papa=require(_0x95a9('0x10'));var Redis=require(_0x95a9('0x11'));var authService=require(_0x95a9('0x12'));var qs=require(_0x95a9('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x95a9('0x14'))(_0x95a9('0x15'));var utils=require('../../config/utils');var config=require(_0x95a9('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x95a9('0x17'))['db'];function respondWithStatusCode(_0x2cf403,_0x789d86){_0x789d86=_0x789d86||0xcc;return function(_0x1c7256){if(_0x1c7256){return _0x2cf403[_0x95a9('0x18')](_0x789d86);}return _0x2cf403['status'](_0x789d86)['end']();};}function respondWithResult(_0x5e9ad2,_0x39126b){_0x39126b=_0x39126b||0xc8;return function(_0x537c35){if(_0x537c35){return _0x5e9ad2[_0x95a9('0x19')](_0x39126b)[_0x95a9('0x1a')](_0x537c35);}};}function respondWithFilteredResult(_0x4644c4,_0x4aea93){return function(_0x9d0e15){if(_0x9d0e15){var _0x4900b3=_0x9d0e15['count'],_0x37ccf1=_0x4aea93[_0x95a9('0x1b')],_0x43768a=_0x4aea93['offset']+_0x4aea93['limit'],_0x45e88c;if(_0x43768a>=_0x4900b3){_0x43768a=_0x4900b3;_0x45e88c=0xc8;}else{_0x45e88c=0xce;}_0x4644c4[_0x95a9('0x19')](_0x45e88c);return _0x4644c4[_0x95a9('0x1c')](_0x95a9('0x1d'),_0x37ccf1+'-'+_0x43768a+'/'+_0x4900b3)[_0x95a9('0x1a')](_0x9d0e15);}return null;};}function patchUpdates(_0x24b38b){return function(_0x2e1322){try{jsonpatch[_0x95a9('0x1e')](_0x2e1322,_0x24b38b,!![]);}catch(_0xab9d9a){return BPromise[_0x95a9('0x1f')](_0xab9d9a);}return _0x2e1322[_0x95a9('0x20')]();};}function saveUpdates(_0x4d48b4,_0x56d23a){return function(_0x15293e){if(_0x15293e){return _0x15293e[_0x95a9('0x21')](_0x4d48b4)[_0x95a9('0x22')](function(_0x2e61d1){return _0x2e61d1;});}return null;};}function removeEntity(_0x5a6034,_0x2f05a7){return function(_0x21b556){if(_0x21b556){return _0x21b556[_0x95a9('0x23')]()[_0x95a9('0x22')](function(){_0x5a6034[_0x95a9('0x19')](0xcc)[_0x95a9('0x24')]();});}};}function handleEntityNotFound(_0x203c51,_0x48de16){return function(_0x345cef){if(!_0x345cef){_0x203c51[_0x95a9('0x18')](0x194);}return _0x345cef;};}function handleError(_0x2e1a9f,_0x5dfb63){_0x5dfb63=_0x5dfb63||0x1f4;return function(_0x493acf){logger[_0x95a9('0x25')](_0x493acf['stack']);if(_0x493acf['name']){delete _0x493acf[_0x95a9('0x26')];}_0x2e1a9f['status'](_0x5dfb63)[_0x95a9('0x27')](_0x493acf);};}exports[_0x95a9('0x28')]=function(_0x333260,_0xc6a07b){var _0x2951f4={},_0x8b85bb={},_0x22bcb5={'count':0x0,'rows':[]};var _0x16dee8=_[_0x95a9('0x29')](db[_0x95a9('0x2a')][_0x95a9('0x2b')],function(_0xe64e70){return{'name':_0xe64e70[_0x95a9('0x2c')],'type':_0xe64e70[_0x95a9('0x2d')][_0x95a9('0x2e')]};});_0x8b85bb[_0x95a9('0x2f')]=_[_0x95a9('0x29')](_0x16dee8,'name');_0x8b85bb['query']=_['keys'](_0x333260[_0x95a9('0x30')]);_0x8b85bb[_0x95a9('0x31')]=_[_0x95a9('0x32')](_0x8b85bb['model'],_0x8b85bb[_0x95a9('0x30')]);_0x2951f4[_0x95a9('0x33')]=_[_0x95a9('0x32')](_0x8b85bb[_0x95a9('0x2f')],qs[_0x95a9('0x34')](_0x333260[_0x95a9('0x30')][_0x95a9('0x34')]));_0x2951f4[_0x95a9('0x33')]=_0x2951f4['attributes']['length']?_0x2951f4['attributes']:_0x8b85bb[_0x95a9('0x2f')];if(!_0x333260[_0x95a9('0x30')][_0x95a9('0x35')](_0x95a9('0x36'))){_0x2951f4['limit']=qs[_0x95a9('0x37')](_0x333260[_0x95a9('0x30')][_0x95a9('0x37')]);_0x2951f4[_0x95a9('0x1b')]=qs[_0x95a9('0x1b')](_0x333260[_0x95a9('0x30')][_0x95a9('0x1b')]);}_0x2951f4[_0x95a9('0x38')]=qs[_0x95a9('0x39')](_0x333260[_0x95a9('0x30')][_0x95a9('0x39')]);_0x2951f4['where']=qs[_0x95a9('0x31')](_[_0x95a9('0x3a')](_0x333260[_0x95a9('0x30')],_0x8b85bb[_0x95a9('0x31')]),_0x16dee8);if(_0x333260[_0x95a9('0x30')][_0x95a9('0x3b')]){_0x2951f4['where']=_[_0x95a9('0x3c')](_0x2951f4[_0x95a9('0x3d')],{'$or':_[_0x95a9('0x29')](_0x16dee8,function(_0x2c758c){if(_0x2c758c[_0x95a9('0x2d')]!=='VIRTUAL'){var _0x41b300={};_0x41b300[_0x2c758c[_0x95a9('0x26')]]={'$like':'%'+_0x333260['query'][_0x95a9('0x3b')]+'%'};return _0x41b300;}})});}_0x2951f4=_[_0x95a9('0x3c')]({},_0x2951f4,_0x333260['options']);var _0x5a6030={'where':_0x2951f4[_0x95a9('0x3d')]};return db[_0x95a9('0x2a')][_0x95a9('0x3e')](_0x5a6030)[_0x95a9('0x22')](function(_0x2f66d7){_0x22bcb5[_0x95a9('0x3e')]=_0x2f66d7;if(_0x333260[_0x95a9('0x30')][_0x95a9('0x3f')]){_0x2951f4['include']=[{'all':!![]}];}return db[_0x95a9('0x2a')][_0x95a9('0x40')](_0x2951f4);})[_0x95a9('0x22')](function(_0x2c1695){_0x22bcb5[_0x95a9('0x41')]=_0x2c1695;return _0x22bcb5;})[_0x95a9('0x22')](respondWithFilteredResult(_0xc6a07b,_0x2951f4))[_0x95a9('0x42')](handleError(_0xc6a07b,null));};exports[_0x95a9('0x43')]=function(_0x34e234,_0x4699b1){var _0x3920a4={'raw':!![],'where':{'id':_0x34e234['params']['id']}},_0x14ac89={};_0x14ac89[_0x95a9('0x2f')]=_['keys'](db[_0x95a9('0x2a')][_0x95a9('0x2b')]);_0x14ac89['query']=_[_0x95a9('0x44')](_0x34e234[_0x95a9('0x30')]);_0x14ac89[_0x95a9('0x31')]=_[_0x95a9('0x32')](_0x14ac89[_0x95a9('0x2f')],_0x14ac89[_0x95a9('0x30')]);_0x3920a4[_0x95a9('0x33')]=_[_0x95a9('0x32')](_0x14ac89[_0x95a9('0x2f')],qs[_0x95a9('0x34')](_0x34e234[_0x95a9('0x30')][_0x95a9('0x34')]));_0x3920a4[_0x95a9('0x33')]=_0x3920a4[_0x95a9('0x33')][_0x95a9('0x45')]?_0x3920a4[_0x95a9('0x33')]:_0x14ac89['model'];if(_0x34e234['query'][_0x95a9('0x3f')]){_0x3920a4[_0x95a9('0x46')]=[{'all':!![]}];}_0x3920a4=_[_0x95a9('0x3c')]({},_0x3920a4,_0x34e234[_0x95a9('0x47')]);return db[_0x95a9('0x2a')][_0x95a9('0x48')](_0x3920a4)[_0x95a9('0x22')](handleEntityNotFound(_0x4699b1,null))[_0x95a9('0x22')](respondWithResult(_0x4699b1,null))[_0x95a9('0x42')](handleError(_0x4699b1,null));};exports[_0x95a9('0x49')]=function(_0x29bbaa,_0x53cd94){return db[_0x95a9('0x2a')][_0x95a9('0x49')](_0x29bbaa['body'],{})[_0x95a9('0x22')](respondWithResult(_0x53cd94,0xc9))[_0x95a9('0x42')](handleError(_0x53cd94,null));};exports[_0x95a9('0x21')]=function(_0xbcd84,_0x1a310e){if(_0xbcd84[_0x95a9('0x4a')]['id']){delete _0xbcd84[_0x95a9('0x4a')]['id'];}return db[_0x95a9('0x2a')]['find']({'where':{'id':_0xbcd84[_0x95a9('0x4b')]['id']}})[_0x95a9('0x22')](handleEntityNotFound(_0x1a310e,null))[_0x95a9('0x22')](saveUpdates(_0xbcd84[_0x95a9('0x4a')],null))[_0x95a9('0x22')](respondWithResult(_0x1a310e,null))[_0x95a9('0x42')](handleError(_0x1a310e,null));};exports[_0x95a9('0x23')]=function(_0x2b0964,_0x12b027){return db[_0x95a9('0x2a')][_0x95a9('0x48')]({'where':{'id':_0x2b0964['params']['id']}})['then'](handleEntityNotFound(_0x12b027,null))[_0x95a9('0x22')](removeEntity(_0x12b027,null))[_0x95a9('0x42')](handleError(_0x12b027,null));};