Built motion from commit 3c2ce842.|2.6.31
[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 _0x3a15=['fields','nolimit','order','sort','filters','pick','filter','where','merge','type','VIRTUAL','options','findAll','rows','catch','params','length','include','find','create','body','eml-format','zip-dir','request-promise','moment','bluebird','path','fs-extra','squel','crypto','jsforce','to-csv','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','reject','update','then','destroy','error','stack','name','send','index','map','WhatsappApplication','rawAttributes','fieldName','model','query','keys','attributes','intersection'];(function(_0x16c8c6,_0x10fde4){var _0x35c645=function(_0xe1c153){while(--_0xe1c153){_0x16c8c6['push'](_0x16c8c6['shift']());}};_0x35c645(++_0x10fde4);}(_0x3a15,0xde));var _0x53a1=function(_0x1319ab,_0x4aadf5){_0x1319ab=_0x1319ab-0x0;var _0x11d131=_0x3a15[_0x1319ab];return _0x11d131;};'use strict';var emlformat=require(_0x53a1('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x53a1('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x53a1('0x2'));var moment=require(_0x53a1('0x3'));var BPromise=require(_0x53a1('0x4'));var Mustache=require('mustache');var util=require('util');var path=require(_0x53a1('0x5'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x53a1('0x6'));var _=require('lodash');var squel=require(_0x53a1('0x7'));var crypto=require(_0x53a1('0x8'));var jsforce=require(_0x53a1('0x9'));var deskjs=require('desk.js');var toCsv=require(_0x53a1('0xa'));var querystring=require(_0x53a1('0xb'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x53a1('0xc'));var as=require(_0x53a1('0xd'));var hardwareService=require(_0x53a1('0xe'));var logger=require(_0x53a1('0xf'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x53a1('0x10'));var db=require(_0x53a1('0x11'))['db'];function respondWithStatusCode(_0x50cd84,_0x1a89e9){_0x1a89e9=_0x1a89e9||0xcc;return function(_0x17d23b){if(_0x17d23b){return _0x50cd84[_0x53a1('0x12')](_0x1a89e9);}return _0x50cd84['status'](_0x1a89e9)[_0x53a1('0x13')]();};}function respondWithResult(_0x456144,_0x3d66f5){_0x3d66f5=_0x3d66f5||0xc8;return function(_0x36e275){if(_0x36e275){return _0x456144[_0x53a1('0x14')](_0x3d66f5)[_0x53a1('0x15')](_0x36e275);}};}function respondWithFilteredResult(_0x762aaa,_0x3313fe){return function(_0x474d58){if(_0x474d58){var _0x552306=typeof _0x3313fe[_0x53a1('0x16')]===_0x53a1('0x17')&&typeof _0x3313fe[_0x53a1('0x18')]===_0x53a1('0x17');var _0x153ce9=_0x474d58[_0x53a1('0x19')];var _0x1cb902=_0x552306?0x0:_0x3313fe['offset'];var _0x3c7bed=_0x552306?_0x474d58['count']:_0x3313fe[_0x53a1('0x16')]+_0x3313fe[_0x53a1('0x18')];var _0x6f21f7;if(_0x3c7bed>=_0x153ce9){_0x3c7bed=_0x153ce9;_0x6f21f7=0xc8;}else{_0x6f21f7=0xce;}_0x762aaa[_0x53a1('0x14')](_0x6f21f7);return _0x762aaa[_0x53a1('0x1a')](_0x53a1('0x1b'),_0x1cb902+'-'+_0x3c7bed+'/'+_0x153ce9)['json'](_0x474d58);}return null;};}function patchUpdates(_0x16916f){return function(_0x167671){try{jsonpatch['apply'](_0x167671,_0x16916f,!![]);}catch(_0xcea683){return BPromise[_0x53a1('0x1c')](_0xcea683);}return _0x167671['save']();};}function saveUpdates(_0x2f0f7e,_0x11253c){return function(_0x5173a3){if(_0x5173a3){return _0x5173a3[_0x53a1('0x1d')](_0x2f0f7e)[_0x53a1('0x1e')](function(_0x5f4135){return _0x5f4135;});}return null;};}function removeEntity(_0x1140a0,_0x1a4dab){return function(_0x471e34){if(_0x471e34){return _0x471e34[_0x53a1('0x1f')]()['then'](function(){_0x1140a0[_0x53a1('0x14')](0xcc)[_0x53a1('0x13')]();});}};}function handleEntityNotFound(_0x2a71f1,_0x1027d4){return function(_0x3bf15c){if(!_0x3bf15c){_0x2a71f1[_0x53a1('0x12')](0x194);}return _0x3bf15c;};}function handleError(_0x507a9e,_0xc8a720){_0xc8a720=_0xc8a720||0x1f4;return function(_0xc86808){logger[_0x53a1('0x20')](_0xc86808[_0x53a1('0x21')]);if(_0xc86808[_0x53a1('0x22')]){delete _0xc86808[_0x53a1('0x22')];}_0x507a9e[_0x53a1('0x14')](_0xc8a720)[_0x53a1('0x23')](_0xc86808);};}exports[_0x53a1('0x24')]=function(_0x162bd1,_0x255768){var _0x15a530={},_0x5cb95e={},_0x61d58c={'count':0x0,'rows':[]};var _0x384f20=_[_0x53a1('0x25')](db[_0x53a1('0x26')][_0x53a1('0x27')],function(_0x2da6b5){return{'name':_0x2da6b5[_0x53a1('0x28')],'type':_0x2da6b5['type']['key']};});_0x5cb95e[_0x53a1('0x29')]=_[_0x53a1('0x25')](_0x384f20,_0x53a1('0x22'));_0x5cb95e[_0x53a1('0x2a')]=_[_0x53a1('0x2b')](_0x162bd1[_0x53a1('0x2a')]);_0x5cb95e['filters']=_['intersection'](_0x5cb95e[_0x53a1('0x29')],_0x5cb95e[_0x53a1('0x2a')]);_0x15a530[_0x53a1('0x2c')]=_[_0x53a1('0x2d')](_0x5cb95e[_0x53a1('0x29')],qs[_0x53a1('0x2e')](_0x162bd1[_0x53a1('0x2a')][_0x53a1('0x2e')]));_0x15a530[_0x53a1('0x2c')]=_0x15a530['attributes']['length']?_0x15a530[_0x53a1('0x2c')]:_0x5cb95e[_0x53a1('0x29')];if(!_0x162bd1[_0x53a1('0x2a')]['hasOwnProperty'](_0x53a1('0x2f'))){_0x15a530[_0x53a1('0x18')]=qs[_0x53a1('0x18')](_0x162bd1[_0x53a1('0x2a')][_0x53a1('0x18')]);_0x15a530[_0x53a1('0x16')]=qs['offset'](_0x162bd1[_0x53a1('0x2a')][_0x53a1('0x16')]);}_0x15a530[_0x53a1('0x30')]=qs[_0x53a1('0x31')](_0x162bd1['query'][_0x53a1('0x31')]);_0x15a530['where']=qs[_0x53a1('0x32')](_[_0x53a1('0x33')](_0x162bd1[_0x53a1('0x2a')],_0x5cb95e[_0x53a1('0x32')]),_0x384f20);if(_0x162bd1[_0x53a1('0x2a')][_0x53a1('0x34')]){_0x15a530[_0x53a1('0x35')]=_[_0x53a1('0x36')](_0x15a530[_0x53a1('0x35')],{'$or':_['map'](_0x384f20,function(_0x2ae1f4){if(_0x2ae1f4[_0x53a1('0x37')]!==_0x53a1('0x38')){var _0x2d8216={};_0x2d8216[_0x2ae1f4[_0x53a1('0x22')]]={'$like':'%'+_0x162bd1['query'][_0x53a1('0x34')]+'%'};return _0x2d8216;}})});}_0x15a530=_[_0x53a1('0x36')]({},_0x15a530,_0x162bd1[_0x53a1('0x39')]);var _0x3da61c={'where':_0x15a530[_0x53a1('0x35')]};return db['WhatsappApplication']['count'](_0x3da61c)[_0x53a1('0x1e')](function(_0x3eb628){_0x61d58c[_0x53a1('0x19')]=_0x3eb628;if(_0x162bd1[_0x53a1('0x2a')]['includeAll']){_0x15a530['include']=[{'all':!![]}];}return db['WhatsappApplication'][_0x53a1('0x3a')](_0x15a530);})[_0x53a1('0x1e')](function(_0x45fb6d){_0x61d58c[_0x53a1('0x3b')]=_0x45fb6d;return _0x61d58c;})['then'](respondWithFilteredResult(_0x255768,_0x15a530))[_0x53a1('0x3c')](handleError(_0x255768,null));};exports['show']=function(_0x5c5c15,_0x21f531){var _0x4baec9={'raw':!![],'where':{'id':_0x5c5c15[_0x53a1('0x3d')]['id']}},_0x2e8242={};_0x2e8242['model']=_[_0x53a1('0x2b')](db['WhatsappApplication'][_0x53a1('0x27')]);_0x2e8242['query']=_[_0x53a1('0x2b')](_0x5c5c15['query']);_0x2e8242['filters']=_[_0x53a1('0x2d')](_0x2e8242['model'],_0x2e8242['query']);_0x4baec9[_0x53a1('0x2c')]=_[_0x53a1('0x2d')](_0x2e8242[_0x53a1('0x29')],qs['fields'](_0x5c5c15[_0x53a1('0x2a')][_0x53a1('0x2e')]));_0x4baec9[_0x53a1('0x2c')]=_0x4baec9[_0x53a1('0x2c')][_0x53a1('0x3e')]?_0x4baec9['attributes']:_0x2e8242[_0x53a1('0x29')];if(_0x5c5c15[_0x53a1('0x2a')]['includeAll']){_0x4baec9[_0x53a1('0x3f')]=[{'all':!![]}];}_0x4baec9=_[_0x53a1('0x36')]({},_0x4baec9,_0x5c5c15[_0x53a1('0x39')]);return db[_0x53a1('0x26')][_0x53a1('0x40')](_0x4baec9)['then'](handleEntityNotFound(_0x21f531,null))[_0x53a1('0x1e')](respondWithResult(_0x21f531,null))[_0x53a1('0x3c')](handleError(_0x21f531,null));};exports['create']=function(_0x5aabe1,_0x2d352d){return db[_0x53a1('0x26')][_0x53a1('0x41')](_0x5aabe1[_0x53a1('0x42')],{})[_0x53a1('0x1e')](respondWithResult(_0x2d352d,0xc9))[_0x53a1('0x3c')](handleError(_0x2d352d,null));};exports[_0x53a1('0x1d')]=function(_0x3c4aa3,_0x7dd2ee){if(_0x3c4aa3[_0x53a1('0x42')]['id']){delete _0x3c4aa3['body']['id'];}return db['WhatsappApplication'][_0x53a1('0x40')]({'where':{'id':_0x3c4aa3['params']['id']}})[_0x53a1('0x1e')](handleEntityNotFound(_0x7dd2ee,null))[_0x53a1('0x1e')](saveUpdates(_0x3c4aa3[_0x53a1('0x42')],null))['then'](respondWithResult(_0x7dd2ee,null))[_0x53a1('0x3c')](handleError(_0x7dd2ee,null));};exports[_0x53a1('0x1f')]=function(_0x455527,_0xbfe9aa){return db[_0x53a1('0x26')]['find']({'where':{'id':_0x455527[_0x53a1('0x3d')]['id']}})[_0x53a1('0x1e')](handleEntityNotFound(_0xbfe9aa,null))[_0x53a1('0x1e')](removeEntity(_0xbfe9aa,null))[_0x53a1('0x3c')](handleError(_0xbfe9aa,null));};