fffdaaed0b7f01ebb0f59af51387c2fc8c6aacd5
[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 _0x77e4=['eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','json','offset','undefined','count','limit','apply','save','update','then','destroy','error','stack','name','send','index','OpenchannelApplication','rawAttributes','fieldName','type','key','model','map','query','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','pick','filter','where','VIRTUAL','merge','includeAll','findAll','catch','show','params','keys','length','include','find','create','body'];(function(_0x1b26ac,_0x5ea577){var _0x2d88ec=function(_0x4d6110){while(--_0x4d6110){_0x1b26ac['push'](_0x1b26ac['shift']());}};_0x2d88ec(++_0x5ea577);}(_0x77e4,0xde));var _0x477e=function(_0x5450b6,_0x338cf4){_0x5450b6=_0x5450b6-0x0;var _0x46123d=_0x77e4[_0x5450b6];return _0x46123d;};'use strict';var emlformat=require(_0x477e('0x0'));var rimraf=require(_0x477e('0x1'));var zipdir=require(_0x477e('0x2'));var jsonpatch=require(_0x477e('0x3'));var rp=require(_0x477e('0x4'));var moment=require(_0x477e('0x5'));var BPromise=require(_0x477e('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0x477e('0x7'));var sox=require(_0x477e('0x8'));var csv=require(_0x477e('0x9'));var ejs=require(_0x477e('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x477e('0xb'));var squel=require('squel');var crypto=require(_0x477e('0xc'));var jsforce=require(_0x477e('0xd'));var deskjs=require(_0x477e('0xe'));var toCsv=require(_0x477e('0x9'));var querystring=require(_0x477e('0xf'));var Papa=require(_0x477e('0x10'));var Redis=require('ioredis');var authService=require(_0x477e('0x11'));var qs=require(_0x477e('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x477e('0x13'));var logger=require('../../config/logger')(_0x477e('0x14'));var utils=require(_0x477e('0x15'));var config=require(_0x477e('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x477e('0x17'))['db'];function respondWithStatusCode(_0x4c3893,_0x5f0378){_0x5f0378=_0x5f0378||0xcc;return function(_0x34c0a7){if(_0x34c0a7){return _0x4c3893[_0x477e('0x18')](_0x5f0378);}return _0x4c3893['status'](_0x5f0378)[_0x477e('0x19')]();};}function respondWithResult(_0x3264d2,_0x3962fa){_0x3962fa=_0x3962fa||0xc8;return function(_0x28d912){if(_0x28d912){return _0x3264d2[_0x477e('0x1a')](_0x3962fa)[_0x477e('0x1b')](_0x28d912);}};}function respondWithFilteredResult(_0xf7d90a,_0x1ab37e){return function(_0x159441){if(_0x159441){var _0x380ffd=typeof _0x1ab37e[_0x477e('0x1c')]===_0x477e('0x1d')&&typeof _0x1ab37e['limit']===_0x477e('0x1d');var _0x1c02be=_0x159441[_0x477e('0x1e')];var _0x4b5d89=_0x380ffd?0x0:_0x1ab37e[_0x477e('0x1c')];var _0x505380=_0x380ffd?_0x159441[_0x477e('0x1e')]:_0x1ab37e[_0x477e('0x1c')]+_0x1ab37e[_0x477e('0x1f')];var _0x59a3c3;if(_0x505380>=_0x1c02be){_0x505380=_0x1c02be;_0x59a3c3=0xc8;}else{_0x59a3c3=0xce;}_0xf7d90a[_0x477e('0x1a')](_0x59a3c3);return _0xf7d90a['set']('Content-Range',_0x4b5d89+'-'+_0x505380+'/'+_0x1c02be)['json'](_0x159441);}return null;};}function patchUpdates(_0x46253e){return function(_0x386d88){try{jsonpatch[_0x477e('0x20')](_0x386d88,_0x46253e,!![]);}catch(_0x487fce){return BPromise['reject'](_0x487fce);}return _0x386d88[_0x477e('0x21')]();};}function saveUpdates(_0x4e4ec,_0x49bc71){return function(_0x289bdb){if(_0x289bdb){return _0x289bdb[_0x477e('0x22')](_0x4e4ec)[_0x477e('0x23')](function(_0xc78b59){return _0xc78b59;});}return null;};}function removeEntity(_0x49a398,_0x50e64f){return function(_0x20e5d4){if(_0x20e5d4){return _0x20e5d4[_0x477e('0x24')]()[_0x477e('0x23')](function(){_0x49a398['status'](0xcc)[_0x477e('0x19')]();});}};}function handleEntityNotFound(_0x329ad7,_0x400050){return function(_0x58aab0){if(!_0x58aab0){_0x329ad7[_0x477e('0x18')](0x194);}return _0x58aab0;};}function handleError(_0x4e3bcb,_0x49b636){_0x49b636=_0x49b636||0x1f4;return function(_0x5c36e0){logger[_0x477e('0x25')](_0x5c36e0[_0x477e('0x26')]);if(_0x5c36e0[_0x477e('0x27')]){delete _0x5c36e0[_0x477e('0x27')];}_0x4e3bcb[_0x477e('0x1a')](_0x49b636)[_0x477e('0x28')](_0x5c36e0);};}exports[_0x477e('0x29')]=function(_0x21caa8,_0x229b69){var _0x4fa141={},_0x5c48a1={},_0x10fe84={'count':0x0,'rows':[]};var _0x4d7a93=_['map'](db[_0x477e('0x2a')][_0x477e('0x2b')],function(_0x477419){return{'name':_0x477419[_0x477e('0x2c')],'type':_0x477419[_0x477e('0x2d')][_0x477e('0x2e')]};});_0x5c48a1[_0x477e('0x2f')]=_[_0x477e('0x30')](_0x4d7a93,_0x477e('0x27'));_0x5c48a1[_0x477e('0x31')]=_['keys'](_0x21caa8[_0x477e('0x31')]);_0x5c48a1[_0x477e('0x32')]=_['intersection'](_0x5c48a1[_0x477e('0x2f')],_0x5c48a1[_0x477e('0x31')]);_0x4fa141[_0x477e('0x33')]=_[_0x477e('0x34')](_0x5c48a1['model'],qs[_0x477e('0x35')](_0x21caa8[_0x477e('0x31')][_0x477e('0x35')]));_0x4fa141[_0x477e('0x33')]=_0x4fa141['attributes']['length']?_0x4fa141[_0x477e('0x33')]:_0x5c48a1[_0x477e('0x2f')];if(!_0x21caa8['query'][_0x477e('0x36')](_0x477e('0x37'))){_0x4fa141[_0x477e('0x1f')]=qs[_0x477e('0x1f')](_0x21caa8['query']['limit']);_0x4fa141[_0x477e('0x1c')]=qs[_0x477e('0x1c')](_0x21caa8[_0x477e('0x31')][_0x477e('0x1c')]);}_0x4fa141[_0x477e('0x38')]=qs[_0x477e('0x39')](_0x21caa8['query']['sort']);_0x4fa141['where']=qs[_0x477e('0x32')](_[_0x477e('0x3a')](_0x21caa8[_0x477e('0x31')],_0x5c48a1[_0x477e('0x32')]),_0x4d7a93);if(_0x21caa8[_0x477e('0x31')][_0x477e('0x3b')]){_0x4fa141[_0x477e('0x3c')]=_['merge'](_0x4fa141[_0x477e('0x3c')],{'$or':_[_0x477e('0x30')](_0x4d7a93,function(_0x16788b){if(_0x16788b['type']!==_0x477e('0x3d')){var _0x46bd71={};_0x46bd71[_0x16788b['name']]={'$like':'%'+_0x21caa8['query'][_0x477e('0x3b')]+'%'};return _0x46bd71;}})});}_0x4fa141=_[_0x477e('0x3e')]({},_0x4fa141,_0x21caa8['options']);var _0x1b8d67={'where':_0x4fa141[_0x477e('0x3c')]};return db[_0x477e('0x2a')]['count'](_0x1b8d67)['then'](function(_0x441022){_0x10fe84[_0x477e('0x1e')]=_0x441022;if(_0x21caa8['query'][_0x477e('0x3f')]){_0x4fa141['include']=[{'all':!![]}];}return db[_0x477e('0x2a')][_0x477e('0x40')](_0x4fa141);})['then'](function(_0x2caef0){_0x10fe84['rows']=_0x2caef0;return _0x10fe84;})['then'](respondWithFilteredResult(_0x229b69,_0x4fa141))[_0x477e('0x41')](handleError(_0x229b69,null));};exports[_0x477e('0x42')]=function(_0x1bb281,_0x5b97b4){var _0x3f7f95={'raw':!![],'where':{'id':_0x1bb281[_0x477e('0x43')]['id']}},_0x306792={};_0x306792[_0x477e('0x2f')]=_[_0x477e('0x44')](db[_0x477e('0x2a')][_0x477e('0x2b')]);_0x306792[_0x477e('0x31')]=_[_0x477e('0x44')](_0x1bb281[_0x477e('0x31')]);_0x306792[_0x477e('0x32')]=_[_0x477e('0x34')](_0x306792[_0x477e('0x2f')],_0x306792[_0x477e('0x31')]);_0x3f7f95[_0x477e('0x33')]=_['intersection'](_0x306792[_0x477e('0x2f')],qs['fields'](_0x1bb281[_0x477e('0x31')][_0x477e('0x35')]));_0x3f7f95[_0x477e('0x33')]=_0x3f7f95[_0x477e('0x33')][_0x477e('0x45')]?_0x3f7f95[_0x477e('0x33')]:_0x306792[_0x477e('0x2f')];if(_0x1bb281['query'][_0x477e('0x3f')]){_0x3f7f95[_0x477e('0x46')]=[{'all':!![]}];}_0x3f7f95=_[_0x477e('0x3e')]({},_0x3f7f95,_0x1bb281['options']);return db[_0x477e('0x2a')][_0x477e('0x47')](_0x3f7f95)[_0x477e('0x23')](handleEntityNotFound(_0x5b97b4,null))[_0x477e('0x23')](respondWithResult(_0x5b97b4,null))[_0x477e('0x41')](handleError(_0x5b97b4,null));};exports['create']=function(_0x326825,_0x69d4a7){return db[_0x477e('0x2a')][_0x477e('0x48')](_0x326825['body'],{})[_0x477e('0x23')](respondWithResult(_0x69d4a7,0xc9))['catch'](handleError(_0x69d4a7,null));};exports[_0x477e('0x22')]=function(_0x36165c,_0x14d1dd){if(_0x36165c[_0x477e('0x49')]['id']){delete _0x36165c[_0x477e('0x49')]['id'];}return db[_0x477e('0x2a')][_0x477e('0x47')]({'where':{'id':_0x36165c['params']['id']}})[_0x477e('0x23')](handleEntityNotFound(_0x14d1dd,null))[_0x477e('0x23')](saveUpdates(_0x36165c[_0x477e('0x49')],null))[_0x477e('0x23')](respondWithResult(_0x14d1dd,null))['catch'](handleError(_0x14d1dd,null));};exports['destroy']=function(_0x13c597,_0x4bb7b5){return db[_0x477e('0x2a')][_0x477e('0x47')]({'where':{'id':_0x13c597[_0x477e('0x43')]['id']}})[_0x477e('0x23')](handleEntityNotFound(_0x4bb7b5,null))[_0x477e('0x23')](removeEntity(_0x4bb7b5,null))[_0x477e('0x41')](handleError(_0x4bb7b5,null));};