Built motion from commit 753c950e.|2.5.42
[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 _0x13c5=['crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','sendStatus','status','json','offset','undefined','limit','Content-Range','apply','reject','update','then','stack','name','send','rawAttributes','fieldName','type','key','map','query','keys','filters','intersection','attributes','model','fields','hasOwnProperty','nolimit','order','where','VIRTUAL','options','WhatsappApplication','count','includeAll','include','findAll','rows','show','params','length','merge','find','catch','create','body','destroy','eml-format','mustache','sox','to-csv','ejs','fs-extra'];(function(_0x244256,_0x2fc305){var _0x18de00=function(_0x3f8555){while(--_0x3f8555){_0x244256['push'](_0x244256['shift']());}};_0x18de00(++_0x2fc305);}(_0x13c5,0x7a));var _0x513c=function(_0x1af276,_0x38078f){_0x1af276=_0x1af276-0x0;var _0x5df8c9=_0x13c5[_0x1af276];return _0x5df8c9;};'use strict';var emlformat=require(_0x513c('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x513c('0x1'));var util=require('util');var path=require('path');var sox=require(_0x513c('0x2'));var csv=require(_0x513c('0x3'));var ejs=require(_0x513c('0x4'));var fs=require('fs');var fs_extra=require(_0x513c('0x5'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x513c('0x6'));var jsforce=require(_0x513c('0x7'));var deskjs=require(_0x513c('0x8'));var toCsv=require(_0x513c('0x3'));var querystring=require(_0x513c('0x9'));var Papa=require(_0x513c('0xa'));var Redis=require(_0x513c('0xb'));var authService=require(_0x513c('0xc'));var qs=require('../../components/parsers/qs');var as=require(_0x513c('0xd'));var hardwareService=require(_0x513c('0xe'));var logger=require('../../config/logger')('api');var utils=require(_0x513c('0xf'));var config=require(_0x513c('0x10'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4d8274,_0xae7c0d){_0xae7c0d=_0xae7c0d||0xcc;return function(_0x4b4661){if(_0x4b4661){return _0x4d8274[_0x513c('0x11')](_0xae7c0d);}return _0x4d8274[_0x513c('0x12')](_0xae7c0d)['end']();};}function respondWithResult(_0x1f7f70,_0xe3bae8){_0xe3bae8=_0xe3bae8||0xc8;return function(_0x29fa69){if(_0x29fa69){return _0x1f7f70[_0x513c('0x12')](_0xe3bae8)[_0x513c('0x13')](_0x29fa69);}};}function respondWithFilteredResult(_0x57f359,_0x31cad0){return function(_0x592bbb){if(_0x592bbb){var _0x242311=typeof _0x31cad0[_0x513c('0x14')]===_0x513c('0x15')&&typeof _0x31cad0[_0x513c('0x16')]==='undefined';var _0x48abf0=_0x592bbb['count'];var _0x100bc7=_0x242311?0x0:_0x31cad0[_0x513c('0x14')];var _0x51196d=_0x242311?_0x592bbb['count']:_0x31cad0[_0x513c('0x14')]+_0x31cad0[_0x513c('0x16')];var _0x3c4ab;if(_0x51196d>=_0x48abf0){_0x51196d=_0x48abf0;_0x3c4ab=0xc8;}else{_0x3c4ab=0xce;}_0x57f359[_0x513c('0x12')](_0x3c4ab);return _0x57f359['set'](_0x513c('0x17'),_0x100bc7+'-'+_0x51196d+'/'+_0x48abf0)[_0x513c('0x13')](_0x592bbb);}return null;};}function patchUpdates(_0x24a9c7){return function(_0x1d547a){try{jsonpatch[_0x513c('0x18')](_0x1d547a,_0x24a9c7,!![]);}catch(_0x52287b){return BPromise[_0x513c('0x19')](_0x52287b);}return _0x1d547a['save']();};}function saveUpdates(_0xea28b3,_0x13cfe1){return function(_0x9dc7ba){if(_0x9dc7ba){return _0x9dc7ba[_0x513c('0x1a')](_0xea28b3)[_0x513c('0x1b')](function(_0x5ac3be){return _0x5ac3be;});}return null;};}function removeEntity(_0x56fd80,_0x23ef79){return function(_0x390f1e){if(_0x390f1e){return _0x390f1e['destroy']()[_0x513c('0x1b')](function(){_0x56fd80[_0x513c('0x12')](0xcc)['end']();});}};}function handleEntityNotFound(_0x206e5b,_0x465522){return function(_0x437ed8){if(!_0x437ed8){_0x206e5b[_0x513c('0x11')](0x194);}return _0x437ed8;};}function handleError(_0xdcc31b,_0x168854){_0x168854=_0x168854||0x1f4;return function(_0x4574e2){logger['error'](_0x4574e2[_0x513c('0x1c')]);if(_0x4574e2[_0x513c('0x1d')]){delete _0x4574e2[_0x513c('0x1d')];}_0xdcc31b[_0x513c('0x12')](_0x168854)[_0x513c('0x1e')](_0x4574e2);};}exports['index']=function(_0xe8acaa,_0x28de12){var _0x3cbe93={},_0x308466={},_0xd2e1db={'count':0x0,'rows':[]};var _0x19a47e=_['map'](db['WhatsappApplication'][_0x513c('0x1f')],function(_0x5d74ea){return{'name':_0x5d74ea[_0x513c('0x20')],'type':_0x5d74ea[_0x513c('0x21')][_0x513c('0x22')]};});_0x308466['model']=_[_0x513c('0x23')](_0x19a47e,_0x513c('0x1d'));_0x308466[_0x513c('0x24')]=_[_0x513c('0x25')](_0xe8acaa['query']);_0x308466[_0x513c('0x26')]=_[_0x513c('0x27')](_0x308466['model'],_0x308466[_0x513c('0x24')]);_0x3cbe93[_0x513c('0x28')]=_['intersection'](_0x308466[_0x513c('0x29')],qs[_0x513c('0x2a')](_0xe8acaa[_0x513c('0x24')][_0x513c('0x2a')]));_0x3cbe93[_0x513c('0x28')]=_0x3cbe93['attributes']['length']?_0x3cbe93[_0x513c('0x28')]:_0x308466['model'];if(!_0xe8acaa[_0x513c('0x24')][_0x513c('0x2b')](_0x513c('0x2c'))){_0x3cbe93[_0x513c('0x16')]=qs[_0x513c('0x16')](_0xe8acaa[_0x513c('0x24')][_0x513c('0x16')]);_0x3cbe93['offset']=qs[_0x513c('0x14')](_0xe8acaa[_0x513c('0x24')][_0x513c('0x14')]);}_0x3cbe93[_0x513c('0x2d')]=qs['sort'](_0xe8acaa[_0x513c('0x24')]['sort']);_0x3cbe93[_0x513c('0x2e')]=qs[_0x513c('0x26')](_['pick'](_0xe8acaa['query'],_0x308466[_0x513c('0x26')]),_0x19a47e);if(_0xe8acaa['query']['filter']){_0x3cbe93[_0x513c('0x2e')]=_['merge'](_0x3cbe93[_0x513c('0x2e')],{'$or':_['map'](_0x19a47e,function(_0x5cfc3b){if(_0x5cfc3b[_0x513c('0x21')]!==_0x513c('0x2f')){var _0x3aee99={};_0x3aee99[_0x5cfc3b['name']]={'$like':'%'+_0xe8acaa[_0x513c('0x24')]['filter']+'%'};return _0x3aee99;}})});}_0x3cbe93=_['merge']({},_0x3cbe93,_0xe8acaa[_0x513c('0x30')]);var _0x2832de={'where':_0x3cbe93['where']};return db[_0x513c('0x31')][_0x513c('0x32')](_0x2832de)[_0x513c('0x1b')](function(_0x57d07f){_0xd2e1db[_0x513c('0x32')]=_0x57d07f;if(_0xe8acaa[_0x513c('0x24')][_0x513c('0x33')]){_0x3cbe93[_0x513c('0x34')]=[{'all':!![]}];}return db[_0x513c('0x31')][_0x513c('0x35')](_0x3cbe93);})['then'](function(_0x2abae5){_0xd2e1db[_0x513c('0x36')]=_0x2abae5;return _0xd2e1db;})[_0x513c('0x1b')](respondWithFilteredResult(_0x28de12,_0x3cbe93))['catch'](handleError(_0x28de12,null));};exports[_0x513c('0x37')]=function(_0x2616b2,_0x32826f){var _0x34f1d8={'raw':!![],'where':{'id':_0x2616b2[_0x513c('0x38')]['id']}},_0x3a7c40={};_0x3a7c40['model']=_[_0x513c('0x25')](db[_0x513c('0x31')][_0x513c('0x1f')]);_0x3a7c40['query']=_[_0x513c('0x25')](_0x2616b2[_0x513c('0x24')]);_0x3a7c40[_0x513c('0x26')]=_[_0x513c('0x27')](_0x3a7c40[_0x513c('0x29')],_0x3a7c40[_0x513c('0x24')]);_0x34f1d8['attributes']=_[_0x513c('0x27')](_0x3a7c40[_0x513c('0x29')],qs[_0x513c('0x2a')](_0x2616b2[_0x513c('0x24')][_0x513c('0x2a')]));_0x34f1d8[_0x513c('0x28')]=_0x34f1d8[_0x513c('0x28')][_0x513c('0x39')]?_0x34f1d8[_0x513c('0x28')]:_0x3a7c40['model'];if(_0x2616b2['query']['includeAll']){_0x34f1d8[_0x513c('0x34')]=[{'all':!![]}];}_0x34f1d8=_[_0x513c('0x3a')]({},_0x34f1d8,_0x2616b2[_0x513c('0x30')]);return db['WhatsappApplication'][_0x513c('0x3b')](_0x34f1d8)[_0x513c('0x1b')](handleEntityNotFound(_0x32826f,null))[_0x513c('0x1b')](respondWithResult(_0x32826f,null))[_0x513c('0x3c')](handleError(_0x32826f,null));};exports[_0x513c('0x3d')]=function(_0x163baf,_0x2314e5){return db[_0x513c('0x31')]['create'](_0x163baf[_0x513c('0x3e')],{})[_0x513c('0x1b')](respondWithResult(_0x2314e5,0xc9))[_0x513c('0x3c')](handleError(_0x2314e5,null));};exports[_0x513c('0x1a')]=function(_0x3c5f1f,_0x303e27){if(_0x3c5f1f[_0x513c('0x3e')]['id']){delete _0x3c5f1f['body']['id'];}return db[_0x513c('0x31')][_0x513c('0x3b')]({'where':{'id':_0x3c5f1f['params']['id']}})['then'](handleEntityNotFound(_0x303e27,null))[_0x513c('0x1b')](saveUpdates(_0x3c5f1f[_0x513c('0x3e')],null))[_0x513c('0x1b')](respondWithResult(_0x303e27,null))[_0x513c('0x3c')](handleError(_0x303e27,null));};exports[_0x513c('0x3f')]=function(_0x42cf66,_0x2d129c){return db[_0x513c('0x31')][_0x513c('0x3b')]({'where':{'id':_0x42cf66[_0x513c('0x38')]['id']}})['then'](handleEntityNotFound(_0x2d129c,null))[_0x513c('0x1b')](removeEntity(_0x2d129c,null))[_0x513c('0x3c')](handleError(_0x2d129c,null));};