f1b1b4963f998361334e04795140f88a3f54fbf0
[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 _0x49fe=['set','json','apply','reject','save','update','then','destroy','stack','name','send','map','WhatsappApplication','rawAttributes','fieldName','type','model','query','filters','intersection','fields','length','attributes','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','show','params','keys','find','catch','create','body','eml-format','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count'];(function(_0x50e593,_0x3ae998){var _0x3821d0=function(_0x53c295){while(--_0x53c295){_0x50e593['push'](_0x50e593['shift']());}};_0x3821d0(++_0x3ae998);}(_0x49fe,0x75));var _0xe49f=function(_0x383523,_0x5d95d3){_0x383523=_0x383523-0x0;var _0x5b307e=_0x49fe[_0x383523];return _0x5b307e;};'use strict';var emlformat=require(_0xe49f('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xe49f('0x1'));var moment=require(_0xe49f('0x2'));var BPromise=require(_0xe49f('0x3'));var Mustache=require(_0xe49f('0x4'));var util=require(_0xe49f('0x5'));var path=require(_0xe49f('0x6'));var sox=require(_0xe49f('0x7'));var csv=require(_0xe49f('0x8'));var ejs=require(_0xe49f('0x9'));var fs=require('fs');var fs_extra=require(_0xe49f('0xa'));var _=require(_0xe49f('0xb'));var squel=require(_0xe49f('0xc'));var crypto=require(_0xe49f('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xe49f('0xe'));var toCsv=require(_0xe49f('0x8'));var querystring=require('querystring');var Papa=require(_0xe49f('0xf'));var Redis=require('ioredis');var authService=require(_0xe49f('0x10'));var qs=require(_0xe49f('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe49f('0x12'));var logger=require(_0xe49f('0x13'))(_0xe49f('0x14'));var utils=require(_0xe49f('0x15'));var config=require(_0xe49f('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xe49f('0x17'))['db'];function respondWithStatusCode(_0x3958bd,_0x504081){_0x504081=_0x504081||0xcc;return function(_0x10517d){if(_0x10517d){return _0x3958bd[_0xe49f('0x18')](_0x504081);}return _0x3958bd[_0xe49f('0x19')](_0x504081)[_0xe49f('0x1a')]();};}function respondWithResult(_0x44c7fe,_0x5708d9){_0x5708d9=_0x5708d9||0xc8;return function(_0x3645e8){if(_0x3645e8){return _0x44c7fe[_0xe49f('0x19')](_0x5708d9)['json'](_0x3645e8);}};}function respondWithFilteredResult(_0x4f3550,_0xfe24b7){return function(_0x3e5fb3){if(_0x3e5fb3){var _0x1e8eb8=typeof _0xfe24b7[_0xe49f('0x1b')]===_0xe49f('0x1c')&&typeof _0xfe24b7[_0xe49f('0x1d')]==='undefined';var _0x7831f1=_0x3e5fb3['count'];var _0x6ab378=_0x1e8eb8?0x0:_0xfe24b7['offset'];var _0x58f852=_0x1e8eb8?_0x3e5fb3[_0xe49f('0x1e')]:_0xfe24b7[_0xe49f('0x1b')]+_0xfe24b7['limit'];var _0x7a5643;if(_0x58f852>=_0x7831f1){_0x58f852=_0x7831f1;_0x7a5643=0xc8;}else{_0x7a5643=0xce;}_0x4f3550['status'](_0x7a5643);return _0x4f3550[_0xe49f('0x1f')]('Content-Range',_0x6ab378+'-'+_0x58f852+'/'+_0x7831f1)[_0xe49f('0x20')](_0x3e5fb3);}return null;};}function patchUpdates(_0x47b09a){return function(_0x4c4dcf){try{jsonpatch[_0xe49f('0x21')](_0x4c4dcf,_0x47b09a,!![]);}catch(_0x5b50e0){return BPromise[_0xe49f('0x22')](_0x5b50e0);}return _0x4c4dcf[_0xe49f('0x23')]();};}function saveUpdates(_0x40129c,_0x1647d1){return function(_0x424927){if(_0x424927){return _0x424927[_0xe49f('0x24')](_0x40129c)[_0xe49f('0x25')](function(_0x3d4146){return _0x3d4146;});}return null;};}function removeEntity(_0x233646,_0x2a2926){return function(_0x2bc2b2){if(_0x2bc2b2){return _0x2bc2b2[_0xe49f('0x26')]()[_0xe49f('0x25')](function(){_0x233646['status'](0xcc)[_0xe49f('0x1a')]();});}};}function handleEntityNotFound(_0x298cba,_0xbe357){return function(_0x14d820){if(!_0x14d820){_0x298cba['sendStatus'](0x194);}return _0x14d820;};}function handleError(_0x4ca90a,_0x1ff78c){_0x1ff78c=_0x1ff78c||0x1f4;return function(_0x44b702){logger['error'](_0x44b702[_0xe49f('0x27')]);if(_0x44b702['name']){delete _0x44b702[_0xe49f('0x28')];}_0x4ca90a[_0xe49f('0x19')](_0x1ff78c)[_0xe49f('0x29')](_0x44b702);};}exports['index']=function(_0x557b4e,_0x1357f6){var _0x32406b={},_0x298248={},_0x268f6e={'count':0x0,'rows':[]};var _0x4be6fc=_[_0xe49f('0x2a')](db[_0xe49f('0x2b')][_0xe49f('0x2c')],function(_0x1b3280){return{'name':_0x1b3280[_0xe49f('0x2d')],'type':_0x1b3280[_0xe49f('0x2e')]['key']};});_0x298248[_0xe49f('0x2f')]=_[_0xe49f('0x2a')](_0x4be6fc,_0xe49f('0x28'));_0x298248[_0xe49f('0x30')]=_['keys'](_0x557b4e['query']);_0x298248[_0xe49f('0x31')]=_[_0xe49f('0x32')](_0x298248[_0xe49f('0x2f')],_0x298248['query']);_0x32406b['attributes']=_[_0xe49f('0x32')](_0x298248[_0xe49f('0x2f')],qs[_0xe49f('0x33')](_0x557b4e['query'][_0xe49f('0x33')]));_0x32406b['attributes']=_0x32406b['attributes'][_0xe49f('0x34')]?_0x32406b[_0xe49f('0x35')]:_0x298248[_0xe49f('0x2f')];if(!_0x557b4e['query'][_0xe49f('0x36')](_0xe49f('0x37'))){_0x32406b['limit']=qs['limit'](_0x557b4e[_0xe49f('0x30')][_0xe49f('0x1d')]);_0x32406b[_0xe49f('0x1b')]=qs[_0xe49f('0x1b')](_0x557b4e['query'][_0xe49f('0x1b')]);}_0x32406b[_0xe49f('0x38')]=qs[_0xe49f('0x39')](_0x557b4e[_0xe49f('0x30')][_0xe49f('0x39')]);_0x32406b[_0xe49f('0x3a')]=qs[_0xe49f('0x31')](_[_0xe49f('0x3b')](_0x557b4e[_0xe49f('0x30')],_0x298248[_0xe49f('0x31')]),_0x4be6fc);if(_0x557b4e[_0xe49f('0x30')][_0xe49f('0x3c')]){_0x32406b[_0xe49f('0x3a')]=_[_0xe49f('0x3d')](_0x32406b[_0xe49f('0x3a')],{'$or':_[_0xe49f('0x2a')](_0x4be6fc,function(_0x1edf31){if(_0x1edf31[_0xe49f('0x2e')]!==_0xe49f('0x3e')){var _0x3d1380={};_0x3d1380[_0x1edf31[_0xe49f('0x28')]]={'$like':'%'+_0x557b4e[_0xe49f('0x30')][_0xe49f('0x3c')]+'%'};return _0x3d1380;}})});}_0x32406b=_['merge']({},_0x32406b,_0x557b4e[_0xe49f('0x3f')]);var _0x2efd45={'where':_0x32406b[_0xe49f('0x3a')]};return db['WhatsappApplication'][_0xe49f('0x1e')](_0x2efd45)['then'](function(_0x5cdf86){_0x268f6e[_0xe49f('0x1e')]=_0x5cdf86;if(_0x557b4e[_0xe49f('0x30')]['includeAll']){_0x32406b[_0xe49f('0x40')]=[{'all':!![]}];}return db[_0xe49f('0x2b')][_0xe49f('0x41')](_0x32406b);})[_0xe49f('0x25')](function(_0x36422e){_0x268f6e[_0xe49f('0x42')]=_0x36422e;return _0x268f6e;})[_0xe49f('0x25')](respondWithFilteredResult(_0x1357f6,_0x32406b))['catch'](handleError(_0x1357f6,null));};exports[_0xe49f('0x43')]=function(_0xbe91d2,_0x370162){var _0x2fb5f4={'raw':!![],'where':{'id':_0xbe91d2[_0xe49f('0x44')]['id']}},_0xd4341f={};_0xd4341f['model']=_[_0xe49f('0x45')](db[_0xe49f('0x2b')][_0xe49f('0x2c')]);_0xd4341f[_0xe49f('0x30')]=_[_0xe49f('0x45')](_0xbe91d2[_0xe49f('0x30')]);_0xd4341f[_0xe49f('0x31')]=_[_0xe49f('0x32')](_0xd4341f['model'],_0xd4341f['query']);_0x2fb5f4[_0xe49f('0x35')]=_['intersection'](_0xd4341f[_0xe49f('0x2f')],qs[_0xe49f('0x33')](_0xbe91d2[_0xe49f('0x30')][_0xe49f('0x33')]));_0x2fb5f4['attributes']=_0x2fb5f4[_0xe49f('0x35')][_0xe49f('0x34')]?_0x2fb5f4[_0xe49f('0x35')]:_0xd4341f['model'];if(_0xbe91d2[_0xe49f('0x30')]['includeAll']){_0x2fb5f4[_0xe49f('0x40')]=[{'all':!![]}];}_0x2fb5f4=_['merge']({},_0x2fb5f4,_0xbe91d2[_0xe49f('0x3f')]);return db['WhatsappApplication'][_0xe49f('0x46')](_0x2fb5f4)[_0xe49f('0x25')](handleEntityNotFound(_0x370162,null))[_0xe49f('0x25')](respondWithResult(_0x370162,null))[_0xe49f('0x47')](handleError(_0x370162,null));};exports[_0xe49f('0x48')]=function(_0x21796d,_0x2f87aa){return db[_0xe49f('0x2b')][_0xe49f('0x48')](_0x21796d['body'],{})['then'](respondWithResult(_0x2f87aa,0xc9))[_0xe49f('0x47')](handleError(_0x2f87aa,null));};exports[_0xe49f('0x24')]=function(_0x3fa5ec,_0x2cd14d){if(_0x3fa5ec[_0xe49f('0x49')]['id']){delete _0x3fa5ec[_0xe49f('0x49')]['id'];}return db[_0xe49f('0x2b')][_0xe49f('0x46')]({'where':{'id':_0x3fa5ec[_0xe49f('0x44')]['id']}})[_0xe49f('0x25')](handleEntityNotFound(_0x2cd14d,null))[_0xe49f('0x25')](saveUpdates(_0x3fa5ec['body'],null))[_0xe49f('0x25')](respondWithResult(_0x2cd14d,null))['catch'](handleError(_0x2cd14d,null));};exports[_0xe49f('0x26')]=function(_0x1daf27,_0x416807){return db[_0xe49f('0x2b')][_0xe49f('0x46')]({'where':{'id':_0x1daf27[_0xe49f('0x44')]['id']}})[_0xe49f('0x25')](handleEntityNotFound(_0x416807,null))[_0xe49f('0x25')](removeEntity(_0x416807,null))[_0xe49f('0x47')](handleError(_0x416807,null));};