a19271aa3af6613cc0648f0cada32a1fdfbd7c15
[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 _0x2af8=['includeAll','include','findAll','rows','catch','params','keys','options','create','update','body','find','eml-format','zip-dir','fast-json-patch','moment','bluebird','util','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','reject','save','then','destroy','stack','name','send','index','map','WhatsappApplication','rawAttributes','fieldName','type','key','query','filters','attributes','intersection','model','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0x2af8,0xf6));var _0x82af=function(_0x59c56f,_0x59e85a){_0x59c56f=_0x59c56f-0x0;var _0x29ab55=_0x2af8[_0x59c56f];return _0x29ab55;};'use strict';var emlformat=require(_0x82af('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x82af('0x1'));var jsonpatch=require(_0x82af('0x2'));var rp=require('request-promise');var moment=require(_0x82af('0x3'));var BPromise=require(_0x82af('0x4'));var Mustache=require('mustache');var util=require(_0x82af('0x5'));var path=require('path');var sox=require(_0x82af('0x6'));var csv=require(_0x82af('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x82af('0x8'));var _=require(_0x82af('0x9'));var squel=require('squel');var crypto=require(_0x82af('0xa'));var jsforce=require(_0x82af('0xb'));var deskjs=require(_0x82af('0xc'));var toCsv=require(_0x82af('0x7'));var querystring=require(_0x82af('0xd'));var Papa=require(_0x82af('0xe'));var Redis=require(_0x82af('0xf'));var authService=require(_0x82af('0x10'));var qs=require(_0x82af('0x11'));var as=require(_0x82af('0x12'));var hardwareService=require(_0x82af('0x13'));var logger=require(_0x82af('0x14'))(_0x82af('0x15'));var utils=require(_0x82af('0x16'));var config=require(_0x82af('0x17'));var licenseUtil=require(_0x82af('0x18'));var db=require(_0x82af('0x19'))['db'];function respondWithStatusCode(_0x211d71,_0x56a38b){_0x56a38b=_0x56a38b||0xcc;return function(_0x5e3332){if(_0x5e3332){return _0x211d71[_0x82af('0x1a')](_0x56a38b);}return _0x211d71[_0x82af('0x1b')](_0x56a38b)[_0x82af('0x1c')]();};}function respondWithResult(_0x4cf822,_0x2ed907){_0x2ed907=_0x2ed907||0xc8;return function(_0x18332f){if(_0x18332f){return _0x4cf822[_0x82af('0x1b')](_0x2ed907)[_0x82af('0x1d')](_0x18332f);}};}function respondWithFilteredResult(_0x5941f3,_0x190cad){return function(_0x3a9077){if(_0x3a9077){var _0x25b822=typeof _0x190cad[_0x82af('0x1e')]===_0x82af('0x1f')&&typeof _0x190cad[_0x82af('0x20')]===_0x82af('0x1f');var _0x42f7f2=_0x3a9077[_0x82af('0x21')];var _0x225b68=_0x25b822?0x0:_0x190cad[_0x82af('0x1e')];var _0x3f349e=_0x25b822?_0x3a9077[_0x82af('0x21')]:_0x190cad['offset']+_0x190cad[_0x82af('0x20')];var _0x2139f8;if(_0x3f349e>=_0x42f7f2){_0x3f349e=_0x42f7f2;_0x2139f8=0xc8;}else{_0x2139f8=0xce;}_0x5941f3[_0x82af('0x1b')](_0x2139f8);return _0x5941f3[_0x82af('0x22')]('Content-Range',_0x225b68+'-'+_0x3f349e+'/'+_0x42f7f2)['json'](_0x3a9077);}return null;};}function patchUpdates(_0x31ffbe){return function(_0x4be3b2){try{jsonpatch[_0x82af('0x23')](_0x4be3b2,_0x31ffbe,!![]);}catch(_0x17a58a){return BPromise[_0x82af('0x24')](_0x17a58a);}return _0x4be3b2[_0x82af('0x25')]();};}function saveUpdates(_0x3174f6,_0x276b04){return function(_0x6e416b){if(_0x6e416b){return _0x6e416b['update'](_0x3174f6)[_0x82af('0x26')](function(_0x4e8b45){return _0x4e8b45;});}return null;};}function removeEntity(_0x2cff2d,_0x4cd163){return function(_0x5ed461){if(_0x5ed461){return _0x5ed461[_0x82af('0x27')]()['then'](function(){_0x2cff2d[_0x82af('0x1b')](0xcc)[_0x82af('0x1c')]();});}};}function handleEntityNotFound(_0x158a9a,_0xad287e){return function(_0x436d07){if(!_0x436d07){_0x158a9a[_0x82af('0x1a')](0x194);}return _0x436d07;};}function handleError(_0x4579c1,_0x1adceb){_0x1adceb=_0x1adceb||0x1f4;return function(_0x5c839f){logger['error'](_0x5c839f[_0x82af('0x28')]);if(_0x5c839f[_0x82af('0x29')]){delete _0x5c839f['name'];}_0x4579c1[_0x82af('0x1b')](_0x1adceb)[_0x82af('0x2a')](_0x5c839f);};}exports[_0x82af('0x2b')]=function(_0x1561f7,_0x586177){var _0x5684fb={},_0x3394a5={},_0x409ca9={'count':0x0,'rows':[]};var _0x24cc7b=_[_0x82af('0x2c')](db[_0x82af('0x2d')][_0x82af('0x2e')],function(_0x389452){return{'name':_0x389452[_0x82af('0x2f')],'type':_0x389452[_0x82af('0x30')][_0x82af('0x31')]};});_0x3394a5['model']=_['map'](_0x24cc7b,_0x82af('0x29'));_0x3394a5['query']=_['keys'](_0x1561f7[_0x82af('0x32')]);_0x3394a5[_0x82af('0x33')]=_['intersection'](_0x3394a5['model'],_0x3394a5[_0x82af('0x32')]);_0x5684fb[_0x82af('0x34')]=_[_0x82af('0x35')](_0x3394a5[_0x82af('0x36')],qs['fields'](_0x1561f7[_0x82af('0x32')][_0x82af('0x37')]));_0x5684fb[_0x82af('0x34')]=_0x5684fb[_0x82af('0x34')][_0x82af('0x38')]?_0x5684fb['attributes']:_0x3394a5[_0x82af('0x36')];if(!_0x1561f7[_0x82af('0x32')][_0x82af('0x39')](_0x82af('0x3a'))){_0x5684fb[_0x82af('0x20')]=qs[_0x82af('0x20')](_0x1561f7['query'][_0x82af('0x20')]);_0x5684fb[_0x82af('0x1e')]=qs[_0x82af('0x1e')](_0x1561f7[_0x82af('0x32')][_0x82af('0x1e')]);}_0x5684fb[_0x82af('0x3b')]=qs['sort'](_0x1561f7[_0x82af('0x32')][_0x82af('0x3c')]);_0x5684fb[_0x82af('0x3d')]=qs[_0x82af('0x33')](_[_0x82af('0x3e')](_0x1561f7[_0x82af('0x32')],_0x3394a5['filters']),_0x24cc7b);if(_0x1561f7[_0x82af('0x32')][_0x82af('0x3f')]){_0x5684fb[_0x82af('0x3d')]=_[_0x82af('0x40')](_0x5684fb['where'],{'$or':_[_0x82af('0x2c')](_0x24cc7b,function(_0x34036b){if(_0x34036b['type']!==_0x82af('0x41')){var _0x14592e={};_0x14592e[_0x34036b[_0x82af('0x29')]]={'$like':'%'+_0x1561f7[_0x82af('0x32')][_0x82af('0x3f')]+'%'};return _0x14592e;}})});}_0x5684fb=_[_0x82af('0x40')]({},_0x5684fb,_0x1561f7['options']);var _0x28dfb4={'where':_0x5684fb['where']};return db[_0x82af('0x2d')][_0x82af('0x21')](_0x28dfb4)[_0x82af('0x26')](function(_0x522a95){_0x409ca9[_0x82af('0x21')]=_0x522a95;if(_0x1561f7[_0x82af('0x32')][_0x82af('0x42')]){_0x5684fb[_0x82af('0x43')]=[{'all':!![]}];}return db[_0x82af('0x2d')][_0x82af('0x44')](_0x5684fb);})[_0x82af('0x26')](function(_0x24aa8a){_0x409ca9[_0x82af('0x45')]=_0x24aa8a;return _0x409ca9;})['then'](respondWithFilteredResult(_0x586177,_0x5684fb))[_0x82af('0x46')](handleError(_0x586177,null));};exports['show']=function(_0x24fbbd,_0x3c5342){var _0xf89f7a={'raw':!![],'where':{'id':_0x24fbbd[_0x82af('0x47')]['id']}},_0x59c7b8={};_0x59c7b8[_0x82af('0x36')]=_[_0x82af('0x48')](db[_0x82af('0x2d')][_0x82af('0x2e')]);_0x59c7b8['query']=_[_0x82af('0x48')](_0x24fbbd[_0x82af('0x32')]);_0x59c7b8['filters']=_['intersection'](_0x59c7b8[_0x82af('0x36')],_0x59c7b8[_0x82af('0x32')]);_0xf89f7a[_0x82af('0x34')]=_['intersection'](_0x59c7b8[_0x82af('0x36')],qs[_0x82af('0x37')](_0x24fbbd[_0x82af('0x32')][_0x82af('0x37')]));_0xf89f7a['attributes']=_0xf89f7a[_0x82af('0x34')][_0x82af('0x38')]?_0xf89f7a[_0x82af('0x34')]:_0x59c7b8[_0x82af('0x36')];if(_0x24fbbd[_0x82af('0x32')][_0x82af('0x42')]){_0xf89f7a['include']=[{'all':!![]}];}_0xf89f7a=_['merge']({},_0xf89f7a,_0x24fbbd[_0x82af('0x49')]);return db['WhatsappApplication']['find'](_0xf89f7a)[_0x82af('0x26')](handleEntityNotFound(_0x3c5342,null))[_0x82af('0x26')](respondWithResult(_0x3c5342,null))[_0x82af('0x46')](handleError(_0x3c5342,null));};exports[_0x82af('0x4a')]=function(_0x1b0929,_0x4eea7a){return db[_0x82af('0x2d')][_0x82af('0x4a')](_0x1b0929['body'],{})[_0x82af('0x26')](respondWithResult(_0x4eea7a,0xc9))[_0x82af('0x46')](handleError(_0x4eea7a,null));};exports[_0x82af('0x4b')]=function(_0x3a5199,_0x1556f7){if(_0x3a5199[_0x82af('0x4c')]['id']){delete _0x3a5199[_0x82af('0x4c')]['id'];}return db[_0x82af('0x2d')]['find']({'where':{'id':_0x3a5199[_0x82af('0x47')]['id']}})[_0x82af('0x26')](handleEntityNotFound(_0x1556f7,null))['then'](saveUpdates(_0x3a5199[_0x82af('0x4c')],null))['then'](respondWithResult(_0x1556f7,null))[_0x82af('0x46')](handleError(_0x1556f7,null));};exports[_0x82af('0x27')]=function(_0x2acb4e,_0x9dd64d){return db[_0x82af('0x2d')][_0x82af('0x4d')]({'where':{'id':_0x2acb4e[_0x82af('0x47')]['id']}})[_0x82af('0x26')](handleEntityNotFound(_0x9dd64d,null))[_0x82af('0x26')](removeEntity(_0x9dd64d,null))[_0x82af('0x46')](handleError(_0x9dd64d,null));};