Built motion from commit 6362bb75.|2.6.13
[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 _0x9f37=['rimraf','fast-json-patch','bluebird','mustache','util','sox','to-csv','lodash','squel','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../mysqldb','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','update','then','sendStatus','error','name','send','index','map','WhatsappApplication','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','nolimit','sort','pick','filter','merge','VIRTUAL','where','includeAll','findAll','catch','params','length','include','options','create','body','destroy','eml-format'];(function(_0x88cd7b,_0x4c884c){var _0x56fcc8=function(_0x513b3d){while(--_0x513b3d){_0x88cd7b['push'](_0x88cd7b['shift']());}};_0x56fcc8(++_0x4c884c);}(_0x9f37,0xd1));var _0x79f3=function(_0x126558,_0x143c9a){_0x126558=_0x126558-0x0;var _0x1f6d14=_0x9f37[_0x126558];return _0x1f6d14;};'use strict';var emlformat=require(_0x79f3('0x0'));var rimraf=require(_0x79f3('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x79f3('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x79f3('0x3'));var Mustache=require(_0x79f3('0x4'));var util=require(_0x79f3('0x5'));var path=require('path');var sox=require(_0x79f3('0x6'));var csv=require(_0x79f3('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x79f3('0x8'));var squel=require(_0x79f3('0x9'));var crypto=require(_0x79f3('0xa'));var jsforce=require(_0x79f3('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x79f3('0x7'));var querystring=require(_0x79f3('0xc'));var Papa=require('papaparse');var Redis=require(_0x79f3('0xd'));var authService=require(_0x79f3('0xe'));var qs=require(_0x79f3('0xf'));var as=require(_0x79f3('0x10'));var hardwareService=require(_0x79f3('0x11'));var logger=require('../../config/logger')(_0x79f3('0x12'));var utils=require(_0x79f3('0x13'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x79f3('0x14'))['db'];function respondWithStatusCode(_0x38e912,_0x2cd9fd){_0x2cd9fd=_0x2cd9fd||0xcc;return function(_0xd64569){if(_0xd64569){return _0x38e912['sendStatus'](_0x2cd9fd);}return _0x38e912[_0x79f3('0x15')](_0x2cd9fd)[_0x79f3('0x16')]();};}function respondWithResult(_0x1503ee,_0xf1b9c3){_0xf1b9c3=_0xf1b9c3||0xc8;return function(_0x84df8b){if(_0x84df8b){return _0x1503ee[_0x79f3('0x15')](_0xf1b9c3)['json'](_0x84df8b);}};}function respondWithFilteredResult(_0x5764d4,_0x39c0bb){return function(_0x7bf340){if(_0x7bf340){var _0x5268ed=typeof _0x39c0bb[_0x79f3('0x17')]===_0x79f3('0x18')&&typeof _0x39c0bb[_0x79f3('0x19')]===_0x79f3('0x18');var _0x51685f=_0x7bf340[_0x79f3('0x1a')];var _0x897f98=_0x5268ed?0x0:_0x39c0bb[_0x79f3('0x17')];var _0x331b30=_0x5268ed?_0x7bf340[_0x79f3('0x1a')]:_0x39c0bb[_0x79f3('0x17')]+_0x39c0bb[_0x79f3('0x19')];var _0x4064b5;if(_0x331b30>=_0x51685f){_0x331b30=_0x51685f;_0x4064b5=0xc8;}else{_0x4064b5=0xce;}_0x5764d4[_0x79f3('0x15')](_0x4064b5);return _0x5764d4[_0x79f3('0x1b')](_0x79f3('0x1c'),_0x897f98+'-'+_0x331b30+'/'+_0x51685f)[_0x79f3('0x1d')](_0x7bf340);}return null;};}function patchUpdates(_0x1d150e){return function(_0x2eb1e0){try{jsonpatch[_0x79f3('0x1e')](_0x2eb1e0,_0x1d150e,!![]);}catch(_0xb2a79e){return BPromise[_0x79f3('0x1f')](_0xb2a79e);}return _0x2eb1e0[_0x79f3('0x20')]();};}function saveUpdates(_0x38ddc1,_0x316f68){return function(_0x274c29){if(_0x274c29){return _0x274c29[_0x79f3('0x21')](_0x38ddc1)[_0x79f3('0x22')](function(_0x36da47){return _0x36da47;});}return null;};}function removeEntity(_0x1200ec,_0x4cd379){return function(_0xc2122){if(_0xc2122){return _0xc2122['destroy']()[_0x79f3('0x22')](function(){_0x1200ec[_0x79f3('0x15')](0xcc)[_0x79f3('0x16')]();});}};}function handleEntityNotFound(_0x595846,_0x4a9518){return function(_0x1e8010){if(!_0x1e8010){_0x595846[_0x79f3('0x23')](0x194);}return _0x1e8010;};}function handleError(_0x6975d8,_0x2e0bcb){_0x2e0bcb=_0x2e0bcb||0x1f4;return function(_0x1a377f){logger[_0x79f3('0x24')](_0x1a377f['stack']);if(_0x1a377f[_0x79f3('0x25')]){delete _0x1a377f[_0x79f3('0x25')];}_0x6975d8['status'](_0x2e0bcb)[_0x79f3('0x26')](_0x1a377f);};}exports[_0x79f3('0x27')]=function(_0x39ab86,_0x4c3c11){var _0x4b0670={},_0xe9d3d1={},_0x1a3194={'count':0x0,'rows':[]};var _0x1cb0c5=_[_0x79f3('0x28')](db[_0x79f3('0x29')][_0x79f3('0x2a')],function(_0x3db9cd){return{'name':_0x3db9cd[_0x79f3('0x2b')],'type':_0x3db9cd[_0x79f3('0x2c')][_0x79f3('0x2d')]};});_0xe9d3d1[_0x79f3('0x2e')]=_[_0x79f3('0x28')](_0x1cb0c5,_0x79f3('0x25'));_0xe9d3d1[_0x79f3('0x2f')]=_[_0x79f3('0x30')](_0x39ab86[_0x79f3('0x2f')]);_0xe9d3d1[_0x79f3('0x31')]=_[_0x79f3('0x32')](_0xe9d3d1[_0x79f3('0x2e')],_0xe9d3d1[_0x79f3('0x2f')]);_0x4b0670[_0x79f3('0x33')]=_['intersection'](_0xe9d3d1['model'],qs[_0x79f3('0x34')](_0x39ab86['query'][_0x79f3('0x34')]));_0x4b0670[_0x79f3('0x33')]=_0x4b0670[_0x79f3('0x33')]['length']?_0x4b0670[_0x79f3('0x33')]:_0xe9d3d1[_0x79f3('0x2e')];if(!_0x39ab86[_0x79f3('0x2f')]['hasOwnProperty'](_0x79f3('0x35'))){_0x4b0670['limit']=qs[_0x79f3('0x19')](_0x39ab86['query'][_0x79f3('0x19')]);_0x4b0670[_0x79f3('0x17')]=qs[_0x79f3('0x17')](_0x39ab86[_0x79f3('0x2f')][_0x79f3('0x17')]);}_0x4b0670['order']=qs[_0x79f3('0x36')](_0x39ab86[_0x79f3('0x2f')][_0x79f3('0x36')]);_0x4b0670['where']=qs['filters'](_[_0x79f3('0x37')](_0x39ab86[_0x79f3('0x2f')],_0xe9d3d1['filters']),_0x1cb0c5);if(_0x39ab86[_0x79f3('0x2f')][_0x79f3('0x38')]){_0x4b0670['where']=_[_0x79f3('0x39')](_0x4b0670['where'],{'$or':_[_0x79f3('0x28')](_0x1cb0c5,function(_0x35f16b){if(_0x35f16b[_0x79f3('0x2c')]!==_0x79f3('0x3a')){var _0x552ae6={};_0x552ae6[_0x35f16b[_0x79f3('0x25')]]={'$like':'%'+_0x39ab86['query'][_0x79f3('0x38')]+'%'};return _0x552ae6;}})});}_0x4b0670=_[_0x79f3('0x39')]({},_0x4b0670,_0x39ab86['options']);var _0x460535={'where':_0x4b0670[_0x79f3('0x3b')]};return db['WhatsappApplication'][_0x79f3('0x1a')](_0x460535)[_0x79f3('0x22')](function(_0x34ce49){_0x1a3194[_0x79f3('0x1a')]=_0x34ce49;if(_0x39ab86[_0x79f3('0x2f')][_0x79f3('0x3c')]){_0x4b0670['include']=[{'all':!![]}];}return db[_0x79f3('0x29')][_0x79f3('0x3d')](_0x4b0670);})[_0x79f3('0x22')](function(_0x1dc223){_0x1a3194['rows']=_0x1dc223;return _0x1a3194;})['then'](respondWithFilteredResult(_0x4c3c11,_0x4b0670))[_0x79f3('0x3e')](handleError(_0x4c3c11,null));};exports['show']=function(_0x20b0e0,_0x3c8181){var _0x19ac6f={'raw':!![],'where':{'id':_0x20b0e0[_0x79f3('0x3f')]['id']}},_0x39d473={};_0x39d473[_0x79f3('0x2e')]=_['keys'](db[_0x79f3('0x29')][_0x79f3('0x2a')]);_0x39d473['query']=_[_0x79f3('0x30')](_0x20b0e0['query']);_0x39d473[_0x79f3('0x31')]=_[_0x79f3('0x32')](_0x39d473['model'],_0x39d473[_0x79f3('0x2f')]);_0x19ac6f[_0x79f3('0x33')]=_[_0x79f3('0x32')](_0x39d473[_0x79f3('0x2e')],qs[_0x79f3('0x34')](_0x20b0e0[_0x79f3('0x2f')][_0x79f3('0x34')]));_0x19ac6f['attributes']=_0x19ac6f[_0x79f3('0x33')][_0x79f3('0x40')]?_0x19ac6f['attributes']:_0x39d473[_0x79f3('0x2e')];if(_0x20b0e0[_0x79f3('0x2f')][_0x79f3('0x3c')]){_0x19ac6f[_0x79f3('0x41')]=[{'all':!![]}];}_0x19ac6f=_[_0x79f3('0x39')]({},_0x19ac6f,_0x20b0e0[_0x79f3('0x42')]);return db[_0x79f3('0x29')]['find'](_0x19ac6f)[_0x79f3('0x22')](handleEntityNotFound(_0x3c8181,null))['then'](respondWithResult(_0x3c8181,null))[_0x79f3('0x3e')](handleError(_0x3c8181,null));};exports[_0x79f3('0x43')]=function(_0x148ed0,_0x1a75f9){return db[_0x79f3('0x29')][_0x79f3('0x43')](_0x148ed0[_0x79f3('0x44')],{})[_0x79f3('0x22')](respondWithResult(_0x1a75f9,0xc9))[_0x79f3('0x3e')](handleError(_0x1a75f9,null));};exports[_0x79f3('0x21')]=function(_0x3797fb,_0x51a6ae){if(_0x3797fb[_0x79f3('0x44')]['id']){delete _0x3797fb[_0x79f3('0x44')]['id'];}return db[_0x79f3('0x29')]['find']({'where':{'id':_0x3797fb[_0x79f3('0x3f')]['id']}})[_0x79f3('0x22')](handleEntityNotFound(_0x51a6ae,null))[_0x79f3('0x22')](saveUpdates(_0x3797fb[_0x79f3('0x44')],null))[_0x79f3('0x22')](respondWithResult(_0x51a6ae,null))[_0x79f3('0x3e')](handleError(_0x51a6ae,null));};exports[_0x79f3('0x45')]=function(_0x42b99b,_0x98098c){return db[_0x79f3('0x29')]['find']({'where':{'id':_0x42b99b[_0x79f3('0x3f')]['id']}})[_0x79f3('0x22')](handleEntityNotFound(_0x98098c,null))[_0x79f3('0x22')](removeEntity(_0x98098c,null))[_0x79f3('0x3e')](handleError(_0x98098c,null));};