Built motion from commit 936e8062.|2.5.33
[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 _0x79a3=['papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','map','WhatsappApplication','rawAttributes','type','key','model','keys','query','filters','intersection','fields','attributes','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','count','includeAll','findAll','rows','catch','show','params','length','include','find','create','body','eml-format','zip-dir','fast-json-patch','moment','path','sox','to-csv','ejs','fs-extra','jsforce','desk.js','querystring'];(function(_0x8f7d2b,_0x1bebaf){var _0x13c298=function(_0x54717e){while(--_0x54717e){_0x8f7d2b['push'](_0x8f7d2b['shift']());}};_0x13c298(++_0x1bebaf);}(_0x79a3,0x80));var _0x379a=function(_0x560059,_0x7d549b){_0x560059=_0x560059-0x0;var _0x113418=_0x79a3[_0x560059];return _0x113418;};'use strict';var emlformat=require(_0x379a('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x379a('0x1'));var jsonpatch=require(_0x379a('0x2'));var rp=require('request-promise');var moment=require(_0x379a('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0x379a('0x4'));var sox=require(_0x379a('0x5'));var csv=require(_0x379a('0x6'));var ejs=require(_0x379a('0x7'));var fs=require('fs');var fs_extra=require(_0x379a('0x8'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x379a('0x9'));var deskjs=require(_0x379a('0xa'));var toCsv=require(_0x379a('0x6'));var querystring=require(_0x379a('0xb'));var Papa=require(_0x379a('0xc'));var Redis=require(_0x379a('0xd'));var authService=require(_0x379a('0xe'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x379a('0xf'));var logger=require('../../config/logger')('api');var utils=require(_0x379a('0x10'));var config=require(_0x379a('0x11'));var licenseUtil=require(_0x379a('0x12'));var db=require(_0x379a('0x13'))['db'];function respondWithStatusCode(_0x4fa4c8,_0x51d2f4){_0x51d2f4=_0x51d2f4||0xcc;return function(_0x4c69a6){if(_0x4c69a6){return _0x4fa4c8[_0x379a('0x14')](_0x51d2f4);}return _0x4fa4c8[_0x379a('0x15')](_0x51d2f4)[_0x379a('0x16')]();};}function respondWithResult(_0x17adab,_0x561cbf){_0x561cbf=_0x561cbf||0xc8;return function(_0x55a38d){if(_0x55a38d){return _0x17adab[_0x379a('0x15')](_0x561cbf)[_0x379a('0x17')](_0x55a38d);}};}function respondWithFilteredResult(_0x3626b0,_0x3651b2){return function(_0x59f698){if(_0x59f698){var _0x56bbd5=typeof _0x3651b2[_0x379a('0x18')]==='undefined'&&typeof _0x3651b2[_0x379a('0x19')]===_0x379a('0x1a');var _0x1c217d=_0x59f698['count'];var _0x48f0a9=_0x56bbd5?0x0:_0x3651b2[_0x379a('0x18')];var _0xd6cc17=_0x56bbd5?_0x59f698['count']:_0x3651b2[_0x379a('0x18')]+_0x3651b2[_0x379a('0x19')];var _0x51d67c;if(_0xd6cc17>=_0x1c217d){_0xd6cc17=_0x1c217d;_0x51d67c=0xc8;}else{_0x51d67c=0xce;}_0x3626b0['status'](_0x51d67c);return _0x3626b0['set'](_0x379a('0x1b'),_0x48f0a9+'-'+_0xd6cc17+'/'+_0x1c217d)['json'](_0x59f698);}return null;};}function patchUpdates(_0x263df8){return function(_0x1cdebe){try{jsonpatch[_0x379a('0x1c')](_0x1cdebe,_0x263df8,!![]);}catch(_0x120997){return BPromise[_0x379a('0x1d')](_0x120997);}return _0x1cdebe[_0x379a('0x1e')]();};}function saveUpdates(_0x1d3f0f,_0x1b1b98){return function(_0x4c0dda){if(_0x4c0dda){return _0x4c0dda[_0x379a('0x1f')](_0x1d3f0f)[_0x379a('0x20')](function(_0x28aedc){return _0x28aedc;});}return null;};}function removeEntity(_0x22737a,_0x31752c){return function(_0x2bf6d8){if(_0x2bf6d8){return _0x2bf6d8[_0x379a('0x21')]()['then'](function(){_0x22737a[_0x379a('0x15')](0xcc)[_0x379a('0x16')]();});}};}function handleEntityNotFound(_0x18bb37,_0x516ddf){return function(_0x483ddd){if(!_0x483ddd){_0x18bb37[_0x379a('0x14')](0x194);}return _0x483ddd;};}function handleError(_0x599efb,_0x13e665){_0x13e665=_0x13e665||0x1f4;return function(_0xc1fc5a){logger['error'](_0xc1fc5a[_0x379a('0x22')]);if(_0xc1fc5a[_0x379a('0x23')]){delete _0xc1fc5a[_0x379a('0x23')];}_0x599efb['status'](_0x13e665)[_0x379a('0x24')](_0xc1fc5a);};}exports['index']=function(_0x2a1765,_0x33d5f7){var _0xa803f7={},_0x3f92b1={},_0x4eed7e={'count':0x0,'rows':[]};var _0x1153e9=_[_0x379a('0x25')](db[_0x379a('0x26')][_0x379a('0x27')],function(_0x30c9ab){return{'name':_0x30c9ab['fieldName'],'type':_0x30c9ab[_0x379a('0x28')][_0x379a('0x29')]};});_0x3f92b1[_0x379a('0x2a')]=_[_0x379a('0x25')](_0x1153e9,_0x379a('0x23'));_0x3f92b1['query']=_[_0x379a('0x2b')](_0x2a1765[_0x379a('0x2c')]);_0x3f92b1[_0x379a('0x2d')]=_[_0x379a('0x2e')](_0x3f92b1[_0x379a('0x2a')],_0x3f92b1[_0x379a('0x2c')]);_0xa803f7['attributes']=_['intersection'](_0x3f92b1[_0x379a('0x2a')],qs['fields'](_0x2a1765[_0x379a('0x2c')][_0x379a('0x2f')]));_0xa803f7[_0x379a('0x30')]=_0xa803f7['attributes']['length']?_0xa803f7[_0x379a('0x30')]:_0x3f92b1[_0x379a('0x2a')];if(!_0x2a1765[_0x379a('0x2c')][_0x379a('0x31')]('nolimit')){_0xa803f7[_0x379a('0x19')]=qs[_0x379a('0x19')](_0x2a1765[_0x379a('0x2c')][_0x379a('0x19')]);_0xa803f7['offset']=qs[_0x379a('0x18')](_0x2a1765[_0x379a('0x2c')][_0x379a('0x18')]);}_0xa803f7[_0x379a('0x32')]=qs[_0x379a('0x33')](_0x2a1765[_0x379a('0x2c')][_0x379a('0x33')]);_0xa803f7[_0x379a('0x34')]=qs[_0x379a('0x2d')](_[_0x379a('0x35')](_0x2a1765['query'],_0x3f92b1[_0x379a('0x2d')]),_0x1153e9);if(_0x2a1765[_0x379a('0x2c')][_0x379a('0x36')]){_0xa803f7['where']=_[_0x379a('0x37')](_0xa803f7[_0x379a('0x34')],{'$or':_['map'](_0x1153e9,function(_0x4c031c){if(_0x4c031c['type']!==_0x379a('0x38')){var _0x1fc9dd={};_0x1fc9dd[_0x4c031c[_0x379a('0x23')]]={'$like':'%'+_0x2a1765['query']['filter']+'%'};return _0x1fc9dd;}})});}_0xa803f7=_['merge']({},_0xa803f7,_0x2a1765[_0x379a('0x39')]);var _0x88df47={'where':_0xa803f7[_0x379a('0x34')]};return db[_0x379a('0x26')][_0x379a('0x3a')](_0x88df47)[_0x379a('0x20')](function(_0x140f5e){_0x4eed7e[_0x379a('0x3a')]=_0x140f5e;if(_0x2a1765[_0x379a('0x2c')][_0x379a('0x3b')]){_0xa803f7['include']=[{'all':!![]}];}return db[_0x379a('0x26')][_0x379a('0x3c')](_0xa803f7);})[_0x379a('0x20')](function(_0x476d7b){_0x4eed7e[_0x379a('0x3d')]=_0x476d7b;return _0x4eed7e;})[_0x379a('0x20')](respondWithFilteredResult(_0x33d5f7,_0xa803f7))[_0x379a('0x3e')](handleError(_0x33d5f7,null));};exports[_0x379a('0x3f')]=function(_0x17b5f3,_0x1d3c66){var _0x2d0e3f={'raw':!![],'where':{'id':_0x17b5f3[_0x379a('0x40')]['id']}},_0x5ada4c={};_0x5ada4c[_0x379a('0x2a')]=_['keys'](db[_0x379a('0x26')][_0x379a('0x27')]);_0x5ada4c[_0x379a('0x2c')]=_['keys'](_0x17b5f3[_0x379a('0x2c')]);_0x5ada4c[_0x379a('0x2d')]=_['intersection'](_0x5ada4c[_0x379a('0x2a')],_0x5ada4c[_0x379a('0x2c')]);_0x2d0e3f[_0x379a('0x30')]=_['intersection'](_0x5ada4c[_0x379a('0x2a')],qs[_0x379a('0x2f')](_0x17b5f3[_0x379a('0x2c')]['fields']));_0x2d0e3f['attributes']=_0x2d0e3f[_0x379a('0x30')][_0x379a('0x41')]?_0x2d0e3f[_0x379a('0x30')]:_0x5ada4c[_0x379a('0x2a')];if(_0x17b5f3['query'][_0x379a('0x3b')]){_0x2d0e3f[_0x379a('0x42')]=[{'all':!![]}];}_0x2d0e3f=_['merge']({},_0x2d0e3f,_0x17b5f3['options']);return db[_0x379a('0x26')][_0x379a('0x43')](_0x2d0e3f)['then'](handleEntityNotFound(_0x1d3c66,null))[_0x379a('0x20')](respondWithResult(_0x1d3c66,null))[_0x379a('0x3e')](handleError(_0x1d3c66,null));};exports[_0x379a('0x44')]=function(_0x1d113c,_0x7abb23){return db[_0x379a('0x26')][_0x379a('0x44')](_0x1d113c[_0x379a('0x45')],{})[_0x379a('0x20')](respondWithResult(_0x7abb23,0xc9))[_0x379a('0x3e')](handleError(_0x7abb23,null));};exports['update']=function(_0x1f75e7,_0xb85859){if(_0x1f75e7[_0x379a('0x45')]['id']){delete _0x1f75e7[_0x379a('0x45')]['id'];}return db[_0x379a('0x26')]['find']({'where':{'id':_0x1f75e7[_0x379a('0x40')]['id']}})[_0x379a('0x20')](handleEntityNotFound(_0xb85859,null))[_0x379a('0x20')](saveUpdates(_0x1f75e7[_0x379a('0x45')],null))[_0x379a('0x20')](respondWithResult(_0xb85859,null))['catch'](handleError(_0xb85859,null));};exports[_0x379a('0x21')]=function(_0x41581a,_0x35cefe){return db[_0x379a('0x26')][_0x379a('0x43')]({'where':{'id':_0x41581a[_0x379a('0x40')]['id']}})[_0x379a('0x20')](handleEntityNotFound(_0x35cefe,null))[_0x379a('0x20')](removeEntity(_0x35cefe,null))[_0x379a('0x3e')](handleError(_0x35cefe,null));};