e2e163e631674b1599470f7c7a3b20abc9b55834
[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 _0x5003=['ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','offset','limit','undefined','count','set','Content-Range','apply','reject','save','then','destroy','error','stack','name','send','index','map','OpenchannelApplication','rawAttributes','fieldName','type','key','model','keys','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','filter','where','merge','VIRTUAL','includeAll','include','findAll','rows','show','options','catch','create','body','update','find','params','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv'];(function(_0x44ce91,_0x5f0a9a){var _0x53e0dd=function(_0x2fde80){while(--_0x2fde80){_0x44ce91['push'](_0x44ce91['shift']());}};_0x53e0dd(++_0x5f0a9a);}(_0x5003,0x1db));var _0x3500=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0x5003[_0x321bb2];return _0x9c12ed;};'use strict';var emlformat=require(_0x3500('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x3500('0x1'));var jsonpatch=require(_0x3500('0x2'));var rp=require(_0x3500('0x3'));var moment=require(_0x3500('0x4'));var BPromise=require(_0x3500('0x5'));var Mustache=require(_0x3500('0x6'));var util=require(_0x3500('0x7'));var path=require(_0x3500('0x8'));var sox=require(_0x3500('0x9'));var csv=require(_0x3500('0xa'));var ejs=require(_0x3500('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x3500('0xc'));var squel=require(_0x3500('0xd'));var crypto=require(_0x3500('0xe'));var jsforce=require(_0x3500('0xf'));var deskjs=require(_0x3500('0x10'));var toCsv=require('to-csv');var querystring=require(_0x3500('0x11'));var Papa=require(_0x3500('0x12'));var Redis=require(_0x3500('0x13'));var authService=require(_0x3500('0x14'));var qs=require(_0x3500('0x15'));var as=require(_0x3500('0x16'));var hardwareService=require(_0x3500('0x17'));var logger=require(_0x3500('0x18'))(_0x3500('0x19'));var utils=require(_0x3500('0x1a'));var config=require(_0x3500('0x1b'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5b0a1c,_0x73f721){_0x73f721=_0x73f721||0xcc;return function(_0x2163a9){if(_0x2163a9){return _0x5b0a1c[_0x3500('0x1c')](_0x73f721);}return _0x5b0a1c[_0x3500('0x1d')](_0x73f721)[_0x3500('0x1e')]();};}function respondWithResult(_0x39b861,_0x3441cf){_0x3441cf=_0x3441cf||0xc8;return function(_0x145789){if(_0x145789){return _0x39b861['status'](_0x3441cf)['json'](_0x145789);}};}function respondWithFilteredResult(_0x1b0397,_0x656c6c){return function(_0x5d1bbf){if(_0x5d1bbf){var _0x1ba2fd=typeof _0x656c6c[_0x3500('0x1f')]==='undefined'&&typeof _0x656c6c[_0x3500('0x20')]===_0x3500('0x21');var _0x4faa64=_0x5d1bbf[_0x3500('0x22')];var _0x456902=_0x1ba2fd?0x0:_0x656c6c[_0x3500('0x1f')];var _0x4502e5=_0x1ba2fd?_0x5d1bbf[_0x3500('0x22')]:_0x656c6c['offset']+_0x656c6c[_0x3500('0x20')];var _0x56abf0;if(_0x4502e5>=_0x4faa64){_0x4502e5=_0x4faa64;_0x56abf0=0xc8;}else{_0x56abf0=0xce;}_0x1b0397['status'](_0x56abf0);return _0x1b0397[_0x3500('0x23')](_0x3500('0x24'),_0x456902+'-'+_0x4502e5+'/'+_0x4faa64)['json'](_0x5d1bbf);}return null;};}function patchUpdates(_0x556b80){return function(_0x2e6f83){try{jsonpatch[_0x3500('0x25')](_0x2e6f83,_0x556b80,!![]);}catch(_0x1d2088){return BPromise[_0x3500('0x26')](_0x1d2088);}return _0x2e6f83[_0x3500('0x27')]();};}function saveUpdates(_0x52f82b,_0x408f65){return function(_0x49c879){if(_0x49c879){return _0x49c879['update'](_0x52f82b)[_0x3500('0x28')](function(_0xf0ebad){return _0xf0ebad;});}return null;};}function removeEntity(_0x471125,_0x154149){return function(_0x475f6e){if(_0x475f6e){return _0x475f6e[_0x3500('0x29')]()[_0x3500('0x28')](function(){_0x471125[_0x3500('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x451996,_0x5c36e4){return function(_0x249dc0){if(!_0x249dc0){_0x451996[_0x3500('0x1c')](0x194);}return _0x249dc0;};}function handleError(_0x4caeaf,_0x1cd12a){_0x1cd12a=_0x1cd12a||0x1f4;return function(_0x5ac17d){logger[_0x3500('0x2a')](_0x5ac17d[_0x3500('0x2b')]);if(_0x5ac17d[_0x3500('0x2c')]){delete _0x5ac17d[_0x3500('0x2c')];}_0x4caeaf[_0x3500('0x1d')](_0x1cd12a)[_0x3500('0x2d')](_0x5ac17d);};}exports[_0x3500('0x2e')]=function(_0x444011,_0x2f6f79){var _0x42e266={},_0x536102={},_0x2e974f={'count':0x0,'rows':[]};var _0x31a2a9=_[_0x3500('0x2f')](db[_0x3500('0x30')][_0x3500('0x31')],function(_0x2457e2){return{'name':_0x2457e2[_0x3500('0x32')],'type':_0x2457e2[_0x3500('0x33')][_0x3500('0x34')]};});_0x536102[_0x3500('0x35')]=_[_0x3500('0x2f')](_0x31a2a9,_0x3500('0x2c'));_0x536102['query']=_[_0x3500('0x36')](_0x444011[_0x3500('0x37')]);_0x536102[_0x3500('0x38')]=_['intersection'](_0x536102[_0x3500('0x35')],_0x536102[_0x3500('0x37')]);_0x42e266[_0x3500('0x39')]=_[_0x3500('0x3a')](_0x536102[_0x3500('0x35')],qs[_0x3500('0x3b')](_0x444011['query'][_0x3500('0x3b')]));_0x42e266[_0x3500('0x39')]=_0x42e266[_0x3500('0x39')][_0x3500('0x3c')]?_0x42e266['attributes']:_0x536102[_0x3500('0x35')];if(!_0x444011[_0x3500('0x37')][_0x3500('0x3d')](_0x3500('0x3e'))){_0x42e266['limit']=qs[_0x3500('0x20')](_0x444011[_0x3500('0x37')][_0x3500('0x20')]);_0x42e266[_0x3500('0x1f')]=qs[_0x3500('0x1f')](_0x444011['query'][_0x3500('0x1f')]);}_0x42e266[_0x3500('0x3f')]=qs[_0x3500('0x40')](_0x444011[_0x3500('0x37')][_0x3500('0x40')]);_0x42e266['where']=qs['filters'](_['pick'](_0x444011['query'],_0x536102[_0x3500('0x38')]),_0x31a2a9);if(_0x444011[_0x3500('0x37')][_0x3500('0x41')]){_0x42e266[_0x3500('0x42')]=_[_0x3500('0x43')](_0x42e266[_0x3500('0x42')],{'$or':_['map'](_0x31a2a9,function(_0x5e1915){if(_0x5e1915[_0x3500('0x33')]!==_0x3500('0x44')){var _0x26ce29={};_0x26ce29[_0x5e1915[_0x3500('0x2c')]]={'$like':'%'+_0x444011[_0x3500('0x37')][_0x3500('0x41')]+'%'};return _0x26ce29;}})});}_0x42e266=_['merge']({},_0x42e266,_0x444011['options']);var _0x3cec86={'where':_0x42e266[_0x3500('0x42')]};return db[_0x3500('0x30')][_0x3500('0x22')](_0x3cec86)[_0x3500('0x28')](function(_0x798595){_0x2e974f[_0x3500('0x22')]=_0x798595;if(_0x444011[_0x3500('0x37')][_0x3500('0x45')]){_0x42e266[_0x3500('0x46')]=[{'all':!![]}];}return db[_0x3500('0x30')][_0x3500('0x47')](_0x42e266);})[_0x3500('0x28')](function(_0x501d99){_0x2e974f[_0x3500('0x48')]=_0x501d99;return _0x2e974f;})['then'](respondWithFilteredResult(_0x2f6f79,_0x42e266))['catch'](handleError(_0x2f6f79,null));};exports[_0x3500('0x49')]=function(_0x1c5b0c,_0x120401){var _0x14db5c={'raw':!![],'where':{'id':_0x1c5b0c['params']['id']}},_0xed1166={};_0xed1166[_0x3500('0x35')]=_[_0x3500('0x36')](db['OpenchannelApplication']['rawAttributes']);_0xed1166[_0x3500('0x37')]=_['keys'](_0x1c5b0c['query']);_0xed1166[_0x3500('0x38')]=_[_0x3500('0x3a')](_0xed1166[_0x3500('0x35')],_0xed1166[_0x3500('0x37')]);_0x14db5c[_0x3500('0x39')]=_[_0x3500('0x3a')](_0xed1166[_0x3500('0x35')],qs[_0x3500('0x3b')](_0x1c5b0c[_0x3500('0x37')][_0x3500('0x3b')]));_0x14db5c[_0x3500('0x39')]=_0x14db5c[_0x3500('0x39')][_0x3500('0x3c')]?_0x14db5c[_0x3500('0x39')]:_0xed1166[_0x3500('0x35')];if(_0x1c5b0c[_0x3500('0x37')][_0x3500('0x45')]){_0x14db5c[_0x3500('0x46')]=[{'all':!![]}];}_0x14db5c=_[_0x3500('0x43')]({},_0x14db5c,_0x1c5b0c[_0x3500('0x4a')]);return db['OpenchannelApplication']['find'](_0x14db5c)[_0x3500('0x28')](handleEntityNotFound(_0x120401,null))['then'](respondWithResult(_0x120401,null))[_0x3500('0x4b')](handleError(_0x120401,null));};exports[_0x3500('0x4c')]=function(_0x5d2ce3,_0x1e7b57){return db[_0x3500('0x30')]['create'](_0x5d2ce3[_0x3500('0x4d')],{})['then'](respondWithResult(_0x1e7b57,0xc9))[_0x3500('0x4b')](handleError(_0x1e7b57,null));};exports[_0x3500('0x4e')]=function(_0x153ab7,_0x201d70){if(_0x153ab7[_0x3500('0x4d')]['id']){delete _0x153ab7[_0x3500('0x4d')]['id'];}return db[_0x3500('0x30')][_0x3500('0x4f')]({'where':{'id':_0x153ab7[_0x3500('0x50')]['id']}})[_0x3500('0x28')](handleEntityNotFound(_0x201d70,null))[_0x3500('0x28')](saveUpdates(_0x153ab7[_0x3500('0x4d')],null))[_0x3500('0x28')](respondWithResult(_0x201d70,null))['catch'](handleError(_0x201d70,null));};exports[_0x3500('0x29')]=function(_0x1c3037,_0x378676){return db[_0x3500('0x30')][_0x3500('0x4f')]({'where':{'id':_0x1c3037['params']['id']}})[_0x3500('0x28')](handleEntityNotFound(_0x378676,null))[_0x3500('0x28')](removeEntity(_0x378676,null))[_0x3500('0x4b')](handleError(_0x378676,null));};