Built motion from commit b0a9a629.|2.6.33
[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 _0x50e5=['map','WhatsappApplication','rawAttributes','fieldName','type','key','keys','query','intersection','model','attributes','fields','length','hasOwnProperty','sort','pick','filters','where','merge','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','params','create','body','find','destroy','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','undefined','limit','count','offset','set','Content-Range','json','apply','update','then','error','stack','name','index'];(function(_0xb9cd01,_0x3bd12e){var _0x1530fb=function(_0x43ee36){while(--_0x43ee36){_0xb9cd01['push'](_0xb9cd01['shift']());}};_0x1530fb(++_0x3bd12e);}(_0x50e5,0xb7));var _0x550e=function(_0x1304b3,_0x5bb5f5){_0x1304b3=_0x1304b3-0x0;var _0x45ce34=_0x50e5[_0x1304b3];return _0x45ce34;};'use strict';var emlformat=require(_0x550e('0x0'));var rimraf=require(_0x550e('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x550e('0x2'));var rp=require(_0x550e('0x3'));var moment=require(_0x550e('0x4'));var BPromise=require(_0x550e('0x5'));var Mustache=require(_0x550e('0x6'));var util=require(_0x550e('0x7'));var path=require(_0x550e('0x8'));var sox=require(_0x550e('0x9'));var csv=require(_0x550e('0xa'));var ejs=require(_0x550e('0xb'));var fs=require('fs');var fs_extra=require(_0x550e('0xc'));var _=require(_0x550e('0xd'));var squel=require('squel');var crypto=require(_0x550e('0xe'));var jsforce=require(_0x550e('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x550e('0xa'));var querystring=require(_0x550e('0x10'));var Papa=require(_0x550e('0x11'));var Redis=require('ioredis');var authService=require(_0x550e('0x12'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x550e('0x13'));var logger=require(_0x550e('0x14'))('api');var utils=require(_0x550e('0x15'));var config=require(_0x550e('0x16'));var licenseUtil=require(_0x550e('0x17'));var db=require(_0x550e('0x18'))['db'];function respondWithStatusCode(_0x518cad,_0x335cba){_0x335cba=_0x335cba||0xcc;return function(_0x57214a){if(_0x57214a){return _0x518cad[_0x550e('0x19')](_0x335cba);}return _0x518cad['status'](_0x335cba)[_0x550e('0x1a')]();};}function respondWithResult(_0x4c6070,_0x393055){_0x393055=_0x393055||0xc8;return function(_0x2d4b79){if(_0x2d4b79){return _0x4c6070[_0x550e('0x1b')](_0x393055)['json'](_0x2d4b79);}};}function respondWithFilteredResult(_0x302be0,_0x49787c){return function(_0xf28ba7){if(_0xf28ba7){var _0x49474f=typeof _0x49787c['offset']===_0x550e('0x1c')&&typeof _0x49787c[_0x550e('0x1d')]==='undefined';var _0x4e49bf=_0xf28ba7['count'];var _0x22c264=_0x49474f?0x0:_0x49787c['offset'];var _0x580c6f=_0x49474f?_0xf28ba7[_0x550e('0x1e')]:_0x49787c[_0x550e('0x1f')]+_0x49787c[_0x550e('0x1d')];var _0x846ad;if(_0x580c6f>=_0x4e49bf){_0x580c6f=_0x4e49bf;_0x846ad=0xc8;}else{_0x846ad=0xce;}_0x302be0[_0x550e('0x1b')](_0x846ad);return _0x302be0[_0x550e('0x20')](_0x550e('0x21'),_0x22c264+'-'+_0x580c6f+'/'+_0x4e49bf)[_0x550e('0x22')](_0xf28ba7);}return null;};}function patchUpdates(_0x1b9799){return function(_0x47e6e1){try{jsonpatch[_0x550e('0x23')](_0x47e6e1,_0x1b9799,!![]);}catch(_0x106c68){return BPromise['reject'](_0x106c68);}return _0x47e6e1['save']();};}function saveUpdates(_0x3e9822,_0x2663c7){return function(_0x5769bb){if(_0x5769bb){return _0x5769bb[_0x550e('0x24')](_0x3e9822)[_0x550e('0x25')](function(_0x1762c3){return _0x1762c3;});}return null;};}function removeEntity(_0x317249,_0x3aa1b8){return function(_0x3bbca3){if(_0x3bbca3){return _0x3bbca3['destroy']()[_0x550e('0x25')](function(){_0x317249[_0x550e('0x1b')](0xcc)[_0x550e('0x1a')]();});}};}function handleEntityNotFound(_0x2d10f3,_0x403391){return function(_0xc94de2){if(!_0xc94de2){_0x2d10f3[_0x550e('0x19')](0x194);}return _0xc94de2;};}function handleError(_0x111161,_0x13ca4e){_0x13ca4e=_0x13ca4e||0x1f4;return function(_0x136beb){logger[_0x550e('0x26')](_0x136beb[_0x550e('0x27')]);if(_0x136beb['name']){delete _0x136beb[_0x550e('0x28')];}_0x111161[_0x550e('0x1b')](_0x13ca4e)['send'](_0x136beb);};}exports[_0x550e('0x29')]=function(_0x78f04c,_0x7ae242){var _0x33bc32={},_0x1a4caa={},_0x403472={'count':0x0,'rows':[]};var _0x449da3=_[_0x550e('0x2a')](db[_0x550e('0x2b')][_0x550e('0x2c')],function(_0x25c40a){return{'name':_0x25c40a[_0x550e('0x2d')],'type':_0x25c40a[_0x550e('0x2e')][_0x550e('0x2f')]};});_0x1a4caa['model']=_[_0x550e('0x2a')](_0x449da3,_0x550e('0x28'));_0x1a4caa['query']=_[_0x550e('0x30')](_0x78f04c[_0x550e('0x31')]);_0x1a4caa['filters']=_[_0x550e('0x32')](_0x1a4caa[_0x550e('0x33')],_0x1a4caa[_0x550e('0x31')]);_0x33bc32[_0x550e('0x34')]=_[_0x550e('0x32')](_0x1a4caa[_0x550e('0x33')],qs[_0x550e('0x35')](_0x78f04c[_0x550e('0x31')]['fields']));_0x33bc32[_0x550e('0x34')]=_0x33bc32['attributes'][_0x550e('0x36')]?_0x33bc32[_0x550e('0x34')]:_0x1a4caa['model'];if(!_0x78f04c[_0x550e('0x31')][_0x550e('0x37')]('nolimit')){_0x33bc32['limit']=qs['limit'](_0x78f04c['query'][_0x550e('0x1d')]);_0x33bc32[_0x550e('0x1f')]=qs[_0x550e('0x1f')](_0x78f04c['query']['offset']);}_0x33bc32['order']=qs[_0x550e('0x38')](_0x78f04c[_0x550e('0x31')]['sort']);_0x33bc32['where']=qs['filters'](_[_0x550e('0x39')](_0x78f04c[_0x550e('0x31')],_0x1a4caa[_0x550e('0x3a')]),_0x449da3);if(_0x78f04c['query']['filter']){_0x33bc32[_0x550e('0x3b')]=_[_0x550e('0x3c')](_0x33bc32[_0x550e('0x3b')],{'$or':_[_0x550e('0x2a')](_0x449da3,function(_0x4f4671){if(_0x4f4671[_0x550e('0x2e')]!==_0x550e('0x3d')){var _0x4cfde4={};_0x4cfde4[_0x4f4671['name']]={'$like':'%'+_0x78f04c[_0x550e('0x31')][_0x550e('0x3e')]+'%'};return _0x4cfde4;}})});}_0x33bc32=_[_0x550e('0x3c')]({},_0x33bc32,_0x78f04c[_0x550e('0x3f')]);var _0x5badca={'where':_0x33bc32[_0x550e('0x3b')]};return db[_0x550e('0x2b')][_0x550e('0x1e')](_0x5badca)[_0x550e('0x25')](function(_0x4d7297){_0x403472[_0x550e('0x1e')]=_0x4d7297;if(_0x78f04c[_0x550e('0x31')][_0x550e('0x40')]){_0x33bc32[_0x550e('0x41')]=[{'all':!![]}];}return db[_0x550e('0x2b')][_0x550e('0x42')](_0x33bc32);})['then'](function(_0x2f8cf5){_0x403472[_0x550e('0x43')]=_0x2f8cf5;return _0x403472;})[_0x550e('0x25')](respondWithFilteredResult(_0x7ae242,_0x33bc32))[_0x550e('0x44')](handleError(_0x7ae242,null));};exports[_0x550e('0x45')]=function(_0x4af549,_0x10f18f){var _0x2db9c9={'raw':!![],'where':{'id':_0x4af549[_0x550e('0x46')]['id']}},_0x5ca5fc={};_0x5ca5fc[_0x550e('0x33')]=_[_0x550e('0x30')](db['WhatsappApplication']['rawAttributes']);_0x5ca5fc[_0x550e('0x31')]=_[_0x550e('0x30')](_0x4af549['query']);_0x5ca5fc[_0x550e('0x3a')]=_[_0x550e('0x32')](_0x5ca5fc['model'],_0x5ca5fc[_0x550e('0x31')]);_0x2db9c9[_0x550e('0x34')]=_[_0x550e('0x32')](_0x5ca5fc[_0x550e('0x33')],qs[_0x550e('0x35')](_0x4af549[_0x550e('0x31')]['fields']));_0x2db9c9[_0x550e('0x34')]=_0x2db9c9['attributes'][_0x550e('0x36')]?_0x2db9c9[_0x550e('0x34')]:_0x5ca5fc['model'];if(_0x4af549[_0x550e('0x31')][_0x550e('0x40')]){_0x2db9c9[_0x550e('0x41')]=[{'all':!![]}];}_0x2db9c9=_[_0x550e('0x3c')]({},_0x2db9c9,_0x4af549[_0x550e('0x3f')]);return db[_0x550e('0x2b')]['find'](_0x2db9c9)[_0x550e('0x25')](handleEntityNotFound(_0x10f18f,null))[_0x550e('0x25')](respondWithResult(_0x10f18f,null))[_0x550e('0x44')](handleError(_0x10f18f,null));};exports[_0x550e('0x47')]=function(_0x5a9ef5,_0xbfd031){return db[_0x550e('0x2b')][_0x550e('0x47')](_0x5a9ef5[_0x550e('0x48')],{})[_0x550e('0x25')](respondWithResult(_0xbfd031,0xc9))[_0x550e('0x44')](handleError(_0xbfd031,null));};exports[_0x550e('0x24')]=function(_0xfbad1e,_0x2d233b){if(_0xfbad1e[_0x550e('0x48')]['id']){delete _0xfbad1e[_0x550e('0x48')]['id'];}return db[_0x550e('0x2b')][_0x550e('0x49')]({'where':{'id':_0xfbad1e[_0x550e('0x46')]['id']}})[_0x550e('0x25')](handleEntityNotFound(_0x2d233b,null))[_0x550e('0x25')](saveUpdates(_0xfbad1e[_0x550e('0x48')],null))['then'](respondWithResult(_0x2d233b,null))[_0x550e('0x44')](handleError(_0x2d233b,null));};exports[_0x550e('0x4a')]=function(_0x22dc07,_0x264c4d){return db[_0x550e('0x2b')][_0x550e('0x49')]({'where':{'id':_0x22dc07[_0x550e('0x46')]['id']}})['then'](handleEntityNotFound(_0x264c4d,null))[_0x550e('0x25')](removeEntity(_0x264c4d,null))[_0x550e('0x44')](handleError(_0x264c4d,null));};