31d0eb2a405eea2de80820961a6efb4b5f60c8e7
[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 _0x81d3=['sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','undefined','count','offset','set','json','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','OpenchannelApplication','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','rows','catch','show','params','length','find','create','body','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','path'];(function(_0x1acb1a,_0x4105e8){var _0x502464=function(_0x18ba02){while(--_0x18ba02){_0x1acb1a['push'](_0x1acb1a['shift']());}};_0x502464(++_0x4105e8);}(_0x81d3,0x92));var _0x381d=function(_0x252e67,_0x2d2cb4){_0x252e67=_0x252e67-0x0;var _0x48dae8=_0x81d3[_0x252e67];return _0x48dae8;};'use strict';var emlformat=require(_0x381d('0x0'));var rimraf=require(_0x381d('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x381d('0x2'));var rp=require(_0x381d('0x3'));var moment=require(_0x381d('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x381d('0x5'));var util=require(_0x381d('0x6'));var path=require(_0x381d('0x7'));var sox=require(_0x381d('0x8'));var csv=require(_0x381d('0x9'));var ejs=require(_0x381d('0xa'));var fs=require('fs');var fs_extra=require(_0x381d('0xb'));var _=require(_0x381d('0xc'));var squel=require(_0x381d('0xd'));var crypto=require(_0x381d('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x381d('0xf'));var toCsv=require(_0x381d('0x9'));var querystring=require('querystring');var Papa=require(_0x381d('0x10'));var Redis=require('ioredis');var authService=require(_0x381d('0x11'));var qs=require(_0x381d('0x12'));var as=require(_0x381d('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x381d('0x14'))('api');var utils=require(_0x381d('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x381d('0x16'));var db=require(_0x381d('0x17'))['db'];function respondWithStatusCode(_0x40d80c,_0x19f34a){_0x19f34a=_0x19f34a||0xcc;return function(_0x409a2a){if(_0x409a2a){return _0x40d80c[_0x381d('0x18')](_0x19f34a);}return _0x40d80c[_0x381d('0x19')](_0x19f34a)[_0x381d('0x1a')]();};}function respondWithResult(_0x5eb6f6,_0x5cd83b){_0x5cd83b=_0x5cd83b||0xc8;return function(_0x23115d){if(_0x23115d){return _0x5eb6f6['status'](_0x5cd83b)['json'](_0x23115d);}};}function respondWithFilteredResult(_0x318414,_0x2979cc){return function(_0x1dca26){if(_0x1dca26){var _0x4a7c32=typeof _0x2979cc['offset']===_0x381d('0x1b')&&typeof _0x2979cc['limit']===_0x381d('0x1b');var _0x2ec703=_0x1dca26[_0x381d('0x1c')];var _0x41b47f=_0x4a7c32?0x0:_0x2979cc[_0x381d('0x1d')];var _0x13380a=_0x4a7c32?_0x1dca26['count']:_0x2979cc['offset']+_0x2979cc['limit'];var _0x178ed3;if(_0x13380a>=_0x2ec703){_0x13380a=_0x2ec703;_0x178ed3=0xc8;}else{_0x178ed3=0xce;}_0x318414['status'](_0x178ed3);return _0x318414[_0x381d('0x1e')]('Content-Range',_0x41b47f+'-'+_0x13380a+'/'+_0x2ec703)[_0x381d('0x1f')](_0x1dca26);}return null;};}function patchUpdates(_0x5b877e){return function(_0x1b167a){try{jsonpatch[_0x381d('0x20')](_0x1b167a,_0x5b877e,!![]);}catch(_0x3dd30d){return BPromise[_0x381d('0x21')](_0x3dd30d);}return _0x1b167a[_0x381d('0x22')]();};}function saveUpdates(_0x5e08a2,_0x571faf){return function(_0xf7442f){if(_0xf7442f){return _0xf7442f[_0x381d('0x23')](_0x5e08a2)[_0x381d('0x24')](function(_0x20e408){return _0x20e408;});}return null;};}function removeEntity(_0xbad243,_0x40b792){return function(_0x41df9b){if(_0x41df9b){return _0x41df9b[_0x381d('0x25')]()[_0x381d('0x24')](function(){_0xbad243['status'](0xcc)[_0x381d('0x1a')]();});}};}function handleEntityNotFound(_0x1467b5,_0x21df32){return function(_0x3f6694){if(!_0x3f6694){_0x1467b5[_0x381d('0x18')](0x194);}return _0x3f6694;};}function handleError(_0x1700d6,_0x2022b5){_0x2022b5=_0x2022b5||0x1f4;return function(_0x5c233a){logger[_0x381d('0x26')](_0x5c233a[_0x381d('0x27')]);if(_0x5c233a[_0x381d('0x28')]){delete _0x5c233a[_0x381d('0x28')];}_0x1700d6[_0x381d('0x19')](_0x2022b5)[_0x381d('0x29')](_0x5c233a);};}exports[_0x381d('0x2a')]=function(_0x5139c0,_0x18655d){var _0x2d6edc={},_0x569ae9={},_0x3ab249={'count':0x0,'rows':[]};var _0x5b9799=_[_0x381d('0x2b')](db[_0x381d('0x2c')][_0x381d('0x2d')],function(_0x5c4e40){return{'name':_0x5c4e40[_0x381d('0x2e')],'type':_0x5c4e40[_0x381d('0x2f')][_0x381d('0x30')]};});_0x569ae9[_0x381d('0x31')]=_[_0x381d('0x2b')](_0x5b9799,'name');_0x569ae9[_0x381d('0x32')]=_[_0x381d('0x33')](_0x5139c0[_0x381d('0x32')]);_0x569ae9[_0x381d('0x34')]=_[_0x381d('0x35')](_0x569ae9['model'],_0x569ae9[_0x381d('0x32')]);_0x2d6edc[_0x381d('0x36')]=_[_0x381d('0x35')](_0x569ae9[_0x381d('0x31')],qs['fields'](_0x5139c0[_0x381d('0x32')][_0x381d('0x37')]));_0x2d6edc['attributes']=_0x2d6edc[_0x381d('0x36')]['length']?_0x2d6edc[_0x381d('0x36')]:_0x569ae9[_0x381d('0x31')];if(!_0x5139c0['query'][_0x381d('0x38')](_0x381d('0x39'))){_0x2d6edc['limit']=qs[_0x381d('0x3a')](_0x5139c0[_0x381d('0x32')][_0x381d('0x3a')]);_0x2d6edc[_0x381d('0x1d')]=qs[_0x381d('0x1d')](_0x5139c0[_0x381d('0x32')][_0x381d('0x1d')]);}_0x2d6edc[_0x381d('0x3b')]=qs[_0x381d('0x3c')](_0x5139c0[_0x381d('0x32')][_0x381d('0x3c')]);_0x2d6edc[_0x381d('0x3d')]=qs[_0x381d('0x34')](_[_0x381d('0x3e')](_0x5139c0[_0x381d('0x32')],_0x569ae9[_0x381d('0x34')]),_0x5b9799);if(_0x5139c0[_0x381d('0x32')][_0x381d('0x3f')]){_0x2d6edc[_0x381d('0x3d')]=_['merge'](_0x2d6edc['where'],{'$or':_[_0x381d('0x2b')](_0x5b9799,function(_0x4fcd8b){if(_0x4fcd8b[_0x381d('0x2f')]!==_0x381d('0x40')){var _0x5e2573={};_0x5e2573[_0x4fcd8b['name']]={'$like':'%'+_0x5139c0['query'][_0x381d('0x3f')]+'%'};return _0x5e2573;}})});}_0x2d6edc=_[_0x381d('0x41')]({},_0x2d6edc,_0x5139c0[_0x381d('0x42')]);var _0x4d4cc7={'where':_0x2d6edc['where']};return db[_0x381d('0x2c')][_0x381d('0x1c')](_0x4d4cc7)['then'](function(_0x357226){_0x3ab249[_0x381d('0x1c')]=_0x357226;if(_0x5139c0[_0x381d('0x32')][_0x381d('0x43')]){_0x2d6edc[_0x381d('0x44')]=[{'all':!![]}];}return db[_0x381d('0x2c')]['findAll'](_0x2d6edc);})[_0x381d('0x24')](function(_0x16b2d7){_0x3ab249[_0x381d('0x45')]=_0x16b2d7;return _0x3ab249;})[_0x381d('0x24')](respondWithFilteredResult(_0x18655d,_0x2d6edc))[_0x381d('0x46')](handleError(_0x18655d,null));};exports[_0x381d('0x47')]=function(_0x23eb61,_0x263b2c){var _0x589ff0={'raw':!![],'where':{'id':_0x23eb61[_0x381d('0x48')]['id']}},_0x2a2146={};_0x2a2146[_0x381d('0x31')]=_[_0x381d('0x33')](db[_0x381d('0x2c')][_0x381d('0x2d')]);_0x2a2146[_0x381d('0x32')]=_['keys'](_0x23eb61[_0x381d('0x32')]);_0x2a2146[_0x381d('0x34')]=_[_0x381d('0x35')](_0x2a2146[_0x381d('0x31')],_0x2a2146[_0x381d('0x32')]);_0x589ff0[_0x381d('0x36')]=_[_0x381d('0x35')](_0x2a2146[_0x381d('0x31')],qs[_0x381d('0x37')](_0x23eb61[_0x381d('0x32')][_0x381d('0x37')]));_0x589ff0[_0x381d('0x36')]=_0x589ff0[_0x381d('0x36')][_0x381d('0x49')]?_0x589ff0[_0x381d('0x36')]:_0x2a2146['model'];if(_0x23eb61[_0x381d('0x32')]['includeAll']){_0x589ff0[_0x381d('0x44')]=[{'all':!![]}];}_0x589ff0=_[_0x381d('0x41')]({},_0x589ff0,_0x23eb61[_0x381d('0x42')]);return db[_0x381d('0x2c')][_0x381d('0x4a')](_0x589ff0)[_0x381d('0x24')](handleEntityNotFound(_0x263b2c,null))[_0x381d('0x24')](respondWithResult(_0x263b2c,null))[_0x381d('0x46')](handleError(_0x263b2c,null));};exports['create']=function(_0x3473eb,_0x478a01){return db[_0x381d('0x2c')][_0x381d('0x4b')](_0x3473eb[_0x381d('0x4c')],{})[_0x381d('0x24')](respondWithResult(_0x478a01,0xc9))[_0x381d('0x46')](handleError(_0x478a01,null));};exports[_0x381d('0x23')]=function(_0x46f383,_0xe4c518){if(_0x46f383['body']['id']){delete _0x46f383[_0x381d('0x4c')]['id'];}return db['OpenchannelApplication'][_0x381d('0x4a')]({'where':{'id':_0x46f383[_0x381d('0x48')]['id']}})['then'](handleEntityNotFound(_0xe4c518,null))[_0x381d('0x24')](saveUpdates(_0x46f383[_0x381d('0x4c')],null))[_0x381d('0x24')](respondWithResult(_0xe4c518,null))['catch'](handleError(_0xe4c518,null));};exports[_0x381d('0x25')]=function(_0x4f6ce1,_0x4217fa){return db[_0x381d('0x2c')][_0x381d('0x4a')]({'where':{'id':_0x4f6ce1[_0x381d('0x48')]['id']}})[_0x381d('0x24')](handleEntityNotFound(_0x4217fa,null))[_0x381d('0x24')](removeEntity(_0x4217fa,null))['catch'](handleError(_0x4217fa,null));};