923df456dc30f23556c0b9afae388bf969fcc105
[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 _0x526d=['querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','end','status','offset','limit','undefined','count','Content-Range','json','apply','reject','save','update','then','sendStatus','error','stack','name','send','index','map','OpenchannelApplication','rawAttributes','fieldName','query','keys','filters','model','attributes','intersection','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','includeAll','include','findAll','catch','show','params','length','find','create','body','destroy','eml-format','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','fs-extra','lodash','crypto','to-csv'];(function(_0x1c0794,_0x528eef){var _0x40ac80=function(_0x185acc){while(--_0x185acc){_0x1c0794['push'](_0x1c0794['shift']());}};_0x40ac80(++_0x528eef);}(_0x526d,0x1af));var _0xd526=function(_0x56d3cb,_0x2c77c1){_0x56d3cb=_0x56d3cb-0x0;var _0x4ecbce=_0x526d[_0x56d3cb];return _0x4ecbce;};'use strict';var emlformat=require(_0xd526('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xd526('0x1'));var rp=require(_0xd526('0x2'));var moment=require(_0xd526('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xd526('0x4'));var util=require(_0xd526('0x5'));var path=require(_0xd526('0x6'));var sox=require(_0xd526('0x7'));var csv=require('to-csv');var ejs=require(_0xd526('0x8'));var fs=require('fs');var fs_extra=require(_0xd526('0x9'));var _=require(_0xd526('0xa'));var squel=require('squel');var crypto=require(_0xd526('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xd526('0xc'));var querystring=require(_0xd526('0xd'));var Papa=require('papaparse');var Redis=require(_0xd526('0xe'));var authService=require(_0xd526('0xf'));var qs=require(_0xd526('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd526('0x11'));var logger=require(_0xd526('0x12'))(_0xd526('0x13'));var utils=require(_0xd526('0x14'));var config=require(_0xd526('0x15'));var licenseUtil=require(_0xd526('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x43cfe6,_0x7e6d81){_0x7e6d81=_0x7e6d81||0xcc;return function(_0x23845c){if(_0x23845c){return _0x43cfe6['sendStatus'](_0x7e6d81);}return _0x43cfe6['status'](_0x7e6d81)[_0xd526('0x17')]();};}function respondWithResult(_0x32e3a9,_0x389f5b){_0x389f5b=_0x389f5b||0xc8;return function(_0x3fc05d){if(_0x3fc05d){return _0x32e3a9[_0xd526('0x18')](_0x389f5b)['json'](_0x3fc05d);}};}function respondWithFilteredResult(_0x440e30,_0x5b29b2){return function(_0x53ecde){if(_0x53ecde){var _0x4232c0=typeof _0x5b29b2[_0xd526('0x19')]==='undefined'&&typeof _0x5b29b2[_0xd526('0x1a')]===_0xd526('0x1b');var _0x3fe499=_0x53ecde[_0xd526('0x1c')];var _0x51447b=_0x4232c0?0x0:_0x5b29b2[_0xd526('0x19')];var _0x41675c=_0x4232c0?_0x53ecde[_0xd526('0x1c')]:_0x5b29b2[_0xd526('0x19')]+_0x5b29b2['limit'];var _0x3c6f61;if(_0x41675c>=_0x3fe499){_0x41675c=_0x3fe499;_0x3c6f61=0xc8;}else{_0x3c6f61=0xce;}_0x440e30[_0xd526('0x18')](_0x3c6f61);return _0x440e30['set'](_0xd526('0x1d'),_0x51447b+'-'+_0x41675c+'/'+_0x3fe499)[_0xd526('0x1e')](_0x53ecde);}return null;};}function patchUpdates(_0x32cb41){return function(_0x2533fb){try{jsonpatch[_0xd526('0x1f')](_0x2533fb,_0x32cb41,!![]);}catch(_0x24df53){return BPromise[_0xd526('0x20')](_0x24df53);}return _0x2533fb[_0xd526('0x21')]();};}function saveUpdates(_0x38db56,_0x3815c8){return function(_0x3d753a){if(_0x3d753a){return _0x3d753a[_0xd526('0x22')](_0x38db56)['then'](function(_0x7cf11f){return _0x7cf11f;});}return null;};}function removeEntity(_0x249546,_0x42904d){return function(_0x34d702){if(_0x34d702){return _0x34d702['destroy']()[_0xd526('0x23')](function(){_0x249546[_0xd526('0x18')](0xcc)[_0xd526('0x17')]();});}};}function handleEntityNotFound(_0x3b383c,_0x58ea90){return function(_0x1770a5){if(!_0x1770a5){_0x3b383c[_0xd526('0x24')](0x194);}return _0x1770a5;};}function handleError(_0x180e07,_0x1ef8fc){_0x1ef8fc=_0x1ef8fc||0x1f4;return function(_0x254c26){logger[_0xd526('0x25')](_0x254c26[_0xd526('0x26')]);if(_0x254c26[_0xd526('0x27')]){delete _0x254c26[_0xd526('0x27')];}_0x180e07['status'](_0x1ef8fc)[_0xd526('0x28')](_0x254c26);};}exports[_0xd526('0x29')]=function(_0x3c5315,_0x5d1a23){var _0x155646={},_0x448807={},_0x2d9f25={'count':0x0,'rows':[]};var _0x2ba484=_[_0xd526('0x2a')](db[_0xd526('0x2b')][_0xd526('0x2c')],function(_0x2d53e5){return{'name':_0x2d53e5[_0xd526('0x2d')],'type':_0x2d53e5['type']['key']};});_0x448807['model']=_[_0xd526('0x2a')](_0x2ba484,_0xd526('0x27'));_0x448807[_0xd526('0x2e')]=_[_0xd526('0x2f')](_0x3c5315[_0xd526('0x2e')]);_0x448807[_0xd526('0x30')]=_['intersection'](_0x448807[_0xd526('0x31')],_0x448807[_0xd526('0x2e')]);_0x155646[_0xd526('0x32')]=_[_0xd526('0x33')](_0x448807[_0xd526('0x31')],qs['fields'](_0x3c5315[_0xd526('0x2e')]['fields']));_0x155646['attributes']=_0x155646[_0xd526('0x32')]['length']?_0x155646[_0xd526('0x32')]:_0x448807[_0xd526('0x31')];if(!_0x3c5315[_0xd526('0x2e')][_0xd526('0x34')](_0xd526('0x35'))){_0x155646['limit']=qs[_0xd526('0x1a')](_0x3c5315['query'][_0xd526('0x1a')]);_0x155646[_0xd526('0x19')]=qs[_0xd526('0x19')](_0x3c5315[_0xd526('0x2e')]['offset']);}_0x155646[_0xd526('0x36')]=qs['sort'](_0x3c5315[_0xd526('0x2e')][_0xd526('0x37')]);_0x155646[_0xd526('0x38')]=qs[_0xd526('0x30')](_[_0xd526('0x39')](_0x3c5315[_0xd526('0x2e')],_0x448807['filters']),_0x2ba484);if(_0x3c5315['query'][_0xd526('0x3a')]){_0x155646[_0xd526('0x38')]=_[_0xd526('0x3b')](_0x155646['where'],{'$or':_['map'](_0x2ba484,function(_0x3d569c){if(_0x3d569c[_0xd526('0x3c')]!==_0xd526('0x3d')){var _0x1ab55a={};_0x1ab55a[_0x3d569c['name']]={'$like':'%'+_0x3c5315['query']['filter']+'%'};return _0x1ab55a;}})});}_0x155646=_['merge']({},_0x155646,_0x3c5315[_0xd526('0x3e')]);var _0x5471f9={'where':_0x155646[_0xd526('0x38')]};return db['OpenchannelApplication']['count'](_0x5471f9)[_0xd526('0x23')](function(_0x5c7ba3){_0x2d9f25[_0xd526('0x1c')]=_0x5c7ba3;if(_0x3c5315['query'][_0xd526('0x3f')]){_0x155646[_0xd526('0x40')]=[{'all':!![]}];}return db[_0xd526('0x2b')][_0xd526('0x41')](_0x155646);})['then'](function(_0x3f764e){_0x2d9f25['rows']=_0x3f764e;return _0x2d9f25;})[_0xd526('0x23')](respondWithFilteredResult(_0x5d1a23,_0x155646))[_0xd526('0x42')](handleError(_0x5d1a23,null));};exports[_0xd526('0x43')]=function(_0x102c95,_0x93e424){var _0x2a16bb={'raw':!![],'where':{'id':_0x102c95[_0xd526('0x44')]['id']}},_0x564ea1={};_0x564ea1['model']=_['keys'](db[_0xd526('0x2b')][_0xd526('0x2c')]);_0x564ea1[_0xd526('0x2e')]=_[_0xd526('0x2f')](_0x102c95[_0xd526('0x2e')]);_0x564ea1[_0xd526('0x30')]=_['intersection'](_0x564ea1['model'],_0x564ea1[_0xd526('0x2e')]);_0x2a16bb[_0xd526('0x32')]=_[_0xd526('0x33')](_0x564ea1[_0xd526('0x31')],qs['fields'](_0x102c95['query']['fields']));_0x2a16bb['attributes']=_0x2a16bb[_0xd526('0x32')][_0xd526('0x45')]?_0x2a16bb[_0xd526('0x32')]:_0x564ea1[_0xd526('0x31')];if(_0x102c95[_0xd526('0x2e')][_0xd526('0x3f')]){_0x2a16bb[_0xd526('0x40')]=[{'all':!![]}];}_0x2a16bb=_['merge']({},_0x2a16bb,_0x102c95['options']);return db[_0xd526('0x2b')][_0xd526('0x46')](_0x2a16bb)[_0xd526('0x23')](handleEntityNotFound(_0x93e424,null))[_0xd526('0x23')](respondWithResult(_0x93e424,null))[_0xd526('0x42')](handleError(_0x93e424,null));};exports['create']=function(_0x2128bf,_0x309031){return db[_0xd526('0x2b')][_0xd526('0x47')](_0x2128bf['body'],{})[_0xd526('0x23')](respondWithResult(_0x309031,0xc9))[_0xd526('0x42')](handleError(_0x309031,null));};exports[_0xd526('0x22')]=function(_0x47ff7d,_0x4cc6ab){if(_0x47ff7d[_0xd526('0x48')]['id']){delete _0x47ff7d[_0xd526('0x48')]['id'];}return db[_0xd526('0x2b')]['find']({'where':{'id':_0x47ff7d[_0xd526('0x44')]['id']}})[_0xd526('0x23')](handleEntityNotFound(_0x4cc6ab,null))['then'](saveUpdates(_0x47ff7d[_0xd526('0x48')],null))[_0xd526('0x23')](respondWithResult(_0x4cc6ab,null))[_0xd526('0x42')](handleError(_0x4cc6ab,null));};exports[_0xd526('0x49')]=function(_0x19f6e5,_0x278d92){return db[_0xd526('0x2b')]['find']({'where':{'id':_0x19f6e5[_0xd526('0x44')]['id']}})[_0xd526('0x23')](handleEntityNotFound(_0x278d92,null))[_0xd526('0x23')](removeEntity(_0x278d92,null))['catch'](handleError(_0x278d92,null));};