f3f3d0268998dedd4c9ec7accf87d9de74dec759
[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 _0x3f2e=['rows','catch','show','params','keys','find','create','body','destroy','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','ejs','fs-extra','jsforce','desk.js','to-csv','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','undefined','limit','count','offset','set','Content-Range','reject','save','update','then','error','name','send','index','rawAttributes','fieldName','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','map','options','includeAll','include','WhatsappApplication','findAll'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x3f2e,0x9d));var _0xe3f2=function(_0x3fa37f,_0x397f16){_0x3fa37f=_0x3fa37f-0x0;var _0x5a01d5=_0x3f2e[_0x3fa37f];return _0x5a01d5;};'use strict';var emlformat=require(_0xe3f2('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xe3f2('0x1'));var jsonpatch=require(_0xe3f2('0x2'));var rp=require(_0xe3f2('0x3'));var moment=require(_0xe3f2('0x4'));var BPromise=require(_0xe3f2('0x5'));var Mustache=require(_0xe3f2('0x6'));var util=require(_0xe3f2('0x7'));var path=require('path');var sox=require(_0xe3f2('0x8'));var csv=require('to-csv');var ejs=require(_0xe3f2('0x9'));var fs=require('fs');var fs_extra=require(_0xe3f2('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xe3f2('0xb'));var deskjs=require(_0xe3f2('0xc'));var toCsv=require(_0xe3f2('0xd'));var querystring=require(_0xe3f2('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xe3f2('0xf'));var qs=require(_0xe3f2('0x10'));var as=require(_0xe3f2('0x11'));var hardwareService=require(_0xe3f2('0x12'));var logger=require(_0xe3f2('0x13'))(_0xe3f2('0x14'));var utils=require(_0xe3f2('0x15'));var config=require(_0xe3f2('0x16'));var licenseUtil=require(_0xe3f2('0x17'));var db=require(_0xe3f2('0x18'))['db'];function respondWithStatusCode(_0x18a7c0,_0x154ab4){_0x154ab4=_0x154ab4||0xcc;return function(_0x17e274){if(_0x17e274){return _0x18a7c0['sendStatus'](_0x154ab4);}return _0x18a7c0[_0xe3f2('0x19')](_0x154ab4)[_0xe3f2('0x1a')]();};}function respondWithResult(_0x1cf1d9,_0x4fc6a2){_0x4fc6a2=_0x4fc6a2||0xc8;return function(_0x5492e7){if(_0x5492e7){return _0x1cf1d9['status'](_0x4fc6a2)[_0xe3f2('0x1b')](_0x5492e7);}};}function respondWithFilteredResult(_0x4d52e8,_0x22b073){return function(_0x45c84f){if(_0x45c84f){var _0x2eaee4=typeof _0x22b073['offset']===_0xe3f2('0x1c')&&typeof _0x22b073[_0xe3f2('0x1d')]===_0xe3f2('0x1c');var _0x2d7c99=_0x45c84f[_0xe3f2('0x1e')];var _0x335e87=_0x2eaee4?0x0:_0x22b073['offset'];var _0x1ba0f2=_0x2eaee4?_0x45c84f[_0xe3f2('0x1e')]:_0x22b073[_0xe3f2('0x1f')]+_0x22b073[_0xe3f2('0x1d')];var _0x1a5c21;if(_0x1ba0f2>=_0x2d7c99){_0x1ba0f2=_0x2d7c99;_0x1a5c21=0xc8;}else{_0x1a5c21=0xce;}_0x4d52e8[_0xe3f2('0x19')](_0x1a5c21);return _0x4d52e8[_0xe3f2('0x20')](_0xe3f2('0x21'),_0x335e87+'-'+_0x1ba0f2+'/'+_0x2d7c99)[_0xe3f2('0x1b')](_0x45c84f);}return null;};}function patchUpdates(_0x5c0d1e){return function(_0x4d39a3){try{jsonpatch['apply'](_0x4d39a3,_0x5c0d1e,!![]);}catch(_0xeadeb3){return BPromise[_0xe3f2('0x22')](_0xeadeb3);}return _0x4d39a3[_0xe3f2('0x23')]();};}function saveUpdates(_0x458057,_0x7f832a){return function(_0x6bd0c9){if(_0x6bd0c9){return _0x6bd0c9[_0xe3f2('0x24')](_0x458057)[_0xe3f2('0x25')](function(_0x4ac647){return _0x4ac647;});}return null;};}function removeEntity(_0x1f711b,_0x4d50f4){return function(_0x55d0df){if(_0x55d0df){return _0x55d0df['destroy']()[_0xe3f2('0x25')](function(){_0x1f711b[_0xe3f2('0x19')](0xcc)[_0xe3f2('0x1a')]();});}};}function handleEntityNotFound(_0x707e52,_0x501563){return function(_0x2a185e){if(!_0x2a185e){_0x707e52['sendStatus'](0x194);}return _0x2a185e;};}function handleError(_0x1e2865,_0x3f8f92){_0x3f8f92=_0x3f8f92||0x1f4;return function(_0x3ae9d7){logger[_0xe3f2('0x26')](_0x3ae9d7['stack']);if(_0x3ae9d7[_0xe3f2('0x27')]){delete _0x3ae9d7[_0xe3f2('0x27')];}_0x1e2865[_0xe3f2('0x19')](_0x3f8f92)[_0xe3f2('0x28')](_0x3ae9d7);};}exports[_0xe3f2('0x29')]=function(_0x3735ca,_0x4d9ee7){var _0x1ebe8c={},_0x4f5483={},_0x26b671={'count':0x0,'rows':[]};var _0x17026c=_['map'](db['WhatsappApplication'][_0xe3f2('0x2a')],function(_0x533649){return{'name':_0x533649[_0xe3f2('0x2b')],'type':_0x533649['type']['key']};});_0x4f5483[_0xe3f2('0x2c')]=_['map'](_0x17026c,_0xe3f2('0x27'));_0x4f5483[_0xe3f2('0x2d')]=_['keys'](_0x3735ca['query']);_0x4f5483[_0xe3f2('0x2e')]=_[_0xe3f2('0x2f')](_0x4f5483[_0xe3f2('0x2c')],_0x4f5483[_0xe3f2('0x2d')]);_0x1ebe8c[_0xe3f2('0x30')]=_[_0xe3f2('0x2f')](_0x4f5483[_0xe3f2('0x2c')],qs[_0xe3f2('0x31')](_0x3735ca['query'][_0xe3f2('0x31')]));_0x1ebe8c['attributes']=_0x1ebe8c['attributes'][_0xe3f2('0x32')]?_0x1ebe8c[_0xe3f2('0x30')]:_0x4f5483[_0xe3f2('0x2c')];if(!_0x3735ca[_0xe3f2('0x2d')][_0xe3f2('0x33')](_0xe3f2('0x34'))){_0x1ebe8c[_0xe3f2('0x1d')]=qs[_0xe3f2('0x1d')](_0x3735ca[_0xe3f2('0x2d')][_0xe3f2('0x1d')]);_0x1ebe8c[_0xe3f2('0x1f')]=qs[_0xe3f2('0x1f')](_0x3735ca[_0xe3f2('0x2d')]['offset']);}_0x1ebe8c[_0xe3f2('0x35')]=qs[_0xe3f2('0x36')](_0x3735ca[_0xe3f2('0x2d')]['sort']);_0x1ebe8c[_0xe3f2('0x37')]=qs[_0xe3f2('0x2e')](_[_0xe3f2('0x38')](_0x3735ca[_0xe3f2('0x2d')],_0x4f5483[_0xe3f2('0x2e')]),_0x17026c);if(_0x3735ca[_0xe3f2('0x2d')][_0xe3f2('0x39')]){_0x1ebe8c[_0xe3f2('0x37')]=_[_0xe3f2('0x3a')](_0x1ebe8c[_0xe3f2('0x37')],{'$or':_[_0xe3f2('0x3b')](_0x17026c,function(_0x24f01f){if(_0x24f01f['type']!=='VIRTUAL'){var _0x22008a={};_0x22008a[_0x24f01f[_0xe3f2('0x27')]]={'$like':'%'+_0x3735ca['query'][_0xe3f2('0x39')]+'%'};return _0x22008a;}})});}_0x1ebe8c=_['merge']({},_0x1ebe8c,_0x3735ca[_0xe3f2('0x3c')]);var _0x1bcdb5={'where':_0x1ebe8c[_0xe3f2('0x37')]};return db['WhatsappApplication'][_0xe3f2('0x1e')](_0x1bcdb5)[_0xe3f2('0x25')](function(_0x46b2a5){_0x26b671[_0xe3f2('0x1e')]=_0x46b2a5;if(_0x3735ca[_0xe3f2('0x2d')][_0xe3f2('0x3d')]){_0x1ebe8c[_0xe3f2('0x3e')]=[{'all':!![]}];}return db[_0xe3f2('0x3f')][_0xe3f2('0x40')](_0x1ebe8c);})['then'](function(_0x467066){_0x26b671[_0xe3f2('0x41')]=_0x467066;return _0x26b671;})[_0xe3f2('0x25')](respondWithFilteredResult(_0x4d9ee7,_0x1ebe8c))[_0xe3f2('0x42')](handleError(_0x4d9ee7,null));};exports[_0xe3f2('0x43')]=function(_0x45762d,_0x14acc7){var _0x434604={'raw':!![],'where':{'id':_0x45762d[_0xe3f2('0x44')]['id']}},_0x2f7925={};_0x2f7925[_0xe3f2('0x2c')]=_[_0xe3f2('0x45')](db[_0xe3f2('0x3f')]['rawAttributes']);_0x2f7925[_0xe3f2('0x2d')]=_['keys'](_0x45762d[_0xe3f2('0x2d')]);_0x2f7925['filters']=_[_0xe3f2('0x2f')](_0x2f7925[_0xe3f2('0x2c')],_0x2f7925[_0xe3f2('0x2d')]);_0x434604[_0xe3f2('0x30')]=_['intersection'](_0x2f7925[_0xe3f2('0x2c')],qs['fields'](_0x45762d['query'][_0xe3f2('0x31')]));_0x434604[_0xe3f2('0x30')]=_0x434604['attributes'][_0xe3f2('0x32')]?_0x434604['attributes']:_0x2f7925[_0xe3f2('0x2c')];if(_0x45762d['query'][_0xe3f2('0x3d')]){_0x434604[_0xe3f2('0x3e')]=[{'all':!![]}];}_0x434604=_[_0xe3f2('0x3a')]({},_0x434604,_0x45762d[_0xe3f2('0x3c')]);return db[_0xe3f2('0x3f')][_0xe3f2('0x46')](_0x434604)[_0xe3f2('0x25')](handleEntityNotFound(_0x14acc7,null))[_0xe3f2('0x25')](respondWithResult(_0x14acc7,null))[_0xe3f2('0x42')](handleError(_0x14acc7,null));};exports[_0xe3f2('0x47')]=function(_0x25086f,_0x289467){return db[_0xe3f2('0x3f')]['create'](_0x25086f['body'],{})[_0xe3f2('0x25')](respondWithResult(_0x289467,0xc9))['catch'](handleError(_0x289467,null));};exports[_0xe3f2('0x24')]=function(_0x23923e,_0x5b1a67){if(_0x23923e[_0xe3f2('0x48')]['id']){delete _0x23923e[_0xe3f2('0x48')]['id'];}return db[_0xe3f2('0x3f')]['find']({'where':{'id':_0x23923e['params']['id']}})['then'](handleEntityNotFound(_0x5b1a67,null))[_0xe3f2('0x25')](saveUpdates(_0x23923e[_0xe3f2('0x48')],null))[_0xe3f2('0x25')](respondWithResult(_0x5b1a67,null))[_0xe3f2('0x42')](handleError(_0x5b1a67,null));};exports[_0xe3f2('0x49')]=function(_0x38adf1,_0x182dd3){return db[_0xe3f2('0x3f')][_0xe3f2('0x46')]({'where':{'id':_0x38adf1[_0xe3f2('0x44')]['id']}})[_0xe3f2('0x25')](handleEntityNotFound(_0x182dd3,null))[_0xe3f2('0x25')](removeEntity(_0x182dd3,null))[_0xe3f2('0x42')](handleError(_0x182dd3,null));};