0e732900b3c7394fba3ea40872a02eadd36c041b
[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 _0x8d7a=['crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','set','Content-Range','apply','save','update','then','destroy','error','stack','name','send','index','WhatsappApplication','rawAttributes','fieldName','type','map','query','keys','filters','intersection','model','fields','attributes','length','nolimit','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','rows','find','catch','create','body','params','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','ejs','lodash','squel'];(function(_0x3b3211,_0x5ce865){var _0x59b252=function(_0x4563f9){while(--_0x4563f9){_0x3b3211['push'](_0x3b3211['shift']());}};_0x59b252(++_0x5ce865);}(_0x8d7a,0x1bc));var _0xa8d7=function(_0x34fe58,_0x4ce6b6){_0x34fe58=_0x34fe58-0x0;var _0x214dcd=_0x8d7a[_0x34fe58];return _0x214dcd;};'use strict';var pdf=require(_0xa8d7('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xa8d7('0x1'));var zipdir=require(_0xa8d7('0x2'));var jsonpatch=require(_0xa8d7('0x3'));var rp=require(_0xa8d7('0x4'));var moment=require(_0xa8d7('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xa8d7('0x6'));var util=require(_0xa8d7('0x7'));var path=require(_0xa8d7('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xa8d7('0x9'));var fs=require('fs');var _=require(_0xa8d7('0xa'));var squel=require(_0xa8d7('0xb'));var crypto=require(_0xa8d7('0xc'));var jsforce=require(_0xa8d7('0xd'));var deskjs=require(_0xa8d7('0xe'));var toCsv=require(_0xa8d7('0xf'));var querystring=require(_0xa8d7('0x10'));var Papa=require('papaparse');var Redis=require(_0xa8d7('0x11'));var authService=require(_0xa8d7('0x12'));var qs=require(_0xa8d7('0x13'));var as=require(_0xa8d7('0x14'));var hardwareService=require(_0xa8d7('0x15'));var logger=require(_0xa8d7('0x16'))(_0xa8d7('0x17'));var utils=require(_0xa8d7('0x18'));var config=require(_0xa8d7('0x19'));var db=require(_0xa8d7('0x1a'))['db'];function respondWithStatusCode(_0x10a6e4,_0x1ac468){_0x1ac468=_0x1ac468||0xcc;return function(_0x591d55){if(_0x591d55){return _0x10a6e4[_0xa8d7('0x1b')](_0x1ac468);}return _0x10a6e4[_0xa8d7('0x1c')](_0x1ac468)[_0xa8d7('0x1d')]();};}function respondWithResult(_0x3b059e,_0x485fb6){_0x485fb6=_0x485fb6||0xc8;return function(_0x243dc7){if(_0x243dc7){return _0x3b059e[_0xa8d7('0x1c')](_0x485fb6)[_0xa8d7('0x1e')](_0x243dc7);}};}function respondWithFilteredResult(_0x22217f,_0x2acbe2){return function(_0x5c7dd1){if(_0x5c7dd1){var _0x43b4b5=_0x5c7dd1[_0xa8d7('0x1f')],_0x185d11=_0x2acbe2[_0xa8d7('0x20')],_0x107fb9=_0x2acbe2['offset']+_0x2acbe2['limit'],_0x242503;if(_0x107fb9>=_0x43b4b5){_0x107fb9=_0x43b4b5;_0x242503=0xc8;}else{_0x242503=0xce;}_0x22217f['status'](_0x242503);return _0x22217f[_0xa8d7('0x21')](_0xa8d7('0x22'),_0x185d11+'-'+_0x107fb9+'/'+_0x43b4b5)['json'](_0x5c7dd1);}return null;};}function patchUpdates(_0x5a2d8a){return function(_0x1e9079){try{jsonpatch[_0xa8d7('0x23')](_0x1e9079,_0x5a2d8a,!![]);}catch(_0x463205){return BPromise['reject'](_0x463205);}return _0x1e9079[_0xa8d7('0x24')]();};}function saveUpdates(_0xe8d638,_0x27d93a){return function(_0x214e54){if(_0x214e54){return _0x214e54[_0xa8d7('0x25')](_0xe8d638)[_0xa8d7('0x26')](function(_0x4a22c5){return _0x4a22c5;});}return null;};}function removeEntity(_0x2f999c,_0x238aab){return function(_0x2ff88e){if(_0x2ff88e){return _0x2ff88e[_0xa8d7('0x27')]()['then'](function(){_0x2f999c[_0xa8d7('0x1c')](0xcc)[_0xa8d7('0x1d')]();});}};}function handleEntityNotFound(_0xee5df1,_0x3d6cfc){return function(_0x5965b4){if(!_0x5965b4){_0xee5df1[_0xa8d7('0x1b')](0x194);}return _0x5965b4;};}function handleError(_0x2a4367,_0x4d6626){_0x4d6626=_0x4d6626||0x1f4;return function(_0x3ebb42){logger[_0xa8d7('0x28')](_0x3ebb42[_0xa8d7('0x29')]);if(_0x3ebb42[_0xa8d7('0x2a')]){delete _0x3ebb42[_0xa8d7('0x2a')];}_0x2a4367[_0xa8d7('0x1c')](_0x4d6626)[_0xa8d7('0x2b')](_0x3ebb42);};}exports[_0xa8d7('0x2c')]=function(_0xf878ef,_0xe20482){var _0xc9cc3a={},_0x2ae340={},_0xac2c99={'count':0x0,'rows':[]};var _0x3293cb=_['map'](db[_0xa8d7('0x2d')][_0xa8d7('0x2e')],function(_0x4ecee9){return{'name':_0x4ecee9[_0xa8d7('0x2f')],'type':_0x4ecee9[_0xa8d7('0x30')]['key']};});_0x2ae340['model']=_[_0xa8d7('0x31')](_0x3293cb,_0xa8d7('0x2a'));_0x2ae340[_0xa8d7('0x32')]=_[_0xa8d7('0x33')](_0xf878ef[_0xa8d7('0x32')]);_0x2ae340[_0xa8d7('0x34')]=_[_0xa8d7('0x35')](_0x2ae340[_0xa8d7('0x36')],_0x2ae340[_0xa8d7('0x32')]);_0xc9cc3a['attributes']=_['intersection'](_0x2ae340['model'],qs['fields'](_0xf878ef[_0xa8d7('0x32')][_0xa8d7('0x37')]));_0xc9cc3a[_0xa8d7('0x38')]=_0xc9cc3a[_0xa8d7('0x38')][_0xa8d7('0x39')]?_0xc9cc3a[_0xa8d7('0x38')]:_0x2ae340['model'];if(!_0xf878ef[_0xa8d7('0x32')]['hasOwnProperty'](_0xa8d7('0x3a'))){_0xc9cc3a['limit']=qs[_0xa8d7('0x3b')](_0xf878ef[_0xa8d7('0x32')][_0xa8d7('0x3b')]);_0xc9cc3a['offset']=qs[_0xa8d7('0x20')](_0xf878ef[_0xa8d7('0x32')][_0xa8d7('0x20')]);}_0xc9cc3a[_0xa8d7('0x3c')]=qs[_0xa8d7('0x3d')](_0xf878ef[_0xa8d7('0x32')][_0xa8d7('0x3d')]);_0xc9cc3a[_0xa8d7('0x3e')]=qs[_0xa8d7('0x34')](_[_0xa8d7('0x3f')](_0xf878ef[_0xa8d7('0x32')],_0x2ae340['filters']),_0x3293cb);if(_0xf878ef[_0xa8d7('0x32')][_0xa8d7('0x40')]){_0xc9cc3a['where']=_[_0xa8d7('0x41')](_0xc9cc3a[_0xa8d7('0x3e')],{'$or':_['map'](_0x3293cb,function(_0x2a5d98){if(_0x2a5d98[_0xa8d7('0x30')]!==_0xa8d7('0x42')){var _0x19f5b7={};_0x19f5b7[_0x2a5d98[_0xa8d7('0x2a')]]={'$like':'%'+_0xf878ef[_0xa8d7('0x32')][_0xa8d7('0x40')]+'%'};return _0x19f5b7;}})});}_0xc9cc3a=_[_0xa8d7('0x41')]({},_0xc9cc3a,_0xf878ef[_0xa8d7('0x43')]);var _0x391540={'where':_0xc9cc3a['where']};return db[_0xa8d7('0x2d')][_0xa8d7('0x1f')](_0x391540)[_0xa8d7('0x26')](function(_0x466166){_0xac2c99[_0xa8d7('0x1f')]=_0x466166;if(_0xf878ef[_0xa8d7('0x32')][_0xa8d7('0x44')]){_0xc9cc3a[_0xa8d7('0x45')]=[{'all':!![]}];}return db[_0xa8d7('0x2d')]['findAll'](_0xc9cc3a);})[_0xa8d7('0x26')](function(_0x1b8e28){_0xac2c99[_0xa8d7('0x46')]=_0x1b8e28;return _0xac2c99;})[_0xa8d7('0x26')](respondWithFilteredResult(_0xe20482,_0xc9cc3a))['catch'](handleError(_0xe20482,null));};exports['show']=function(_0x453061,_0xd9b81b){var _0x34cb00={'raw':!![],'where':{'id':_0x453061['params']['id']}},_0x4b321e={};_0x4b321e['model']=_[_0xa8d7('0x33')](db[_0xa8d7('0x2d')]['rawAttributes']);_0x4b321e[_0xa8d7('0x32')]=_['keys'](_0x453061[_0xa8d7('0x32')]);_0x4b321e['filters']=_[_0xa8d7('0x35')](_0x4b321e['model'],_0x4b321e[_0xa8d7('0x32')]);_0x34cb00[_0xa8d7('0x38')]=_[_0xa8d7('0x35')](_0x4b321e['model'],qs[_0xa8d7('0x37')](_0x453061['query'][_0xa8d7('0x37')]));_0x34cb00[_0xa8d7('0x38')]=_0x34cb00['attributes'][_0xa8d7('0x39')]?_0x34cb00[_0xa8d7('0x38')]:_0x4b321e[_0xa8d7('0x36')];if(_0x453061[_0xa8d7('0x32')][_0xa8d7('0x44')]){_0x34cb00['include']=[{'all':!![]}];}_0x34cb00=_[_0xa8d7('0x41')]({},_0x34cb00,_0x453061[_0xa8d7('0x43')]);return db[_0xa8d7('0x2d')][_0xa8d7('0x47')](_0x34cb00)['then'](handleEntityNotFound(_0xd9b81b,null))[_0xa8d7('0x26')](respondWithResult(_0xd9b81b,null))[_0xa8d7('0x48')](handleError(_0xd9b81b,null));};exports['create']=function(_0x211c8a,_0x24136b){return db[_0xa8d7('0x2d')][_0xa8d7('0x49')](_0x211c8a[_0xa8d7('0x4a')],{})[_0xa8d7('0x26')](respondWithResult(_0x24136b,0xc9))[_0xa8d7('0x48')](handleError(_0x24136b,null));};exports['update']=function(_0x2c7093,_0x7753a9){if(_0x2c7093[_0xa8d7('0x4a')]['id']){delete _0x2c7093[_0xa8d7('0x4a')]['id'];}return db[_0xa8d7('0x2d')][_0xa8d7('0x47')]({'where':{'id':_0x2c7093[_0xa8d7('0x4b')]['id']}})[_0xa8d7('0x26')](handleEntityNotFound(_0x7753a9,null))[_0xa8d7('0x26')](saveUpdates(_0x2c7093['body'],null))[_0xa8d7('0x26')](respondWithResult(_0x7753a9,null))[_0xa8d7('0x48')](handleError(_0x7753a9,null));};exports['destroy']=function(_0x3b1a65,_0x3845a5){return db['WhatsappApplication']['find']({'where':{'id':_0x3b1a65[_0xa8d7('0x4b')]['id']}})[_0xa8d7('0x26')](handleEntityNotFound(_0x3845a5,null))[_0xa8d7('0x26')](removeEntity(_0x3845a5,null))[_0xa8d7('0x48')](handleError(_0x3845a5,null));};