Built motion from commit 9e1399f3.|2.5.37
[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 _0x6968=['error','stack','name','send','map','OpenchannelApplication','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','catch','show','params','includeAll','find','create','body','eml-format','fast-json-patch','request-promise','moment','bluebird','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','status','end','json','offset','count','limit','set','apply','reject','save','update','then'];(function(_0x43c48c,_0x287e91){var _0x595280=function(_0x3d373f){while(--_0x3d373f){_0x43c48c['push'](_0x43c48c['shift']());}};_0x595280(++_0x287e91);}(_0x6968,0x1e0));var _0x8696=function(_0x277fda,_0x57df6e){_0x277fda=_0x277fda-0x0;var _0x34475a=_0x6968[_0x277fda];return _0x34475a;};'use strict';var emlformat=require(_0x8696('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x8696('0x1'));var rp=require(_0x8696('0x2'));var moment=require(_0x8696('0x3'));var BPromise=require(_0x8696('0x4'));var Mustache=require('mustache');var util=require(_0x8696('0x5'));var path=require(_0x8696('0x6'));var sox=require(_0x8696('0x7'));var csv=require('to-csv');var ejs=require(_0x8696('0x8'));var fs=require('fs');var fs_extra=require(_0x8696('0x9'));var _=require(_0x8696('0xa'));var squel=require(_0x8696('0xb'));var crypto=require(_0x8696('0xc'));var jsforce=require(_0x8696('0xd'));var deskjs=require(_0x8696('0xe'));var toCsv=require(_0x8696('0xf'));var querystring=require(_0x8696('0x10'));var Papa=require(_0x8696('0x11'));var Redis=require('ioredis');var authService=require(_0x8696('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x8696('0x13'));var hardwareService=require(_0x8696('0x14'));var logger=require(_0x8696('0x15'))(_0x8696('0x16'));var utils=require(_0x8696('0x17'));var config=require(_0x8696('0x18'));var licenseUtil=require(_0x8696('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2836e4,_0x333576){_0x333576=_0x333576||0xcc;return function(_0x31f7f1){if(_0x31f7f1){return _0x2836e4['sendStatus'](_0x333576);}return _0x2836e4[_0x8696('0x1a')](_0x333576)[_0x8696('0x1b')]();};}function respondWithResult(_0x52613b,_0x5e0da9){_0x5e0da9=_0x5e0da9||0xc8;return function(_0x145d5a){if(_0x145d5a){return _0x52613b[_0x8696('0x1a')](_0x5e0da9)[_0x8696('0x1c')](_0x145d5a);}};}function respondWithFilteredResult(_0x24e4f9,_0x43b932){return function(_0x14e3f5){if(_0x14e3f5){var _0xdcfb7e=typeof _0x43b932[_0x8696('0x1d')]==='undefined'&&typeof _0x43b932['limit']==='undefined';var _0x547250=_0x14e3f5[_0x8696('0x1e')];var _0x546f93=_0xdcfb7e?0x0:_0x43b932[_0x8696('0x1d')];var _0x3f04b1=_0xdcfb7e?_0x14e3f5[_0x8696('0x1e')]:_0x43b932[_0x8696('0x1d')]+_0x43b932[_0x8696('0x1f')];var _0x3a50be;if(_0x3f04b1>=_0x547250){_0x3f04b1=_0x547250;_0x3a50be=0xc8;}else{_0x3a50be=0xce;}_0x24e4f9[_0x8696('0x1a')](_0x3a50be);return _0x24e4f9[_0x8696('0x20')]('Content-Range',_0x546f93+'-'+_0x3f04b1+'/'+_0x547250)[_0x8696('0x1c')](_0x14e3f5);}return null;};}function patchUpdates(_0x497e7f){return function(_0x541132){try{jsonpatch[_0x8696('0x21')](_0x541132,_0x497e7f,!![]);}catch(_0x552039){return BPromise[_0x8696('0x22')](_0x552039);}return _0x541132[_0x8696('0x23')]();};}function saveUpdates(_0x7fad4,_0x5b74a6){return function(_0x38ccec){if(_0x38ccec){return _0x38ccec[_0x8696('0x24')](_0x7fad4)[_0x8696('0x25')](function(_0x54b47c){return _0x54b47c;});}return null;};}function removeEntity(_0x4a291b,_0x1c897a){return function(_0x40ea53){if(_0x40ea53){return _0x40ea53['destroy']()[_0x8696('0x25')](function(){_0x4a291b['status'](0xcc)[_0x8696('0x1b')]();});}};}function handleEntityNotFound(_0x1b5cdb,_0x50c47f){return function(_0x186105){if(!_0x186105){_0x1b5cdb['sendStatus'](0x194);}return _0x186105;};}function handleError(_0x204d1d,_0x41a4e3){_0x41a4e3=_0x41a4e3||0x1f4;return function(_0x901ca2){logger[_0x8696('0x26')](_0x901ca2[_0x8696('0x27')]);if(_0x901ca2[_0x8696('0x28')]){delete _0x901ca2[_0x8696('0x28')];}_0x204d1d[_0x8696('0x1a')](_0x41a4e3)[_0x8696('0x29')](_0x901ca2);};}exports['index']=function(_0x5b8aba,_0x2e37d0){var _0xfbafeb={},_0x265695={},_0x4bf421={'count':0x0,'rows':[]};var _0x26523f=_[_0x8696('0x2a')](db[_0x8696('0x2b')][_0x8696('0x2c')],function(_0x4064ae){return{'name':_0x4064ae['fieldName'],'type':_0x4064ae[_0x8696('0x2d')][_0x8696('0x2e')]};});_0x265695[_0x8696('0x2f')]=_[_0x8696('0x2a')](_0x26523f,_0x8696('0x28'));_0x265695[_0x8696('0x30')]=_[_0x8696('0x31')](_0x5b8aba[_0x8696('0x30')]);_0x265695[_0x8696('0x32')]=_[_0x8696('0x33')](_0x265695['model'],_0x265695[_0x8696('0x30')]);_0xfbafeb[_0x8696('0x34')]=_['intersection'](_0x265695[_0x8696('0x2f')],qs[_0x8696('0x35')](_0x5b8aba[_0x8696('0x30')][_0x8696('0x35')]));_0xfbafeb[_0x8696('0x34')]=_0xfbafeb['attributes'][_0x8696('0x36')]?_0xfbafeb[_0x8696('0x34')]:_0x265695['model'];if(!_0x5b8aba['query'][_0x8696('0x37')](_0x8696('0x38'))){_0xfbafeb[_0x8696('0x1f')]=qs[_0x8696('0x1f')](_0x5b8aba[_0x8696('0x30')][_0x8696('0x1f')]);_0xfbafeb[_0x8696('0x1d')]=qs[_0x8696('0x1d')](_0x5b8aba[_0x8696('0x30')][_0x8696('0x1d')]);}_0xfbafeb['order']=qs['sort'](_0x5b8aba[_0x8696('0x30')][_0x8696('0x39')]);_0xfbafeb[_0x8696('0x3a')]=qs[_0x8696('0x32')](_[_0x8696('0x3b')](_0x5b8aba[_0x8696('0x30')],_0x265695[_0x8696('0x32')]),_0x26523f);if(_0x5b8aba[_0x8696('0x30')][_0x8696('0x3c')]){_0xfbafeb[_0x8696('0x3a')]=_[_0x8696('0x3d')](_0xfbafeb[_0x8696('0x3a')],{'$or':_['map'](_0x26523f,function(_0x53a4e7){if(_0x53a4e7['type']!==_0x8696('0x3e')){var _0x592d1a={};_0x592d1a[_0x53a4e7['name']]={'$like':'%'+_0x5b8aba[_0x8696('0x30')][_0x8696('0x3c')]+'%'};return _0x592d1a;}})});}_0xfbafeb=_['merge']({},_0xfbafeb,_0x5b8aba[_0x8696('0x3f')]);var _0x379d7e={'where':_0xfbafeb[_0x8696('0x3a')]};return db[_0x8696('0x2b')]['count'](_0x379d7e)['then'](function(_0x290f95){_0x4bf421[_0x8696('0x1e')]=_0x290f95;if(_0x5b8aba['query']['includeAll']){_0xfbafeb[_0x8696('0x40')]=[{'all':!![]}];}return db['OpenchannelApplication'][_0x8696('0x41')](_0xfbafeb);})[_0x8696('0x25')](function(_0x238e4d){_0x4bf421[_0x8696('0x42')]=_0x238e4d;return _0x4bf421;})[_0x8696('0x25')](respondWithFilteredResult(_0x2e37d0,_0xfbafeb))[_0x8696('0x43')](handleError(_0x2e37d0,null));};exports[_0x8696('0x44')]=function(_0x411100,_0x2b30c0){var _0x2d26dd={'raw':!![],'where':{'id':_0x411100[_0x8696('0x45')]['id']}},_0x454f0c={};_0x454f0c[_0x8696('0x2f')]=_[_0x8696('0x31')](db[_0x8696('0x2b')]['rawAttributes']);_0x454f0c[_0x8696('0x30')]=_[_0x8696('0x31')](_0x411100[_0x8696('0x30')]);_0x454f0c[_0x8696('0x32')]=_[_0x8696('0x33')](_0x454f0c[_0x8696('0x2f')],_0x454f0c[_0x8696('0x30')]);_0x2d26dd['attributes']=_[_0x8696('0x33')](_0x454f0c['model'],qs[_0x8696('0x35')](_0x411100[_0x8696('0x30')]['fields']));_0x2d26dd[_0x8696('0x34')]=_0x2d26dd[_0x8696('0x34')]['length']?_0x2d26dd[_0x8696('0x34')]:_0x454f0c[_0x8696('0x2f')];if(_0x411100['query'][_0x8696('0x46')]){_0x2d26dd[_0x8696('0x40')]=[{'all':!![]}];}_0x2d26dd=_[_0x8696('0x3d')]({},_0x2d26dd,_0x411100[_0x8696('0x3f')]);return db[_0x8696('0x2b')][_0x8696('0x47')](_0x2d26dd)[_0x8696('0x25')](handleEntityNotFound(_0x2b30c0,null))[_0x8696('0x25')](respondWithResult(_0x2b30c0,null))[_0x8696('0x43')](handleError(_0x2b30c0,null));};exports[_0x8696('0x48')]=function(_0x55c373,_0x5aae3a){return db['OpenchannelApplication']['create'](_0x55c373[_0x8696('0x49')],{})['then'](respondWithResult(_0x5aae3a,0xc9))['catch'](handleError(_0x5aae3a,null));};exports[_0x8696('0x24')]=function(_0x4b40f7,_0x1bb822){if(_0x4b40f7[_0x8696('0x49')]['id']){delete _0x4b40f7[_0x8696('0x49')]['id'];}return db[_0x8696('0x2b')][_0x8696('0x47')]({'where':{'id':_0x4b40f7['params']['id']}})[_0x8696('0x25')](handleEntityNotFound(_0x1bb822,null))[_0x8696('0x25')](saveUpdates(_0x4b40f7['body'],null))[_0x8696('0x25')](respondWithResult(_0x1bb822,null))[_0x8696('0x43')](handleError(_0x1bb822,null));};exports['destroy']=function(_0x4e28b9,_0x51f082){return db['OpenchannelApplication'][_0x8696('0x47')]({'where':{'id':_0x4e28b9['params']['id']}})[_0x8696('0x25')](handleEntityNotFound(_0x51f082,null))[_0x8696('0x25')](removeEntity(_0x51f082,null))[_0x8696('0x43')](handleError(_0x51f082,null));};