b6c66ea2ee6775bbde98555b38f6644119e35179
[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 _0xbde6=['to-csv','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','sendStatus','end','status','json','undefined','limit','count','offset','set','Content-Range','apply','reject','destroy','then','error','stack','name','send','index','map','OpenchannelApplication','fieldName','key','model','query','keys','filters','intersection','fields','attributes','length','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','rows','catch','show','params','rawAttributes','includeAll','include','find','create','body','rimraf','zip-dir','request-promise','bluebird','mustache','util','path','sox'];(function(_0x342700,_0x569f75){var _0x53406f=function(_0x3b3c32){while(--_0x3b3c32){_0x342700['push'](_0x342700['shift']());}};_0x53406f(++_0x569f75);}(_0xbde6,0xd3));var _0x6bde=function(_0x23e466,_0x1f98ff){_0x23e466=_0x23e466-0x0;var _0x449b48=_0xbde6[_0x23e466];return _0x449b48;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6bde('0x0'));var zipdir=require(_0x6bde('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x6bde('0x2'));var moment=require('moment');var BPromise=require(_0x6bde('0x3'));var Mustache=require(_0x6bde('0x4'));var util=require(_0x6bde('0x5'));var path=require(_0x6bde('0x6'));var sox=require(_0x6bde('0x7'));var csv=require(_0x6bde('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x6bde('0x9'));var squel=require(_0x6bde('0xa'));var crypto=require(_0x6bde('0xb'));var jsforce=require(_0x6bde('0xc'));var deskjs=require(_0x6bde('0xd'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x6bde('0xe'));var Redis=require(_0x6bde('0xf'));var authService=require(_0x6bde('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x6bde('0x11'));var hardwareService=require(_0x6bde('0x12'));var logger=require(_0x6bde('0x13'))('api');var utils=require(_0x6bde('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x6bde('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x597d2c,_0x319bdc){_0x319bdc=_0x319bdc||0xcc;return function(_0x5dd4f1){if(_0x5dd4f1){return _0x597d2c[_0x6bde('0x16')](_0x319bdc);}return _0x597d2c['status'](_0x319bdc)[_0x6bde('0x17')]();};}function respondWithResult(_0x3a8b58,_0x4814b8){_0x4814b8=_0x4814b8||0xc8;return function(_0x624735){if(_0x624735){return _0x3a8b58[_0x6bde('0x18')](_0x4814b8)[_0x6bde('0x19')](_0x624735);}};}function respondWithFilteredResult(_0x2c0924,_0x596bbd){return function(_0x3a870d){if(_0x3a870d){var _0x3449f8=typeof _0x596bbd['offset']===_0x6bde('0x1a')&&typeof _0x596bbd[_0x6bde('0x1b')]===_0x6bde('0x1a');var _0x485c10=_0x3a870d[_0x6bde('0x1c')];var _0x41ec61=_0x3449f8?0x0:_0x596bbd[_0x6bde('0x1d')];var _0x513e38=_0x3449f8?_0x3a870d['count']:_0x596bbd[_0x6bde('0x1d')]+_0x596bbd[_0x6bde('0x1b')];var _0x157b80;if(_0x513e38>=_0x485c10){_0x513e38=_0x485c10;_0x157b80=0xc8;}else{_0x157b80=0xce;}_0x2c0924[_0x6bde('0x18')](_0x157b80);return _0x2c0924[_0x6bde('0x1e')](_0x6bde('0x1f'),_0x41ec61+'-'+_0x513e38+'/'+_0x485c10)[_0x6bde('0x19')](_0x3a870d);}return null;};}function patchUpdates(_0x4a0004){return function(_0x3ac60b){try{jsonpatch[_0x6bde('0x20')](_0x3ac60b,_0x4a0004,!![]);}catch(_0x3d4ed7){return BPromise[_0x6bde('0x21')](_0x3d4ed7);}return _0x3ac60b['save']();};}function saveUpdates(_0x218047,_0x3f30b7){return function(_0x29c308){if(_0x29c308){return _0x29c308['update'](_0x218047)['then'](function(_0x3b85de){return _0x3b85de;});}return null;};}function removeEntity(_0x2ad926,_0x16d2a6){return function(_0x33ba04){if(_0x33ba04){return _0x33ba04[_0x6bde('0x22')]()[_0x6bde('0x23')](function(){_0x2ad926['status'](0xcc)[_0x6bde('0x17')]();});}};}function handleEntityNotFound(_0x5d40ab,_0x4105c0){return function(_0x3e4d00){if(!_0x3e4d00){_0x5d40ab[_0x6bde('0x16')](0x194);}return _0x3e4d00;};}function handleError(_0x143cf8,_0x467a80){_0x467a80=_0x467a80||0x1f4;return function(_0x2391f6){logger[_0x6bde('0x24')](_0x2391f6[_0x6bde('0x25')]);if(_0x2391f6[_0x6bde('0x26')]){delete _0x2391f6['name'];}_0x143cf8[_0x6bde('0x18')](_0x467a80)[_0x6bde('0x27')](_0x2391f6);};}exports[_0x6bde('0x28')]=function(_0x2e11ce,_0x3c2093){var _0x5b119f={},_0x2ee7bc={},_0x401305={'count':0x0,'rows':[]};var _0x3e5c25=_[_0x6bde('0x29')](db[_0x6bde('0x2a')]['rawAttributes'],function(_0x1dda99){return{'name':_0x1dda99[_0x6bde('0x2b')],'type':_0x1dda99['type'][_0x6bde('0x2c')]};});_0x2ee7bc[_0x6bde('0x2d')]=_[_0x6bde('0x29')](_0x3e5c25,_0x6bde('0x26'));_0x2ee7bc[_0x6bde('0x2e')]=_[_0x6bde('0x2f')](_0x2e11ce[_0x6bde('0x2e')]);_0x2ee7bc[_0x6bde('0x30')]=_[_0x6bde('0x31')](_0x2ee7bc[_0x6bde('0x2d')],_0x2ee7bc[_0x6bde('0x2e')]);_0x5b119f['attributes']=_[_0x6bde('0x31')](_0x2ee7bc[_0x6bde('0x2d')],qs['fields'](_0x2e11ce[_0x6bde('0x2e')][_0x6bde('0x32')]));_0x5b119f[_0x6bde('0x33')]=_0x5b119f[_0x6bde('0x33')][_0x6bde('0x34')]?_0x5b119f[_0x6bde('0x33')]:_0x2ee7bc['model'];if(!_0x2e11ce[_0x6bde('0x2e')]['hasOwnProperty'](_0x6bde('0x35'))){_0x5b119f[_0x6bde('0x1b')]=qs['limit'](_0x2e11ce['query'][_0x6bde('0x1b')]);_0x5b119f[_0x6bde('0x1d')]=qs[_0x6bde('0x1d')](_0x2e11ce[_0x6bde('0x2e')]['offset']);}_0x5b119f[_0x6bde('0x36')]=qs[_0x6bde('0x37')](_0x2e11ce[_0x6bde('0x2e')][_0x6bde('0x37')]);_0x5b119f[_0x6bde('0x38')]=qs[_0x6bde('0x30')](_[_0x6bde('0x39')](_0x2e11ce[_0x6bde('0x2e')],_0x2ee7bc[_0x6bde('0x30')]),_0x3e5c25);if(_0x2e11ce['query'][_0x6bde('0x3a')]){_0x5b119f[_0x6bde('0x38')]=_[_0x6bde('0x3b')](_0x5b119f['where'],{'$or':_[_0x6bde('0x29')](_0x3e5c25,function(_0xea56ef){if(_0xea56ef[_0x6bde('0x3c')]!==_0x6bde('0x3d')){var _0x5052f0={};_0x5052f0[_0xea56ef['name']]={'$like':'%'+_0x2e11ce[_0x6bde('0x2e')][_0x6bde('0x3a')]+'%'};return _0x5052f0;}})});}_0x5b119f=_['merge']({},_0x5b119f,_0x2e11ce[_0x6bde('0x3e')]);var _0x20b85e={'where':_0x5b119f[_0x6bde('0x38')]};return db[_0x6bde('0x2a')]['count'](_0x20b85e)['then'](function(_0x26400d){_0x401305[_0x6bde('0x1c')]=_0x26400d;if(_0x2e11ce[_0x6bde('0x2e')]['includeAll']){_0x5b119f['include']=[{'all':!![]}];}return db['OpenchannelApplication']['findAll'](_0x5b119f);})['then'](function(_0x36cbd6){_0x401305[_0x6bde('0x3f')]=_0x36cbd6;return _0x401305;})[_0x6bde('0x23')](respondWithFilteredResult(_0x3c2093,_0x5b119f))[_0x6bde('0x40')](handleError(_0x3c2093,null));};exports[_0x6bde('0x41')]=function(_0xc6a871,_0xd6c8ca){var _0x44e91d={'raw':!![],'where':{'id':_0xc6a871[_0x6bde('0x42')]['id']}},_0x4f76fd={};_0x4f76fd['model']=_[_0x6bde('0x2f')](db[_0x6bde('0x2a')][_0x6bde('0x43')]);_0x4f76fd[_0x6bde('0x2e')]=_[_0x6bde('0x2f')](_0xc6a871['query']);_0x4f76fd[_0x6bde('0x30')]=_[_0x6bde('0x31')](_0x4f76fd[_0x6bde('0x2d')],_0x4f76fd[_0x6bde('0x2e')]);_0x44e91d[_0x6bde('0x33')]=_[_0x6bde('0x31')](_0x4f76fd['model'],qs[_0x6bde('0x32')](_0xc6a871[_0x6bde('0x2e')][_0x6bde('0x32')]));_0x44e91d['attributes']=_0x44e91d[_0x6bde('0x33')][_0x6bde('0x34')]?_0x44e91d[_0x6bde('0x33')]:_0x4f76fd['model'];if(_0xc6a871[_0x6bde('0x2e')][_0x6bde('0x44')]){_0x44e91d[_0x6bde('0x45')]=[{'all':!![]}];}_0x44e91d=_[_0x6bde('0x3b')]({},_0x44e91d,_0xc6a871[_0x6bde('0x3e')]);return db['OpenchannelApplication'][_0x6bde('0x46')](_0x44e91d)[_0x6bde('0x23')](handleEntityNotFound(_0xd6c8ca,null))[_0x6bde('0x23')](respondWithResult(_0xd6c8ca,null))[_0x6bde('0x40')](handleError(_0xd6c8ca,null));};exports[_0x6bde('0x47')]=function(_0x4f5d9f,_0x2a6a79){return db[_0x6bde('0x2a')][_0x6bde('0x47')](_0x4f5d9f[_0x6bde('0x48')],{})[_0x6bde('0x23')](respondWithResult(_0x2a6a79,0xc9))[_0x6bde('0x40')](handleError(_0x2a6a79,null));};exports['update']=function(_0x22f13e,_0x43d3ec){if(_0x22f13e[_0x6bde('0x48')]['id']){delete _0x22f13e[_0x6bde('0x48')]['id'];}return db[_0x6bde('0x2a')][_0x6bde('0x46')]({'where':{'id':_0x22f13e[_0x6bde('0x42')]['id']}})[_0x6bde('0x23')](handleEntityNotFound(_0x43d3ec,null))[_0x6bde('0x23')](saveUpdates(_0x22f13e['body'],null))[_0x6bde('0x23')](respondWithResult(_0x43d3ec,null))['catch'](handleError(_0x43d3ec,null));};exports[_0x6bde('0x22')]=function(_0x27eb46,_0x2921d0){return db[_0x6bde('0x2a')][_0x6bde('0x46')]({'where':{'id':_0x27eb46[_0x6bde('0x42')]['id']}})[_0x6bde('0x23')](handleEntityNotFound(_0x2921d0,null))['then'](removeEntity(_0x2921d0,null))[_0x6bde('0x40')](handleError(_0x2921d0,null));};