Built motion from commit 9d1906d1.|2.5.40
[motion2.git] / server / api / whatsappApplication / whatsappApplication.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 _0xfef9=['util','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','update','then','destroy','error','name','index','rawAttributes','fieldName','type','key','model','map','query','filters','intersection','fields','attributes','length','sort','where','pick','filter','merge','WhatsappApplication','include','findAll','rows','catch','keys','includeAll','options','find','create','body','params','eml-format','rimraf','fast-json-patch','request-promise','bluebird'];(function(_0x299a01,_0x12a75a){var _0x2f15b2=function(_0x32358c){while(--_0x32358c){_0x299a01['push'](_0x299a01['shift']());}};_0x2f15b2(++_0x12a75a);}(_0xfef9,0xd3));var _0x9fef=function(_0xb83ec2,_0x18e73b){_0xb83ec2=_0xb83ec2-0x0;var _0x4d2fbf=_0xfef9[_0xb83ec2];return _0x4d2fbf;};'use strict';var emlformat=require(_0x9fef('0x0'));var rimraf=require(_0x9fef('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x9fef('0x2'));var rp=require(_0x9fef('0x3'));var moment=require('moment');var BPromise=require(_0x9fef('0x4'));var Mustache=require('mustache');var util=require(_0x9fef('0x5'));var path=require('path');var sox=require(_0x9fef('0x6'));var csv=require(_0x9fef('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x9fef('0x8'));var _=require(_0x9fef('0x9'));var squel=require('squel');var crypto=require(_0x9fef('0xa'));var jsforce=require(_0x9fef('0xb'));var deskjs=require(_0x9fef('0xc'));var toCsv=require('to-csv');var querystring=require(_0x9fef('0xd'));var Papa=require(_0x9fef('0xe'));var Redis=require(_0x9fef('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x9fef('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9fef('0x11'));var logger=require(_0x9fef('0x12'))(_0x9fef('0x13'));var utils=require(_0x9fef('0x14'));var config=require(_0x9fef('0x15'));var licenseUtil=require(_0x9fef('0x16'));var db=require(_0x9fef('0x17'))['db'];function respondWithStatusCode(_0x5ba68a,_0x37640b){_0x37640b=_0x37640b||0xcc;return function(_0x238dda){if(_0x238dda){return _0x5ba68a[_0x9fef('0x18')](_0x37640b);}return _0x5ba68a['status'](_0x37640b)[_0x9fef('0x19')]();};}function respondWithResult(_0x64eb45,_0x4438ce){_0x4438ce=_0x4438ce||0xc8;return function(_0x2905c9){if(_0x2905c9){return _0x64eb45[_0x9fef('0x1a')](_0x4438ce)['json'](_0x2905c9);}};}function respondWithFilteredResult(_0x2a1a29,_0x4ee2e3){return function(_0x4d5054){if(_0x4d5054){var _0x47bc6a=typeof _0x4ee2e3[_0x9fef('0x1b')]===_0x9fef('0x1c')&&typeof _0x4ee2e3[_0x9fef('0x1d')]===_0x9fef('0x1c');var _0x1a5e8c=_0x4d5054[_0x9fef('0x1e')];var _0x488cdb=_0x47bc6a?0x0:_0x4ee2e3[_0x9fef('0x1b')];var _0xe16ba9=_0x47bc6a?_0x4d5054[_0x9fef('0x1e')]:_0x4ee2e3[_0x9fef('0x1b')]+_0x4ee2e3['limit'];var _0x3606ab;if(_0xe16ba9>=_0x1a5e8c){_0xe16ba9=_0x1a5e8c;_0x3606ab=0xc8;}else{_0x3606ab=0xce;}_0x2a1a29[_0x9fef('0x1a')](_0x3606ab);return _0x2a1a29[_0x9fef('0x1f')](_0x9fef('0x20'),_0x488cdb+'-'+_0xe16ba9+'/'+_0x1a5e8c)[_0x9fef('0x21')](_0x4d5054);}return null;};}function patchUpdates(_0x5eb2b0){return function(_0x4ca16a){try{jsonpatch[_0x9fef('0x22')](_0x4ca16a,_0x5eb2b0,!![]);}catch(_0x68b1ab){return BPromise[_0x9fef('0x23')](_0x68b1ab);}return _0x4ca16a[_0x9fef('0x24')]();};}function saveUpdates(_0x4163d4,_0x12bc69){return function(_0xea3fec){if(_0xea3fec){return _0xea3fec[_0x9fef('0x25')](_0x4163d4)[_0x9fef('0x26')](function(_0x2d116b){return _0x2d116b;});}return null;};}function removeEntity(_0x52ba8f,_0x36c887){return function(_0x217a81){if(_0x217a81){return _0x217a81[_0x9fef('0x27')]()['then'](function(){_0x52ba8f['status'](0xcc)[_0x9fef('0x19')]();});}};}function handleEntityNotFound(_0x3c1108,_0x2965db){return function(_0x3bff2c){if(!_0x3bff2c){_0x3c1108[_0x9fef('0x18')](0x194);}return _0x3bff2c;};}function handleError(_0x3009ed,_0x5a2f87){_0x5a2f87=_0x5a2f87||0x1f4;return function(_0x560eeb){logger[_0x9fef('0x28')](_0x560eeb['stack']);if(_0x560eeb['name']){delete _0x560eeb[_0x9fef('0x29')];}_0x3009ed[_0x9fef('0x1a')](_0x5a2f87)['send'](_0x560eeb);};}exports[_0x9fef('0x2a')]=function(_0x4ed4db,_0x4b8344){var _0xce6526={},_0x5734ae={},_0x5a74aa={'count':0x0,'rows':[]};var _0x47d9cb=_['map'](db['WhatsappApplication'][_0x9fef('0x2b')],function(_0x30e894){return{'name':_0x30e894[_0x9fef('0x2c')],'type':_0x30e894[_0x9fef('0x2d')][_0x9fef('0x2e')]};});_0x5734ae[_0x9fef('0x2f')]=_[_0x9fef('0x30')](_0x47d9cb,_0x9fef('0x29'));_0x5734ae['query']=_['keys'](_0x4ed4db[_0x9fef('0x31')]);_0x5734ae[_0x9fef('0x32')]=_[_0x9fef('0x33')](_0x5734ae[_0x9fef('0x2f')],_0x5734ae[_0x9fef('0x31')]);_0xce6526['attributes']=_[_0x9fef('0x33')](_0x5734ae[_0x9fef('0x2f')],qs['fields'](_0x4ed4db[_0x9fef('0x31')][_0x9fef('0x34')]));_0xce6526[_0x9fef('0x35')]=_0xce6526[_0x9fef('0x35')][_0x9fef('0x36')]?_0xce6526[_0x9fef('0x35')]:_0x5734ae['model'];if(!_0x4ed4db['query']['hasOwnProperty']('nolimit')){_0xce6526[_0x9fef('0x1d')]=qs[_0x9fef('0x1d')](_0x4ed4db[_0x9fef('0x31')][_0x9fef('0x1d')]);_0xce6526[_0x9fef('0x1b')]=qs[_0x9fef('0x1b')](_0x4ed4db[_0x9fef('0x31')]['offset']);}_0xce6526['order']=qs[_0x9fef('0x37')](_0x4ed4db['query']['sort']);_0xce6526[_0x9fef('0x38')]=qs['filters'](_[_0x9fef('0x39')](_0x4ed4db[_0x9fef('0x31')],_0x5734ae['filters']),_0x47d9cb);if(_0x4ed4db['query'][_0x9fef('0x3a')]){_0xce6526[_0x9fef('0x38')]=_[_0x9fef('0x3b')](_0xce6526['where'],{'$or':_[_0x9fef('0x30')](_0x47d9cb,function(_0x3c0efd){if(_0x3c0efd[_0x9fef('0x2d')]!=='VIRTUAL'){var _0x5b7805={};_0x5b7805[_0x3c0efd[_0x9fef('0x29')]]={'$like':'%'+_0x4ed4db[_0x9fef('0x31')][_0x9fef('0x3a')]+'%'};return _0x5b7805;}})});}_0xce6526=_[_0x9fef('0x3b')]({},_0xce6526,_0x4ed4db['options']);var _0x23cf48={'where':_0xce6526[_0x9fef('0x38')]};return db[_0x9fef('0x3c')][_0x9fef('0x1e')](_0x23cf48)['then'](function(_0x32e59b){_0x5a74aa['count']=_0x32e59b;if(_0x4ed4db[_0x9fef('0x31')]['includeAll']){_0xce6526[_0x9fef('0x3d')]=[{'all':!![]}];}return db['WhatsappApplication'][_0x9fef('0x3e')](_0xce6526);})[_0x9fef('0x26')](function(_0x47438b){_0x5a74aa[_0x9fef('0x3f')]=_0x47438b;return _0x5a74aa;})[_0x9fef('0x26')](respondWithFilteredResult(_0x4b8344,_0xce6526))[_0x9fef('0x40')](handleError(_0x4b8344,null));};exports['show']=function(_0x2b63d2,_0x388097){var _0x361588={'raw':!![],'where':{'id':_0x2b63d2['params']['id']}},_0x1a64e0={};_0x1a64e0[_0x9fef('0x2f')]=_[_0x9fef('0x41')](db[_0x9fef('0x3c')][_0x9fef('0x2b')]);_0x1a64e0[_0x9fef('0x31')]=_[_0x9fef('0x41')](_0x2b63d2['query']);_0x1a64e0[_0x9fef('0x32')]=_['intersection'](_0x1a64e0['model'],_0x1a64e0[_0x9fef('0x31')]);_0x361588[_0x9fef('0x35')]=_[_0x9fef('0x33')](_0x1a64e0['model'],qs['fields'](_0x2b63d2[_0x9fef('0x31')]['fields']));_0x361588[_0x9fef('0x35')]=_0x361588[_0x9fef('0x35')][_0x9fef('0x36')]?_0x361588[_0x9fef('0x35')]:_0x1a64e0['model'];if(_0x2b63d2['query'][_0x9fef('0x42')]){_0x361588[_0x9fef('0x3d')]=[{'all':!![]}];}_0x361588=_[_0x9fef('0x3b')]({},_0x361588,_0x2b63d2[_0x9fef('0x43')]);return db[_0x9fef('0x3c')][_0x9fef('0x44')](_0x361588)['then'](handleEntityNotFound(_0x388097,null))[_0x9fef('0x26')](respondWithResult(_0x388097,null))[_0x9fef('0x40')](handleError(_0x388097,null));};exports[_0x9fef('0x45')]=function(_0x1d7079,_0x24372a){return db[_0x9fef('0x3c')][_0x9fef('0x45')](_0x1d7079['body'],{})[_0x9fef('0x26')](respondWithResult(_0x24372a,0xc9))['catch'](handleError(_0x24372a,null));};exports[_0x9fef('0x25')]=function(_0x50d978,_0x173acc){if(_0x50d978[_0x9fef('0x46')]['id']){delete _0x50d978['body']['id'];}return db[_0x9fef('0x3c')][_0x9fef('0x44')]({'where':{'id':_0x50d978[_0x9fef('0x47')]['id']}})[_0x9fef('0x26')](handleEntityNotFound(_0x173acc,null))[_0x9fef('0x26')](saveUpdates(_0x50d978[_0x9fef('0x46')],null))['then'](respondWithResult(_0x173acc,null))[_0x9fef('0x40')](handleError(_0x173acc,null));};exports['destroy']=function(_0x1a51b5,_0x42f46d){return db['WhatsappApplication'][_0x9fef('0x44')]({'where':{'id':_0x1a51b5['params']['id']}})['then'](handleEntityNotFound(_0x42f46d,null))[_0x9fef('0x26')](removeEntity(_0x42f46d,null))[_0x9fef('0x40')](handleError(_0x42f46d,null));};