26dfd3d3f0fada5871ed6c0441c0f248ac671d7c
[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 _0xe752=['map','OpenchannelApplication','fieldName','query','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','findAll','rows','show','params','keys','rawAttributes','includeAll','find','create','catch','update','body','destroy','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','squel','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','count','offset','Content-Range','json','apply','reject','save','then','sendStatus','error','name','index'];(function(_0x56160f,_0x4ac429){var _0x22956a=function(_0x40ab51){while(--_0x40ab51){_0x56160f['push'](_0x56160f['shift']());}};_0x22956a(++_0x4ac429);}(_0xe752,0x157));var _0x2e75=function(_0x386233,_0x4f410d){_0x386233=_0x386233-0x0;var _0x37f3ba=_0xe752[_0x386233];return _0x37f3ba;};'use strict';var pdf=require(_0x2e75('0x0'));var emlformat=require(_0x2e75('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x2e75('0x2'));var jsonpatch=require(_0x2e75('0x3'));var rp=require(_0x2e75('0x4'));var moment=require(_0x2e75('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x2e75('0x6'));var util=require(_0x2e75('0x7'));var path=require(_0x2e75('0x8'));var sox=require(_0x2e75('0x9'));var csv=require('to-csv');var ejs=require(_0x2e75('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0x2e75('0xb'));var crypto=require('crypto');var jsforce=require(_0x2e75('0xc'));var deskjs=require(_0x2e75('0xd'));var toCsv=require(_0x2e75('0xe'));var querystring=require(_0x2e75('0xf'));var Papa=require(_0x2e75('0x10'));var Redis=require(_0x2e75('0x11'));var authService=require(_0x2e75('0x12'));var qs=require(_0x2e75('0x13'));var as=require(_0x2e75('0x14'));var hardwareService=require(_0x2e75('0x15'));var logger=require(_0x2e75('0x16'))(_0x2e75('0x17'));var utils=require(_0x2e75('0x18'));var config=require(_0x2e75('0x19'));var licenseUtil=require(_0x2e75('0x1a'));var db=require(_0x2e75('0x1b'))['db'];function respondWithStatusCode(_0xcad97b,_0x572b89){_0x572b89=_0x572b89||0xcc;return function(_0x1203f8){if(_0x1203f8){return _0xcad97b['sendStatus'](_0x572b89);}return _0xcad97b[_0x2e75('0x1c')](_0x572b89)[_0x2e75('0x1d')]();};}function respondWithResult(_0x24f9aa,_0x5c40cf){_0x5c40cf=_0x5c40cf||0xc8;return function(_0x4250d4){if(_0x4250d4){return _0x24f9aa[_0x2e75('0x1c')](_0x5c40cf)['json'](_0x4250d4);}};}function respondWithFilteredResult(_0x537f10,_0x5caa6b){return function(_0x1abed3){if(_0x1abed3){var _0x121ed6=_0x1abed3[_0x2e75('0x1e')],_0x34d257=_0x5caa6b['offset'],_0x200c7f=_0x5caa6b[_0x2e75('0x1f')]+_0x5caa6b['limit'],_0x4536a2;if(_0x200c7f>=_0x121ed6){_0x200c7f=_0x121ed6;_0x4536a2=0xc8;}else{_0x4536a2=0xce;}_0x537f10[_0x2e75('0x1c')](_0x4536a2);return _0x537f10['set'](_0x2e75('0x20'),_0x34d257+'-'+_0x200c7f+'/'+_0x121ed6)[_0x2e75('0x21')](_0x1abed3);}return null;};}function patchUpdates(_0x57676b){return function(_0x15ca5c){try{jsonpatch[_0x2e75('0x22')](_0x15ca5c,_0x57676b,!![]);}catch(_0x37a44a){return BPromise[_0x2e75('0x23')](_0x37a44a);}return _0x15ca5c[_0x2e75('0x24')]();};}function saveUpdates(_0x25b864,_0x5e7e85){return function(_0x5a570a){if(_0x5a570a){return _0x5a570a['update'](_0x25b864)[_0x2e75('0x25')](function(_0x268abf){return _0x268abf;});}return null;};}function removeEntity(_0x1eae8a,_0x1c7011){return function(_0x5617b8){if(_0x5617b8){return _0x5617b8['destroy']()[_0x2e75('0x25')](function(){_0x1eae8a['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x4dc5ab,_0x27d8ef){return function(_0x29bdbe){if(!_0x29bdbe){_0x4dc5ab[_0x2e75('0x26')](0x194);}return _0x29bdbe;};}function handleError(_0x185c6a,_0x44436e){_0x44436e=_0x44436e||0x1f4;return function(_0x26ff76){logger[_0x2e75('0x27')](_0x26ff76['stack']);if(_0x26ff76['name']){delete _0x26ff76[_0x2e75('0x28')];}_0x185c6a[_0x2e75('0x1c')](_0x44436e)['send'](_0x26ff76);};}exports[_0x2e75('0x29')]=function(_0x573dd5,_0x2ede31){var _0x550969={},_0x29f5ca={},_0x299d30={'count':0x0,'rows':[]};var _0x32b878=_[_0x2e75('0x2a')](db[_0x2e75('0x2b')]['rawAttributes'],function(_0x5ed031){return{'name':_0x5ed031[_0x2e75('0x2c')],'type':_0x5ed031['type']['key']};});_0x29f5ca['model']=_[_0x2e75('0x2a')](_0x32b878,'name');_0x29f5ca[_0x2e75('0x2d')]=_['keys'](_0x573dd5[_0x2e75('0x2d')]);_0x29f5ca[_0x2e75('0x2e')]=_[_0x2e75('0x2f')](_0x29f5ca[_0x2e75('0x30')],_0x29f5ca['query']);_0x550969['attributes']=_[_0x2e75('0x2f')](_0x29f5ca[_0x2e75('0x30')],qs['fields'](_0x573dd5[_0x2e75('0x2d')][_0x2e75('0x31')]));_0x550969['attributes']=_0x550969[_0x2e75('0x32')][_0x2e75('0x33')]?_0x550969['attributes']:_0x29f5ca[_0x2e75('0x30')];if(!_0x573dd5['query'][_0x2e75('0x34')](_0x2e75('0x35'))){_0x550969[_0x2e75('0x36')]=qs[_0x2e75('0x36')](_0x573dd5[_0x2e75('0x2d')][_0x2e75('0x36')]);_0x550969[_0x2e75('0x1f')]=qs[_0x2e75('0x1f')](_0x573dd5[_0x2e75('0x2d')]['offset']);}_0x550969[_0x2e75('0x37')]=qs[_0x2e75('0x38')](_0x573dd5[_0x2e75('0x2d')][_0x2e75('0x38')]);_0x550969[_0x2e75('0x39')]=qs[_0x2e75('0x2e')](_[_0x2e75('0x3a')](_0x573dd5[_0x2e75('0x2d')],_0x29f5ca[_0x2e75('0x2e')]),_0x32b878);if(_0x573dd5['query'][_0x2e75('0x3b')]){_0x550969[_0x2e75('0x39')]=_[_0x2e75('0x3c')](_0x550969[_0x2e75('0x39')],{'$or':_['map'](_0x32b878,function(_0x32a98b){if(_0x32a98b[_0x2e75('0x3d')]!==_0x2e75('0x3e')){var _0x1d4b3d={};_0x1d4b3d[_0x32a98b[_0x2e75('0x28')]]={'$like':'%'+_0x573dd5[_0x2e75('0x2d')][_0x2e75('0x3b')]+'%'};return _0x1d4b3d;}})});}_0x550969=_[_0x2e75('0x3c')]({},_0x550969,_0x573dd5[_0x2e75('0x3f')]);var _0x33a3a5={'where':_0x550969[_0x2e75('0x39')]};return db['OpenchannelApplication'][_0x2e75('0x1e')](_0x33a3a5)[_0x2e75('0x25')](function(_0x515e18){_0x299d30[_0x2e75('0x1e')]=_0x515e18;if(_0x573dd5[_0x2e75('0x2d')]['includeAll']){_0x550969['include']=[{'all':!![]}];}return db['OpenchannelApplication'][_0x2e75('0x40')](_0x550969);})[_0x2e75('0x25')](function(_0x569e22){_0x299d30[_0x2e75('0x41')]=_0x569e22;return _0x299d30;})['then'](respondWithFilteredResult(_0x2ede31,_0x550969))['catch'](handleError(_0x2ede31,null));};exports[_0x2e75('0x42')]=function(_0x798789,_0x11e805){var _0x2292e6={'raw':!![],'where':{'id':_0x798789[_0x2e75('0x43')]['id']}},_0x29f9f4={};_0x29f9f4[_0x2e75('0x30')]=_[_0x2e75('0x44')](db[_0x2e75('0x2b')][_0x2e75('0x45')]);_0x29f9f4[_0x2e75('0x2d')]=_['keys'](_0x798789['query']);_0x29f9f4[_0x2e75('0x2e')]=_[_0x2e75('0x2f')](_0x29f9f4[_0x2e75('0x30')],_0x29f9f4['query']);_0x2292e6['attributes']=_[_0x2e75('0x2f')](_0x29f9f4[_0x2e75('0x30')],qs[_0x2e75('0x31')](_0x798789['query'][_0x2e75('0x31')]));_0x2292e6['attributes']=_0x2292e6['attributes'][_0x2e75('0x33')]?_0x2292e6[_0x2e75('0x32')]:_0x29f9f4[_0x2e75('0x30')];if(_0x798789[_0x2e75('0x2d')][_0x2e75('0x46')]){_0x2292e6['include']=[{'all':!![]}];}_0x2292e6=_[_0x2e75('0x3c')]({},_0x2292e6,_0x798789[_0x2e75('0x3f')]);return db[_0x2e75('0x2b')][_0x2e75('0x47')](_0x2292e6)['then'](handleEntityNotFound(_0x11e805,null))[_0x2e75('0x25')](respondWithResult(_0x11e805,null))['catch'](handleError(_0x11e805,null));};exports['create']=function(_0x1f6619,_0x392e8a){return db['OpenchannelApplication'][_0x2e75('0x48')](_0x1f6619['body'],{})[_0x2e75('0x25')](respondWithResult(_0x392e8a,0xc9))[_0x2e75('0x49')](handleError(_0x392e8a,null));};exports[_0x2e75('0x4a')]=function(_0x50f7af,_0x562e1e){if(_0x50f7af[_0x2e75('0x4b')]['id']){delete _0x50f7af[_0x2e75('0x4b')]['id'];}return db[_0x2e75('0x2b')][_0x2e75('0x47')]({'where':{'id':_0x50f7af[_0x2e75('0x43')]['id']}})[_0x2e75('0x25')](handleEntityNotFound(_0x562e1e,null))[_0x2e75('0x25')](saveUpdates(_0x50f7af[_0x2e75('0x4b')],null))[_0x2e75('0x25')](respondWithResult(_0x562e1e,null))[_0x2e75('0x49')](handleError(_0x562e1e,null));};exports[_0x2e75('0x4c')]=function(_0x2a4368,_0x4580df){return db[_0x2e75('0x2b')]['find']({'where':{'id':_0x2a4368['params']['id']}})[_0x2e75('0x25')](handleEntityNotFound(_0x4580df,null))[_0x2e75('0x25')](removeEntity(_0x4580df,null))[_0x2e75('0x49')](handleError(_0x4580df,null));};