Built motion from commit ddca4d0d.|2.5.47
[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 _0x0c19=['pick','filters','filter','merge','where','WhatsappApplication','include','findAll','rows','params','includeAll','options','find','create','body','catch','update','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','then','destroy','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort'];(function(_0x295430,_0x89252b){var _0xd29e12=function(_0x2ecb36){while(--_0x2ecb36){_0x295430['push'](_0x295430['shift']());}};_0xd29e12(++_0x89252b);}(_0x0c19,0xf5));var _0x90c1=function(_0x2feaac,_0xee96a9){_0x2feaac=_0x2feaac-0x0;var _0xb4ad84=_0x0c19[_0x2feaac];return _0xb4ad84;};'use strict';var emlformat=require(_0x90c1('0x0'));var rimraf=require(_0x90c1('0x1'));var zipdir=require(_0x90c1('0x2'));var jsonpatch=require(_0x90c1('0x3'));var rp=require(_0x90c1('0x4'));var moment=require(_0x90c1('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x90c1('0x6'));var util=require(_0x90c1('0x7'));var path=require(_0x90c1('0x8'));var sox=require('sox');var csv=require(_0x90c1('0x9'));var ejs=require(_0x90c1('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x90c1('0xb'));var squel=require(_0x90c1('0xc'));var crypto=require(_0x90c1('0xd'));var jsforce=require(_0x90c1('0xe'));var deskjs=require(_0x90c1('0xf'));var toCsv=require(_0x90c1('0x9'));var querystring=require(_0x90c1('0x10'));var Papa=require('papaparse');var Redis=require(_0x90c1('0x11'));var authService=require(_0x90c1('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x90c1('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x90c1('0x14'));var utils=require('../../config/utils');var config=require(_0x90c1('0x15'));var licenseUtil=require(_0x90c1('0x16'));var db=require(_0x90c1('0x17'))['db'];function respondWithStatusCode(_0x2d9964,_0x4aa112){_0x4aa112=_0x4aa112||0xcc;return function(_0x59a0ca){if(_0x59a0ca){return _0x2d9964[_0x90c1('0x18')](_0x4aa112);}return _0x2d9964[_0x90c1('0x19')](_0x4aa112)[_0x90c1('0x1a')]();};}function respondWithResult(_0x3a8b82,_0x52a659){_0x52a659=_0x52a659||0xc8;return function(_0xaaab35){if(_0xaaab35){return _0x3a8b82[_0x90c1('0x19')](_0x52a659)[_0x90c1('0x1b')](_0xaaab35);}};}function respondWithFilteredResult(_0x139c67,_0x38fcea){return function(_0x1cfb86){if(_0x1cfb86){var _0x4f77bf=typeof _0x38fcea[_0x90c1('0x1c')]===_0x90c1('0x1d')&&typeof _0x38fcea[_0x90c1('0x1e')]===_0x90c1('0x1d');var _0x2fefb9=_0x1cfb86[_0x90c1('0x1f')];var _0x3b6671=_0x4f77bf?0x0:_0x38fcea[_0x90c1('0x1c')];var _0x372949=_0x4f77bf?_0x1cfb86[_0x90c1('0x1f')]:_0x38fcea[_0x90c1('0x1c')]+_0x38fcea['limit'];var _0x302ca2;if(_0x372949>=_0x2fefb9){_0x372949=_0x2fefb9;_0x302ca2=0xc8;}else{_0x302ca2=0xce;}_0x139c67[_0x90c1('0x19')](_0x302ca2);return _0x139c67[_0x90c1('0x20')](_0x90c1('0x21'),_0x3b6671+'-'+_0x372949+'/'+_0x2fefb9)[_0x90c1('0x1b')](_0x1cfb86);}return null;};}function patchUpdates(_0x3c8cc6){return function(_0x5a8358){try{jsonpatch[_0x90c1('0x22')](_0x5a8358,_0x3c8cc6,!![]);}catch(_0x5bfe28){return BPromise[_0x90c1('0x23')](_0x5bfe28);}return _0x5a8358['save']();};}function saveUpdates(_0x4b0480,_0x18323c){return function(_0x512cd9){if(_0x512cd9){return _0x512cd9['update'](_0x4b0480)[_0x90c1('0x24')](function(_0x5f4c05){return _0x5f4c05;});}return null;};}function removeEntity(_0x4d53fd,_0x36fe37){return function(_0x5e7258){if(_0x5e7258){return _0x5e7258[_0x90c1('0x25')]()['then'](function(){_0x4d53fd[_0x90c1('0x19')](0xcc)[_0x90c1('0x1a')]();});}};}function handleEntityNotFound(_0x309f83,_0x2625af){return function(_0x174506){if(!_0x174506){_0x309f83[_0x90c1('0x18')](0x194);}return _0x174506;};}function handleError(_0x2a60fb,_0x5b38f5){_0x5b38f5=_0x5b38f5||0x1f4;return function(_0x26ee39){logger[_0x90c1('0x26')](_0x26ee39[_0x90c1('0x27')]);if(_0x26ee39[_0x90c1('0x28')]){delete _0x26ee39[_0x90c1('0x28')];}_0x2a60fb[_0x90c1('0x19')](_0x5b38f5)[_0x90c1('0x29')](_0x26ee39);};}exports[_0x90c1('0x2a')]=function(_0x40c45d,_0x1ed79c){var _0x17b923={},_0x2f85dc={},_0x46c65b={'count':0x0,'rows':[]};var _0x39f856=_[_0x90c1('0x2b')](db['WhatsappApplication'][_0x90c1('0x2c')],function(_0x435e56){return{'name':_0x435e56[_0x90c1('0x2d')],'type':_0x435e56[_0x90c1('0x2e')][_0x90c1('0x2f')]};});_0x2f85dc[_0x90c1('0x30')]=_[_0x90c1('0x2b')](_0x39f856,_0x90c1('0x28'));_0x2f85dc[_0x90c1('0x31')]=_[_0x90c1('0x32')](_0x40c45d[_0x90c1('0x31')]);_0x2f85dc['filters']=_[_0x90c1('0x33')](_0x2f85dc[_0x90c1('0x30')],_0x2f85dc[_0x90c1('0x31')]);_0x17b923['attributes']=_[_0x90c1('0x33')](_0x2f85dc[_0x90c1('0x30')],qs[_0x90c1('0x34')](_0x40c45d[_0x90c1('0x31')][_0x90c1('0x34')]));_0x17b923[_0x90c1('0x35')]=_0x17b923[_0x90c1('0x35')][_0x90c1('0x36')]?_0x17b923[_0x90c1('0x35')]:_0x2f85dc[_0x90c1('0x30')];if(!_0x40c45d[_0x90c1('0x31')][_0x90c1('0x37')](_0x90c1('0x38'))){_0x17b923[_0x90c1('0x1e')]=qs['limit'](_0x40c45d[_0x90c1('0x31')][_0x90c1('0x1e')]);_0x17b923[_0x90c1('0x1c')]=qs[_0x90c1('0x1c')](_0x40c45d['query']['offset']);}_0x17b923[_0x90c1('0x39')]=qs[_0x90c1('0x3a')](_0x40c45d[_0x90c1('0x31')][_0x90c1('0x3a')]);_0x17b923['where']=qs['filters'](_[_0x90c1('0x3b')](_0x40c45d[_0x90c1('0x31')],_0x2f85dc[_0x90c1('0x3c')]),_0x39f856);if(_0x40c45d[_0x90c1('0x31')][_0x90c1('0x3d')]){_0x17b923['where']=_['merge'](_0x17b923['where'],{'$or':_[_0x90c1('0x2b')](_0x39f856,function(_0x18c35d){if(_0x18c35d[_0x90c1('0x2e')]!=='VIRTUAL'){var _0x32bc3d={};_0x32bc3d[_0x18c35d['name']]={'$like':'%'+_0x40c45d['query'][_0x90c1('0x3d')]+'%'};return _0x32bc3d;}})});}_0x17b923=_[_0x90c1('0x3e')]({},_0x17b923,_0x40c45d['options']);var _0x3ace43={'where':_0x17b923[_0x90c1('0x3f')]};return db[_0x90c1('0x40')][_0x90c1('0x1f')](_0x3ace43)[_0x90c1('0x24')](function(_0x275731){_0x46c65b['count']=_0x275731;if(_0x40c45d[_0x90c1('0x31')]['includeAll']){_0x17b923[_0x90c1('0x41')]=[{'all':!![]}];}return db[_0x90c1('0x40')][_0x90c1('0x42')](_0x17b923);})[_0x90c1('0x24')](function(_0x8c47ec){_0x46c65b[_0x90c1('0x43')]=_0x8c47ec;return _0x46c65b;})[_0x90c1('0x24')](respondWithFilteredResult(_0x1ed79c,_0x17b923))['catch'](handleError(_0x1ed79c,null));};exports['show']=function(_0x2cd0fa,_0x118104){var _0x1699a1={'raw':!![],'where':{'id':_0x2cd0fa[_0x90c1('0x44')]['id']}},_0x4175d1={};_0x4175d1['model']=_['keys'](db[_0x90c1('0x40')][_0x90c1('0x2c')]);_0x4175d1['query']=_[_0x90c1('0x32')](_0x2cd0fa['query']);_0x4175d1['filters']=_[_0x90c1('0x33')](_0x4175d1['model'],_0x4175d1[_0x90c1('0x31')]);_0x1699a1['attributes']=_['intersection'](_0x4175d1[_0x90c1('0x30')],qs[_0x90c1('0x34')](_0x2cd0fa[_0x90c1('0x31')][_0x90c1('0x34')]));_0x1699a1['attributes']=_0x1699a1[_0x90c1('0x35')][_0x90c1('0x36')]?_0x1699a1[_0x90c1('0x35')]:_0x4175d1[_0x90c1('0x30')];if(_0x2cd0fa['query'][_0x90c1('0x45')]){_0x1699a1[_0x90c1('0x41')]=[{'all':!![]}];}_0x1699a1=_['merge']({},_0x1699a1,_0x2cd0fa[_0x90c1('0x46')]);return db[_0x90c1('0x40')][_0x90c1('0x47')](_0x1699a1)[_0x90c1('0x24')](handleEntityNotFound(_0x118104,null))[_0x90c1('0x24')](respondWithResult(_0x118104,null))['catch'](handleError(_0x118104,null));};exports[_0x90c1('0x48')]=function(_0x4bde8e,_0x304011){return db['WhatsappApplication'][_0x90c1('0x48')](_0x4bde8e[_0x90c1('0x49')],{})[_0x90c1('0x24')](respondWithResult(_0x304011,0xc9))[_0x90c1('0x4a')](handleError(_0x304011,null));};exports[_0x90c1('0x4b')]=function(_0x3aa812,_0x1d00e4){if(_0x3aa812[_0x90c1('0x49')]['id']){delete _0x3aa812[_0x90c1('0x49')]['id'];}return db['WhatsappApplication'][_0x90c1('0x47')]({'where':{'id':_0x3aa812['params']['id']}})[_0x90c1('0x24')](handleEntityNotFound(_0x1d00e4,null))[_0x90c1('0x24')](saveUpdates(_0x3aa812[_0x90c1('0x49')],null))[_0x90c1('0x24')](respondWithResult(_0x1d00e4,null))[_0x90c1('0x4a')](handleError(_0x1d00e4,null));};exports[_0x90c1('0x25')]=function(_0x201674,_0x177a53){return db[_0x90c1('0x40')][_0x90c1('0x47')]({'where':{'id':_0x201674[_0x90c1('0x44')]['id']}})['then'](handleEntityNotFound(_0x177a53,null))[_0x90c1('0x24')](removeEntity(_0x177a53,null))[_0x90c1('0x4a')](handleError(_0x177a53,null));};