9ea25b98127deb639a163b6bfc4aa0888ccf2d03
[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 _0xf7b6=['bluebird','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','then','destroy','error','stack','name','send','index','rawAttributes','fieldName','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','map','type','VIRTUAL','options','WhatsappApplication','findAll','catch','show','params','includeAll','include','find','create','body','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment'];(function(_0x50de89,_0x3b695a){var _0x119c44=function(_0x49e152){while(--_0x49e152){_0x50de89['push'](_0x50de89['shift']());}};_0x119c44(++_0x3b695a);}(_0xf7b6,0x184));var _0x6f7b=function(_0x1facfa,_0x1acf7d){_0x1facfa=_0x1facfa-0x0;var _0x9ec701=_0xf7b6[_0x1facfa];return _0x9ec701;};'use strict';var pdf=require(_0x6f7b('0x0'));var emlformat=require(_0x6f7b('0x1'));var rimraf=require(_0x6f7b('0x2'));var zipdir=require(_0x6f7b('0x3'));var jsonpatch=require(_0x6f7b('0x4'));var rp=require(_0x6f7b('0x5'));var moment=require(_0x6f7b('0x6'));var BPromise=require(_0x6f7b('0x7'));var Mustache=require('mustache');var util=require(_0x6f7b('0x8'));var path=require('path');var sox=require(_0x6f7b('0x9'));var csv=require(_0x6f7b('0xa'));var ejs=require(_0x6f7b('0xb'));var fs=require('fs');var _=require(_0x6f7b('0xc'));var squel=require(_0x6f7b('0xd'));var crypto=require(_0x6f7b('0xe'));var jsforce=require(_0x6f7b('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x6f7b('0xa'));var querystring=require(_0x6f7b('0x10'));var Papa=require(_0x6f7b('0x11'));var Redis=require(_0x6f7b('0x12'));var authService=require(_0x6f7b('0x13'));var qs=require(_0x6f7b('0x14'));var as=require(_0x6f7b('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x6f7b('0x16'))(_0x6f7b('0x17'));var utils=require(_0x6f7b('0x18'));var config=require(_0x6f7b('0x19'));var licenseUtil=require(_0x6f7b('0x1a'));var db=require(_0x6f7b('0x1b'))['db'];function respondWithStatusCode(_0x917730,_0x500ea6){_0x500ea6=_0x500ea6||0xcc;return function(_0x386e16){if(_0x386e16){return _0x917730[_0x6f7b('0x1c')](_0x500ea6);}return _0x917730[_0x6f7b('0x1d')](_0x500ea6)[_0x6f7b('0x1e')]();};}function respondWithResult(_0x3683ac,_0x193e8c){_0x193e8c=_0x193e8c||0xc8;return function(_0x455562){if(_0x455562){return _0x3683ac[_0x6f7b('0x1d')](_0x193e8c)[_0x6f7b('0x1f')](_0x455562);}};}function respondWithFilteredResult(_0xce6b55,_0x2149c3){return function(_0x5069d2){if(_0x5069d2){var _0x32b247=_0x5069d2[_0x6f7b('0x20')],_0x36da08=_0x2149c3['offset'],_0x4a0fae=_0x2149c3[_0x6f7b('0x21')]+_0x2149c3[_0x6f7b('0x22')],_0x7062d0;if(_0x4a0fae>=_0x32b247){_0x4a0fae=_0x32b247;_0x7062d0=0xc8;}else{_0x7062d0=0xce;}_0xce6b55[_0x6f7b('0x1d')](_0x7062d0);return _0xce6b55[_0x6f7b('0x23')](_0x6f7b('0x24'),_0x36da08+'-'+_0x4a0fae+'/'+_0x32b247)[_0x6f7b('0x1f')](_0x5069d2);}return null;};}function patchUpdates(_0x42b5b1){return function(_0x24f3b2){try{jsonpatch[_0x6f7b('0x25')](_0x24f3b2,_0x42b5b1,!![]);}catch(_0x4470fa){return BPromise[_0x6f7b('0x26')](_0x4470fa);}return _0x24f3b2[_0x6f7b('0x27')]();};}function saveUpdates(_0x4efffc,_0x4472a7){return function(_0xe6e2b1){if(_0xe6e2b1){return _0xe6e2b1['update'](_0x4efffc)[_0x6f7b('0x28')](function(_0x619891){return _0x619891;});}return null;};}function removeEntity(_0x364b54,_0x2f4a3d){return function(_0x3c62b8){if(_0x3c62b8){return _0x3c62b8[_0x6f7b('0x29')]()['then'](function(){_0x364b54[_0x6f7b('0x1d')](0xcc)[_0x6f7b('0x1e')]();});}};}function handleEntityNotFound(_0x57c903,_0xf04424){return function(_0x445ddb){if(!_0x445ddb){_0x57c903[_0x6f7b('0x1c')](0x194);}return _0x445ddb;};}function handleError(_0xd9ac54,_0x39dbb9){_0x39dbb9=_0x39dbb9||0x1f4;return function(_0x4b9242){logger[_0x6f7b('0x2a')](_0x4b9242[_0x6f7b('0x2b')]);if(_0x4b9242[_0x6f7b('0x2c')]){delete _0x4b9242[_0x6f7b('0x2c')];}_0xd9ac54[_0x6f7b('0x1d')](_0x39dbb9)[_0x6f7b('0x2d')](_0x4b9242);};}exports[_0x6f7b('0x2e')]=function(_0x1cf458,_0x38ef1a){var _0x4f21f5={},_0x1f66a1={},_0x3bfc40={'count':0x0,'rows':[]};var _0x720a92=_['map'](db['WhatsappApplication'][_0x6f7b('0x2f')],function(_0x12c0fe){return{'name':_0x12c0fe[_0x6f7b('0x30')],'type':_0x12c0fe['type'][_0x6f7b('0x31')]};});_0x1f66a1[_0x6f7b('0x32')]=_['map'](_0x720a92,_0x6f7b('0x2c'));_0x1f66a1[_0x6f7b('0x33')]=_[_0x6f7b('0x34')](_0x1cf458[_0x6f7b('0x33')]);_0x1f66a1['filters']=_[_0x6f7b('0x35')](_0x1f66a1['model'],_0x1f66a1[_0x6f7b('0x33')]);_0x4f21f5[_0x6f7b('0x36')]=_[_0x6f7b('0x35')](_0x1f66a1['model'],qs[_0x6f7b('0x37')](_0x1cf458[_0x6f7b('0x33')]['fields']));_0x4f21f5[_0x6f7b('0x36')]=_0x4f21f5[_0x6f7b('0x36')][_0x6f7b('0x38')]?_0x4f21f5[_0x6f7b('0x36')]:_0x1f66a1[_0x6f7b('0x32')];if(!_0x1cf458[_0x6f7b('0x33')][_0x6f7b('0x39')](_0x6f7b('0x3a'))){_0x4f21f5[_0x6f7b('0x22')]=qs[_0x6f7b('0x22')](_0x1cf458[_0x6f7b('0x33')][_0x6f7b('0x22')]);_0x4f21f5[_0x6f7b('0x21')]=qs[_0x6f7b('0x21')](_0x1cf458[_0x6f7b('0x33')][_0x6f7b('0x21')]);}_0x4f21f5[_0x6f7b('0x3b')]=qs[_0x6f7b('0x3c')](_0x1cf458[_0x6f7b('0x33')]['sort']);_0x4f21f5[_0x6f7b('0x3d')]=qs[_0x6f7b('0x3e')](_['pick'](_0x1cf458[_0x6f7b('0x33')],_0x1f66a1['filters']),_0x720a92);if(_0x1cf458['query'][_0x6f7b('0x3f')]){_0x4f21f5['where']=_[_0x6f7b('0x40')](_0x4f21f5[_0x6f7b('0x3d')],{'$or':_[_0x6f7b('0x41')](_0x720a92,function(_0x9e4aa2){if(_0x9e4aa2[_0x6f7b('0x42')]!==_0x6f7b('0x43')){var _0x40a86c={};_0x40a86c[_0x9e4aa2['name']]={'$like':'%'+_0x1cf458[_0x6f7b('0x33')][_0x6f7b('0x3f')]+'%'};return _0x40a86c;}})});}_0x4f21f5=_[_0x6f7b('0x40')]({},_0x4f21f5,_0x1cf458[_0x6f7b('0x44')]);var _0x37afa8={'where':_0x4f21f5[_0x6f7b('0x3d')]};return db[_0x6f7b('0x45')][_0x6f7b('0x20')](_0x37afa8)['then'](function(_0x449468){_0x3bfc40['count']=_0x449468;if(_0x1cf458['query']['includeAll']){_0x4f21f5['include']=[{'all':!![]}];}return db[_0x6f7b('0x45')][_0x6f7b('0x46')](_0x4f21f5);})[_0x6f7b('0x28')](function(_0x51d0e6){_0x3bfc40['rows']=_0x51d0e6;return _0x3bfc40;})['then'](respondWithFilteredResult(_0x38ef1a,_0x4f21f5))[_0x6f7b('0x47')](handleError(_0x38ef1a,null));};exports[_0x6f7b('0x48')]=function(_0x5acccc,_0x36c654){var _0x11bfc5={'raw':!![],'where':{'id':_0x5acccc[_0x6f7b('0x49')]['id']}},_0x44a0bd={};_0x44a0bd[_0x6f7b('0x32')]=_['keys'](db[_0x6f7b('0x45')][_0x6f7b('0x2f')]);_0x44a0bd[_0x6f7b('0x33')]=_[_0x6f7b('0x34')](_0x5acccc[_0x6f7b('0x33')]);_0x44a0bd[_0x6f7b('0x3e')]=_[_0x6f7b('0x35')](_0x44a0bd[_0x6f7b('0x32')],_0x44a0bd[_0x6f7b('0x33')]);_0x11bfc5['attributes']=_[_0x6f7b('0x35')](_0x44a0bd[_0x6f7b('0x32')],qs['fields'](_0x5acccc[_0x6f7b('0x33')][_0x6f7b('0x37')]));_0x11bfc5['attributes']=_0x11bfc5[_0x6f7b('0x36')][_0x6f7b('0x38')]?_0x11bfc5['attributes']:_0x44a0bd['model'];if(_0x5acccc[_0x6f7b('0x33')][_0x6f7b('0x4a')]){_0x11bfc5[_0x6f7b('0x4b')]=[{'all':!![]}];}_0x11bfc5=_[_0x6f7b('0x40')]({},_0x11bfc5,_0x5acccc[_0x6f7b('0x44')]);return db[_0x6f7b('0x45')][_0x6f7b('0x4c')](_0x11bfc5)['then'](handleEntityNotFound(_0x36c654,null))[_0x6f7b('0x28')](respondWithResult(_0x36c654,null))[_0x6f7b('0x47')](handleError(_0x36c654,null));};exports[_0x6f7b('0x4d')]=function(_0x6ffd3c,_0x2ec3f9){return db[_0x6f7b('0x45')][_0x6f7b('0x4d')](_0x6ffd3c[_0x6f7b('0x4e')],{})[_0x6f7b('0x28')](respondWithResult(_0x2ec3f9,0xc9))[_0x6f7b('0x47')](handleError(_0x2ec3f9,null));};exports['update']=function(_0x2e4fac,_0x119e51){if(_0x2e4fac['body']['id']){delete _0x2e4fac['body']['id'];}return db['WhatsappApplication'][_0x6f7b('0x4c')]({'where':{'id':_0x2e4fac[_0x6f7b('0x49')]['id']}})[_0x6f7b('0x28')](handleEntityNotFound(_0x119e51,null))[_0x6f7b('0x28')](saveUpdates(_0x2e4fac['body'],null))['then'](respondWithResult(_0x119e51,null))[_0x6f7b('0x47')](handleError(_0x119e51,null));};exports['destroy']=function(_0x17b143,_0x1fe88e){return db[_0x6f7b('0x45')]['find']({'where':{'id':_0x17b143['params']['id']}})['then'](handleEntityNotFound(_0x1fe88e,null))['then'](removeEntity(_0x1fe88e,null))[_0x6f7b('0x47')](handleError(_0x1fe88e,null));};