Built motion from commit 97153652.|2.6.26
[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 _0xcac2=['includeAll','include','findAll','rows','show','params','length','options','find','catch','create','body','eml-format','rimraf','zip-dir','request-promise','moment','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','count','limit','set','Content-Range','apply','update','destroy','then','end','error','name','send','map','WhatsappApplication','fieldName','type','key','model','keys','query','filters','attributes','intersection','fields','order','sort','where','pick','merge','VIRTUAL','filter'];(function(_0x38199d,_0x4730f1){var _0x5bd08c=function(_0x17d9a5){while(--_0x17d9a5){_0x38199d['push'](_0x38199d['shift']());}};_0x5bd08c(++_0x4730f1);}(_0xcac2,0x1e8));var _0x2cac=function(_0x4aea0d,_0x204799){_0x4aea0d=_0x4aea0d-0x0;var _0x51c8ee=_0xcac2[_0x4aea0d];return _0x51c8ee;};'use strict';var emlformat=require(_0x2cac('0x0'));var rimraf=require(_0x2cac('0x1'));var zipdir=require(_0x2cac('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x2cac('0x3'));var moment=require(_0x2cac('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x2cac('0x5'));var csv=require(_0x2cac('0x6'));var ejs=require(_0x2cac('0x7'));var fs=require('fs');var fs_extra=require(_0x2cac('0x8'));var _=require(_0x2cac('0x9'));var squel=require(_0x2cac('0xa'));var crypto=require(_0x2cac('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x2cac('0x6'));var querystring=require('querystring');var Papa=require(_0x2cac('0xc'));var Redis=require(_0x2cac('0xd'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x2cac('0xe'));var hardwareService=require(_0x2cac('0xf'));var logger=require('../../config/logger')(_0x2cac('0x10'));var utils=require('../../config/utils');var config=require(_0x2cac('0x11'));var licenseUtil=require(_0x2cac('0x12'));var db=require(_0x2cac('0x13'))['db'];function respondWithStatusCode(_0x1ccf7b,_0x2b5975){_0x2b5975=_0x2b5975||0xcc;return function(_0x58aad7){if(_0x58aad7){return _0x1ccf7b[_0x2cac('0x14')](_0x2b5975);}return _0x1ccf7b[_0x2cac('0x15')](_0x2b5975)['end']();};}function respondWithResult(_0x440617,_0x302d91){_0x302d91=_0x302d91||0xc8;return function(_0x3c1b1f){if(_0x3c1b1f){return _0x440617['status'](_0x302d91)[_0x2cac('0x16')](_0x3c1b1f);}};}function respondWithFilteredResult(_0x354ab7,_0x3d846b){return function(_0x5e731b){if(_0x5e731b){var _0x46db00=typeof _0x3d846b[_0x2cac('0x17')]===_0x2cac('0x18')&&typeof _0x3d846b['limit']==='undefined';var _0x474b7=_0x5e731b[_0x2cac('0x19')];var _0x1dac01=_0x46db00?0x0:_0x3d846b[_0x2cac('0x17')];var _0x2109af=_0x46db00?_0x5e731b['count']:_0x3d846b[_0x2cac('0x17')]+_0x3d846b[_0x2cac('0x1a')];var _0x397e70;if(_0x2109af>=_0x474b7){_0x2109af=_0x474b7;_0x397e70=0xc8;}else{_0x397e70=0xce;}_0x354ab7[_0x2cac('0x15')](_0x397e70);return _0x354ab7[_0x2cac('0x1b')](_0x2cac('0x1c'),_0x1dac01+'-'+_0x2109af+'/'+_0x474b7)[_0x2cac('0x16')](_0x5e731b);}return null;};}function patchUpdates(_0xd04add){return function(_0x5871af){try{jsonpatch[_0x2cac('0x1d')](_0x5871af,_0xd04add,!![]);}catch(_0x2c082e){return BPromise['reject'](_0x2c082e);}return _0x5871af['save']();};}function saveUpdates(_0x35d99b,_0x53f335){return function(_0xbdb16b){if(_0xbdb16b){return _0xbdb16b[_0x2cac('0x1e')](_0x35d99b)['then'](function(_0x3823e8){return _0x3823e8;});}return null;};}function removeEntity(_0x565f96,_0x43b372){return function(_0x4267cc){if(_0x4267cc){return _0x4267cc[_0x2cac('0x1f')]()[_0x2cac('0x20')](function(){_0x565f96['status'](0xcc)[_0x2cac('0x21')]();});}};}function handleEntityNotFound(_0x1de22c,_0x4652f6){return function(_0xf1b63e){if(!_0xf1b63e){_0x1de22c[_0x2cac('0x14')](0x194);}return _0xf1b63e;};}function handleError(_0x11780c,_0x57979a){_0x57979a=_0x57979a||0x1f4;return function(_0x2c1968){logger[_0x2cac('0x22')](_0x2c1968['stack']);if(_0x2c1968[_0x2cac('0x23')]){delete _0x2c1968['name'];}_0x11780c[_0x2cac('0x15')](_0x57979a)[_0x2cac('0x24')](_0x2c1968);};}exports['index']=function(_0x4898b3,_0x221d72){var _0x3bc6de={},_0x246cef={},_0x4fa50b={'count':0x0,'rows':[]};var _0x1657c5=_[_0x2cac('0x25')](db[_0x2cac('0x26')]['rawAttributes'],function(_0x3584d6){return{'name':_0x3584d6[_0x2cac('0x27')],'type':_0x3584d6[_0x2cac('0x28')][_0x2cac('0x29')]};});_0x246cef[_0x2cac('0x2a')]=_[_0x2cac('0x25')](_0x1657c5,_0x2cac('0x23'));_0x246cef['query']=_[_0x2cac('0x2b')](_0x4898b3[_0x2cac('0x2c')]);_0x246cef[_0x2cac('0x2d')]=_['intersection'](_0x246cef[_0x2cac('0x2a')],_0x246cef[_0x2cac('0x2c')]);_0x3bc6de[_0x2cac('0x2e')]=_[_0x2cac('0x2f')](_0x246cef[_0x2cac('0x2a')],qs[_0x2cac('0x30')](_0x4898b3[_0x2cac('0x2c')][_0x2cac('0x30')]));_0x3bc6de[_0x2cac('0x2e')]=_0x3bc6de['attributes']['length']?_0x3bc6de['attributes']:_0x246cef[_0x2cac('0x2a')];if(!_0x4898b3[_0x2cac('0x2c')]['hasOwnProperty']('nolimit')){_0x3bc6de['limit']=qs['limit'](_0x4898b3['query'][_0x2cac('0x1a')]);_0x3bc6de['offset']=qs[_0x2cac('0x17')](_0x4898b3[_0x2cac('0x2c')][_0x2cac('0x17')]);}_0x3bc6de[_0x2cac('0x31')]=qs[_0x2cac('0x32')](_0x4898b3[_0x2cac('0x2c')][_0x2cac('0x32')]);_0x3bc6de[_0x2cac('0x33')]=qs[_0x2cac('0x2d')](_[_0x2cac('0x34')](_0x4898b3['query'],_0x246cef[_0x2cac('0x2d')]),_0x1657c5);if(_0x4898b3[_0x2cac('0x2c')]['filter']){_0x3bc6de['where']=_[_0x2cac('0x35')](_0x3bc6de[_0x2cac('0x33')],{'$or':_[_0x2cac('0x25')](_0x1657c5,function(_0xbb39f0){if(_0xbb39f0[_0x2cac('0x28')]!==_0x2cac('0x36')){var _0xf67ef0={};_0xf67ef0[_0xbb39f0[_0x2cac('0x23')]]={'$like':'%'+_0x4898b3[_0x2cac('0x2c')][_0x2cac('0x37')]+'%'};return _0xf67ef0;}})});}_0x3bc6de=_['merge']({},_0x3bc6de,_0x4898b3['options']);var _0x2124e1={'where':_0x3bc6de[_0x2cac('0x33')]};return db[_0x2cac('0x26')][_0x2cac('0x19')](_0x2124e1)[_0x2cac('0x20')](function(_0x1645ed){_0x4fa50b[_0x2cac('0x19')]=_0x1645ed;if(_0x4898b3[_0x2cac('0x2c')][_0x2cac('0x38')]){_0x3bc6de[_0x2cac('0x39')]=[{'all':!![]}];}return db['WhatsappApplication'][_0x2cac('0x3a')](_0x3bc6de);})[_0x2cac('0x20')](function(_0x25c9f9){_0x4fa50b[_0x2cac('0x3b')]=_0x25c9f9;return _0x4fa50b;})[_0x2cac('0x20')](respondWithFilteredResult(_0x221d72,_0x3bc6de))['catch'](handleError(_0x221d72,null));};exports[_0x2cac('0x3c')]=function(_0x274814,_0x4c5692){var _0x189367={'raw':!![],'where':{'id':_0x274814[_0x2cac('0x3d')]['id']}},_0x23cdec={};_0x23cdec[_0x2cac('0x2a')]=_[_0x2cac('0x2b')](db[_0x2cac('0x26')]['rawAttributes']);_0x23cdec[_0x2cac('0x2c')]=_[_0x2cac('0x2b')](_0x274814['query']);_0x23cdec[_0x2cac('0x2d')]=_[_0x2cac('0x2f')](_0x23cdec[_0x2cac('0x2a')],_0x23cdec['query']);_0x189367[_0x2cac('0x2e')]=_['intersection'](_0x23cdec['model'],qs['fields'](_0x274814[_0x2cac('0x2c')][_0x2cac('0x30')]));_0x189367['attributes']=_0x189367['attributes'][_0x2cac('0x3e')]?_0x189367[_0x2cac('0x2e')]:_0x23cdec[_0x2cac('0x2a')];if(_0x274814[_0x2cac('0x2c')][_0x2cac('0x38')]){_0x189367['include']=[{'all':!![]}];}_0x189367=_[_0x2cac('0x35')]({},_0x189367,_0x274814[_0x2cac('0x3f')]);return db[_0x2cac('0x26')][_0x2cac('0x40')](_0x189367)['then'](handleEntityNotFound(_0x4c5692,null))[_0x2cac('0x20')](respondWithResult(_0x4c5692,null))[_0x2cac('0x41')](handleError(_0x4c5692,null));};exports[_0x2cac('0x42')]=function(_0x174ab8,_0x26c5be){return db['WhatsappApplication'][_0x2cac('0x42')](_0x174ab8['body'],{})[_0x2cac('0x20')](respondWithResult(_0x26c5be,0xc9))[_0x2cac('0x41')](handleError(_0x26c5be,null));};exports[_0x2cac('0x1e')]=function(_0x108483,_0xd7ad89){if(_0x108483[_0x2cac('0x43')]['id']){delete _0x108483[_0x2cac('0x43')]['id'];}return db[_0x2cac('0x26')][_0x2cac('0x40')]({'where':{'id':_0x108483[_0x2cac('0x3d')]['id']}})[_0x2cac('0x20')](handleEntityNotFound(_0xd7ad89,null))[_0x2cac('0x20')](saveUpdates(_0x108483[_0x2cac('0x43')],null))[_0x2cac('0x20')](respondWithResult(_0xd7ad89,null))[_0x2cac('0x41')](handleError(_0xd7ad89,null));};exports[_0x2cac('0x1f')]=function(_0x28f724,_0x1f9653){return db[_0x2cac('0x26')]['find']({'where':{'id':_0x28f724[_0x2cac('0x3d')]['id']}})[_0x2cac('0x20')](handleEntityNotFound(_0x1f9653,null))[_0x2cac('0x20')](removeEntity(_0x1f9653,null))['catch'](handleError(_0x1f9653,null));};