a7b463511ad44c072f0b7401a6a46db475d9f92c
[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 _0xc382=['api','../../config/utils','../../config/environment','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','apply','save','then','destroy','error','stack','name','send','index','map','OpenchannelApplication','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','params','find','create','body','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger'];(function(_0x13ff4f,_0x4defc2){var _0xd04dee=function(_0x516beb){while(--_0x516beb){_0x13ff4f['push'](_0x13ff4f['shift']());}};_0xd04dee(++_0x4defc2);}(_0xc382,0x11e));var _0x2c38=function(_0x34cbbf,_0x540ce2){_0x34cbbf=_0x34cbbf-0x0;var _0x3ec76e=_0xc382[_0x34cbbf];return _0x3ec76e;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x2c38('0x0'));var zipdir=require(_0x2c38('0x1'));var jsonpatch=require(_0x2c38('0x2'));var rp=require('request-promise');var moment=require(_0x2c38('0x3'));var BPromise=require(_0x2c38('0x4'));var Mustache=require(_0x2c38('0x5'));var util=require(_0x2c38('0x6'));var path=require(_0x2c38('0x7'));var sox=require(_0x2c38('0x8'));var csv=require(_0x2c38('0x9'));var ejs=require(_0x2c38('0xa'));var fs=require('fs');var fs_extra=require(_0x2c38('0xb'));var _=require('lodash');var squel=require(_0x2c38('0xc'));var crypto=require(_0x2c38('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x2c38('0xe'));var toCsv=require(_0x2c38('0x9'));var querystring=require(_0x2c38('0xf'));var Papa=require(_0x2c38('0x10'));var Redis=require(_0x2c38('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x2c38('0x12'));var as=require(_0x2c38('0x13'));var hardwareService=require(_0x2c38('0x14'));var logger=require(_0x2c38('0x15'))(_0x2c38('0x16'));var utils=require(_0x2c38('0x17'));var config=require(_0x2c38('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x336b4b,_0x7ff21b){_0x7ff21b=_0x7ff21b||0xcc;return function(_0x44e9b3){if(_0x44e9b3){return _0x336b4b[_0x2c38('0x19')](_0x7ff21b);}return _0x336b4b[_0x2c38('0x1a')](_0x7ff21b)[_0x2c38('0x1b')]();};}function respondWithResult(_0x296515,_0x24be51){_0x24be51=_0x24be51||0xc8;return function(_0xf0d505){if(_0xf0d505){return _0x296515[_0x2c38('0x1a')](_0x24be51)['json'](_0xf0d505);}};}function respondWithFilteredResult(_0x196855,_0x51988d){return function(_0xa0e6b8){if(_0xa0e6b8){var _0x46da25=typeof _0x51988d[_0x2c38('0x1c')]===_0x2c38('0x1d')&&typeof _0x51988d[_0x2c38('0x1e')]===_0x2c38('0x1d');var _0x2e899d=_0xa0e6b8[_0x2c38('0x1f')];var _0x193730=_0x46da25?0x0:_0x51988d[_0x2c38('0x1c')];var _0x1a5ce3=_0x46da25?_0xa0e6b8[_0x2c38('0x1f')]:_0x51988d[_0x2c38('0x1c')]+_0x51988d[_0x2c38('0x1e')];var _0x168556;if(_0x1a5ce3>=_0x2e899d){_0x1a5ce3=_0x2e899d;_0x168556=0xc8;}else{_0x168556=0xce;}_0x196855[_0x2c38('0x1a')](_0x168556);return _0x196855[_0x2c38('0x20')](_0x2c38('0x21'),_0x193730+'-'+_0x1a5ce3+'/'+_0x2e899d)['json'](_0xa0e6b8);}return null;};}function patchUpdates(_0x574f76){return function(_0x3c60c8){try{jsonpatch[_0x2c38('0x22')](_0x3c60c8,_0x574f76,!![]);}catch(_0x1ef117){return BPromise['reject'](_0x1ef117);}return _0x3c60c8[_0x2c38('0x23')]();};}function saveUpdates(_0x1f2837,_0x44aff1){return function(_0x294377){if(_0x294377){return _0x294377['update'](_0x1f2837)[_0x2c38('0x24')](function(_0x14cded){return _0x14cded;});}return null;};}function removeEntity(_0xb71b5b,_0x151e36){return function(_0x3d63f4){if(_0x3d63f4){return _0x3d63f4[_0x2c38('0x25')]()[_0x2c38('0x24')](function(){_0xb71b5b[_0x2c38('0x1a')](0xcc)[_0x2c38('0x1b')]();});}};}function handleEntityNotFound(_0x26314e,_0x4b3d53){return function(_0xc905b1){if(!_0xc905b1){_0x26314e[_0x2c38('0x19')](0x194);}return _0xc905b1;};}function handleError(_0xcc4c28,_0x2a0120){_0x2a0120=_0x2a0120||0x1f4;return function(_0x58e410){logger[_0x2c38('0x26')](_0x58e410[_0x2c38('0x27')]);if(_0x58e410[_0x2c38('0x28')]){delete _0x58e410[_0x2c38('0x28')];}_0xcc4c28[_0x2c38('0x1a')](_0x2a0120)[_0x2c38('0x29')](_0x58e410);};}exports[_0x2c38('0x2a')]=function(_0x5791a7,_0x1f2895){var _0x47afdf={},_0x3e6d9f={},_0x156acd={'count':0x0,'rows':[]};var _0x2edab0=_[_0x2c38('0x2b')](db[_0x2c38('0x2c')][_0x2c38('0x2d')],function(_0x587703){return{'name':_0x587703[_0x2c38('0x2e')],'type':_0x587703[_0x2c38('0x2f')][_0x2c38('0x30')]};});_0x3e6d9f[_0x2c38('0x31')]=_[_0x2c38('0x2b')](_0x2edab0,_0x2c38('0x28'));_0x3e6d9f[_0x2c38('0x32')]=_[_0x2c38('0x33')](_0x5791a7[_0x2c38('0x32')]);_0x3e6d9f[_0x2c38('0x34')]=_[_0x2c38('0x35')](_0x3e6d9f[_0x2c38('0x31')],_0x3e6d9f['query']);_0x47afdf[_0x2c38('0x36')]=_[_0x2c38('0x35')](_0x3e6d9f['model'],qs['fields'](_0x5791a7[_0x2c38('0x32')][_0x2c38('0x37')]));_0x47afdf[_0x2c38('0x36')]=_0x47afdf['attributes'][_0x2c38('0x38')]?_0x47afdf[_0x2c38('0x36')]:_0x3e6d9f[_0x2c38('0x31')];if(!_0x5791a7['query'][_0x2c38('0x39')](_0x2c38('0x3a'))){_0x47afdf[_0x2c38('0x1e')]=qs[_0x2c38('0x1e')](_0x5791a7[_0x2c38('0x32')][_0x2c38('0x1e')]);_0x47afdf[_0x2c38('0x1c')]=qs['offset'](_0x5791a7['query'][_0x2c38('0x1c')]);}_0x47afdf[_0x2c38('0x3b')]=qs['sort'](_0x5791a7[_0x2c38('0x32')][_0x2c38('0x3c')]);_0x47afdf[_0x2c38('0x3d')]=qs[_0x2c38('0x34')](_[_0x2c38('0x3e')](_0x5791a7[_0x2c38('0x32')],_0x3e6d9f[_0x2c38('0x34')]),_0x2edab0);if(_0x5791a7['query'][_0x2c38('0x3f')]){_0x47afdf['where']=_['merge'](_0x47afdf[_0x2c38('0x3d')],{'$or':_[_0x2c38('0x2b')](_0x2edab0,function(_0x515f24){if(_0x515f24[_0x2c38('0x2f')]!==_0x2c38('0x40')){var _0x149b10={};_0x149b10[_0x515f24[_0x2c38('0x28')]]={'$like':'%'+_0x5791a7[_0x2c38('0x32')]['filter']+'%'};return _0x149b10;}})});}_0x47afdf=_[_0x2c38('0x41')]({},_0x47afdf,_0x5791a7[_0x2c38('0x42')]);var _0x2d058d={'where':_0x47afdf[_0x2c38('0x3d')]};return db[_0x2c38('0x2c')][_0x2c38('0x1f')](_0x2d058d)[_0x2c38('0x24')](function(_0xba83a2){_0x156acd['count']=_0xba83a2;if(_0x5791a7['query'][_0x2c38('0x43')]){_0x47afdf[_0x2c38('0x44')]=[{'all':!![]}];}return db[_0x2c38('0x2c')][_0x2c38('0x45')](_0x47afdf);})[_0x2c38('0x24')](function(_0x1f306c){_0x156acd[_0x2c38('0x46')]=_0x1f306c;return _0x156acd;})[_0x2c38('0x24')](respondWithFilteredResult(_0x1f2895,_0x47afdf))[_0x2c38('0x47')](handleError(_0x1f2895,null));};exports[_0x2c38('0x48')]=function(_0x59cb2e,_0x31923c){var _0x5a26eb={'raw':!![],'where':{'id':_0x59cb2e[_0x2c38('0x49')]['id']}},_0x7c2708={};_0x7c2708[_0x2c38('0x31')]=_[_0x2c38('0x33')](db[_0x2c38('0x2c')]['rawAttributes']);_0x7c2708[_0x2c38('0x32')]=_[_0x2c38('0x33')](_0x59cb2e[_0x2c38('0x32')]);_0x7c2708['filters']=_[_0x2c38('0x35')](_0x7c2708[_0x2c38('0x31')],_0x7c2708['query']);_0x5a26eb[_0x2c38('0x36')]=_['intersection'](_0x7c2708['model'],qs[_0x2c38('0x37')](_0x59cb2e[_0x2c38('0x32')]['fields']));_0x5a26eb[_0x2c38('0x36')]=_0x5a26eb[_0x2c38('0x36')][_0x2c38('0x38')]?_0x5a26eb[_0x2c38('0x36')]:_0x7c2708[_0x2c38('0x31')];if(_0x59cb2e['query'][_0x2c38('0x43')]){_0x5a26eb[_0x2c38('0x44')]=[{'all':!![]}];}_0x5a26eb=_['merge']({},_0x5a26eb,_0x59cb2e[_0x2c38('0x42')]);return db[_0x2c38('0x2c')][_0x2c38('0x4a')](_0x5a26eb)[_0x2c38('0x24')](handleEntityNotFound(_0x31923c,null))[_0x2c38('0x24')](respondWithResult(_0x31923c,null))[_0x2c38('0x47')](handleError(_0x31923c,null));};exports[_0x2c38('0x4b')]=function(_0x2931e3,_0x2f4e37){return db['OpenchannelApplication']['create'](_0x2931e3[_0x2c38('0x4c')],{})[_0x2c38('0x24')](respondWithResult(_0x2f4e37,0xc9))['catch'](handleError(_0x2f4e37,null));};exports['update']=function(_0x39ddac,_0x249ca8){if(_0x39ddac[_0x2c38('0x4c')]['id']){delete _0x39ddac[_0x2c38('0x4c')]['id'];}return db[_0x2c38('0x2c')]['find']({'where':{'id':_0x39ddac[_0x2c38('0x49')]['id']}})[_0x2c38('0x24')](handleEntityNotFound(_0x249ca8,null))[_0x2c38('0x24')](saveUpdates(_0x39ddac[_0x2c38('0x4c')],null))[_0x2c38('0x24')](respondWithResult(_0x249ca8,null))[_0x2c38('0x47')](handleError(_0x249ca8,null));};exports['destroy']=function(_0x385801,_0x16d759){return db[_0x2c38('0x2c')][_0x2c38('0x4a')]({'where':{'id':_0x385801[_0x2c38('0x49')]['id']}})[_0x2c38('0x24')](handleEntityNotFound(_0x16d759,null))['then'](removeEntity(_0x16d759,null))[_0x2c38('0x47')](handleError(_0x16d759,null));};