ad7cc25b193c8635cc62c0345e73ad5a5028611f
[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 _0x69a7=['rawAttributes','key','name','keys','filters','intersection','model','attributes','fields','query','hasOwnProperty','nolimit','offset','order','sort','filter','where','merge','VIRTUAL','includeAll','include','WhatsappApplication','findAll','rows','catch','show','params','length','options','find','create','body','html-pdf','rimraf','fast-json-patch','request-promise','moment','util','path','ejs','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','json','count','limit','set','Content-Range','apply','reject','save','update','then','destroy','end','error','stack','send','map'];(function(_0x248ae8,_0x124050){var _0x415a6f=function(_0x46eba7){while(--_0x46eba7){_0x248ae8['push'](_0x248ae8['shift']());}};_0x415a6f(++_0x124050);}(_0x69a7,0x66));var _0x769a=function(_0x29e3ec,_0x138a18){_0x29e3ec=_0x29e3ec-0x0;var _0x25727e=_0x69a7[_0x29e3ec];return _0x25727e;};'use strict';var pdf=require(_0x769a('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x769a('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x769a('0x2'));var rp=require(_0x769a('0x3'));var moment=require(_0x769a('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x769a('0x5'));var path=require(_0x769a('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x769a('0x7'));var fs=require('fs');var _=require('lodash');var squel=require(_0x769a('0x8'));var crypto=require(_0x769a('0x9'));var jsforce=require(_0x769a('0xa'));var deskjs=require(_0x769a('0xb'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x769a('0xc'));var Redis=require(_0x769a('0xd'));var authService=require(_0x769a('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0x769a('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x769a('0x10'))(_0x769a('0x11'));var utils=require(_0x769a('0x12'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x769a('0x13'))['db'];function respondWithStatusCode(_0x26fee6,_0x36abb0){_0x36abb0=_0x36abb0||0xcc;return function(_0xb0ec5e){if(_0xb0ec5e){return _0x26fee6[_0x769a('0x14')](_0x36abb0);}return _0x26fee6[_0x769a('0x15')](_0x36abb0)['end']();};}function respondWithResult(_0x49d7c0,_0x4ca1c7){_0x4ca1c7=_0x4ca1c7||0xc8;return function(_0x85ab29){if(_0x85ab29){return _0x49d7c0['status'](_0x4ca1c7)[_0x769a('0x16')](_0x85ab29);}};}function respondWithFilteredResult(_0x17a78e,_0x4ee5b0){return function(_0x697407){if(_0x697407){var _0x24f0bb=_0x697407[_0x769a('0x17')],_0x56ba5b=_0x4ee5b0['offset'],_0xd4e66=_0x4ee5b0['offset']+_0x4ee5b0[_0x769a('0x18')],_0x47505b;if(_0xd4e66>=_0x24f0bb){_0xd4e66=_0x24f0bb;_0x47505b=0xc8;}else{_0x47505b=0xce;}_0x17a78e[_0x769a('0x15')](_0x47505b);return _0x17a78e[_0x769a('0x19')](_0x769a('0x1a'),_0x56ba5b+'-'+_0xd4e66+'/'+_0x24f0bb)[_0x769a('0x16')](_0x697407);}return null;};}function patchUpdates(_0x25f9c5){return function(_0xfecf8c){try{jsonpatch[_0x769a('0x1b')](_0xfecf8c,_0x25f9c5,!![]);}catch(_0x401cde){return BPromise[_0x769a('0x1c')](_0x401cde);}return _0xfecf8c[_0x769a('0x1d')]();};}function saveUpdates(_0x4c0f50,_0x404fcc){return function(_0x18f7b7){if(_0x18f7b7){return _0x18f7b7[_0x769a('0x1e')](_0x4c0f50)[_0x769a('0x1f')](function(_0x5d42cc){return _0x5d42cc;});}return null;};}function removeEntity(_0x2e03f4,_0x38590c){return function(_0x236d0b){if(_0x236d0b){return _0x236d0b[_0x769a('0x20')]()[_0x769a('0x1f')](function(){_0x2e03f4[_0x769a('0x15')](0xcc)[_0x769a('0x21')]();});}};}function handleEntityNotFound(_0x2e1edb,_0x1f376f){return function(_0x348f45){if(!_0x348f45){_0x2e1edb[_0x769a('0x14')](0x194);}return _0x348f45;};}function handleError(_0x35ce5e,_0x236126){_0x236126=_0x236126||0x1f4;return function(_0x40ed29){logger[_0x769a('0x22')](_0x40ed29[_0x769a('0x23')]);if(_0x40ed29['name']){delete _0x40ed29['name'];}_0x35ce5e[_0x769a('0x15')](_0x236126)[_0x769a('0x24')](_0x40ed29);};}exports['index']=function(_0x279bc5,_0x27195f){var _0x1e994c={},_0x41f133={},_0x4fb4c7={'count':0x0,'rows':[]};var _0x10072e=_[_0x769a('0x25')](db['WhatsappApplication'][_0x769a('0x26')],function(_0x1fc694){return{'name':_0x1fc694['fieldName'],'type':_0x1fc694['type'][_0x769a('0x27')]};});_0x41f133['model']=_[_0x769a('0x25')](_0x10072e,_0x769a('0x28'));_0x41f133['query']=_[_0x769a('0x29')](_0x279bc5['query']);_0x41f133[_0x769a('0x2a')]=_[_0x769a('0x2b')](_0x41f133[_0x769a('0x2c')],_0x41f133['query']);_0x1e994c[_0x769a('0x2d')]=_[_0x769a('0x2b')](_0x41f133['model'],qs[_0x769a('0x2e')](_0x279bc5['query']['fields']));_0x1e994c['attributes']=_0x1e994c[_0x769a('0x2d')]['length']?_0x1e994c[_0x769a('0x2d')]:_0x41f133[_0x769a('0x2c')];if(!_0x279bc5[_0x769a('0x2f')][_0x769a('0x30')](_0x769a('0x31'))){_0x1e994c[_0x769a('0x18')]=qs[_0x769a('0x18')](_0x279bc5[_0x769a('0x2f')][_0x769a('0x18')]);_0x1e994c[_0x769a('0x32')]=qs[_0x769a('0x32')](_0x279bc5[_0x769a('0x2f')]['offset']);}_0x1e994c[_0x769a('0x33')]=qs[_0x769a('0x34')](_0x279bc5[_0x769a('0x2f')]['sort']);_0x1e994c['where']=qs['filters'](_['pick'](_0x279bc5[_0x769a('0x2f')],_0x41f133['filters']),_0x10072e);if(_0x279bc5[_0x769a('0x2f')][_0x769a('0x35')]){_0x1e994c[_0x769a('0x36')]=_[_0x769a('0x37')](_0x1e994c[_0x769a('0x36')],{'$or':_[_0x769a('0x25')](_0x10072e,function(_0x9e2503){if(_0x9e2503['type']!==_0x769a('0x38')){var _0x5ba98d={};_0x5ba98d[_0x9e2503[_0x769a('0x28')]]={'$like':'%'+_0x279bc5['query'][_0x769a('0x35')]+'%'};return _0x5ba98d;}})});}_0x1e994c=_[_0x769a('0x37')]({},_0x1e994c,_0x279bc5['options']);var _0x2b7700={'where':_0x1e994c['where']};return db['WhatsappApplication'][_0x769a('0x17')](_0x2b7700)[_0x769a('0x1f')](function(_0x5a3503){_0x4fb4c7[_0x769a('0x17')]=_0x5a3503;if(_0x279bc5[_0x769a('0x2f')][_0x769a('0x39')]){_0x1e994c[_0x769a('0x3a')]=[{'all':!![]}];}return db[_0x769a('0x3b')][_0x769a('0x3c')](_0x1e994c);})[_0x769a('0x1f')](function(_0x146955){_0x4fb4c7[_0x769a('0x3d')]=_0x146955;return _0x4fb4c7;})['then'](respondWithFilteredResult(_0x27195f,_0x1e994c))[_0x769a('0x3e')](handleError(_0x27195f,null));};exports[_0x769a('0x3f')]=function(_0x374045,_0x451a16){var _0x5518ba={'raw':!![],'where':{'id':_0x374045[_0x769a('0x40')]['id']}},_0x2112cd={};_0x2112cd[_0x769a('0x2c')]=_[_0x769a('0x29')](db[_0x769a('0x3b')][_0x769a('0x26')]);_0x2112cd[_0x769a('0x2f')]=_[_0x769a('0x29')](_0x374045[_0x769a('0x2f')]);_0x2112cd[_0x769a('0x2a')]=_[_0x769a('0x2b')](_0x2112cd[_0x769a('0x2c')],_0x2112cd[_0x769a('0x2f')]);_0x5518ba[_0x769a('0x2d')]=_[_0x769a('0x2b')](_0x2112cd[_0x769a('0x2c')],qs['fields'](_0x374045[_0x769a('0x2f')][_0x769a('0x2e')]));_0x5518ba[_0x769a('0x2d')]=_0x5518ba[_0x769a('0x2d')][_0x769a('0x41')]?_0x5518ba['attributes']:_0x2112cd[_0x769a('0x2c')];if(_0x374045[_0x769a('0x2f')][_0x769a('0x39')]){_0x5518ba['include']=[{'all':!![]}];}_0x5518ba=_[_0x769a('0x37')]({},_0x5518ba,_0x374045[_0x769a('0x42')]);return db[_0x769a('0x3b')][_0x769a('0x43')](_0x5518ba)[_0x769a('0x1f')](handleEntityNotFound(_0x451a16,null))[_0x769a('0x1f')](respondWithResult(_0x451a16,null))['catch'](handleError(_0x451a16,null));};exports[_0x769a('0x44')]=function(_0x33a2ef,_0x32be48){return db[_0x769a('0x3b')][_0x769a('0x44')](_0x33a2ef[_0x769a('0x45')],{})[_0x769a('0x1f')](respondWithResult(_0x32be48,0xc9))[_0x769a('0x3e')](handleError(_0x32be48,null));};exports[_0x769a('0x1e')]=function(_0x6a02a4,_0x3d84bb){if(_0x6a02a4[_0x769a('0x45')]['id']){delete _0x6a02a4['body']['id'];}return db['WhatsappApplication'][_0x769a('0x43')]({'where':{'id':_0x6a02a4['params']['id']}})['then'](handleEntityNotFound(_0x3d84bb,null))[_0x769a('0x1f')](saveUpdates(_0x6a02a4[_0x769a('0x45')],null))[_0x769a('0x1f')](respondWithResult(_0x3d84bb,null))[_0x769a('0x3e')](handleError(_0x3d84bb,null));};exports[_0x769a('0x20')]=function(_0x40ee34,_0x5ba701){return db[_0x769a('0x3b')]['find']({'where':{'id':_0x40ee34[_0x769a('0x40')]['id']}})[_0x769a('0x1f')](handleEntityNotFound(_0x5ba701,null))[_0x769a('0x1f')](removeEntity(_0x5ba701,null))[_0x769a('0x3e')](handleError(_0x5ba701,null));};