Built motion from commit (unavailable).|2.5.4
[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 _0x1efa=['sox','to-csv','ejs','squel','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','update','then','error','name','map','WhatsappApplication','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','order','sort','pick','filter','where','merge','options','include','findAll','rows','catch','show','params','length','includeAll','create','body','find','destroy','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','bluebird','util','path'];(function(_0x20ea89,_0x1bfce6){var _0x1f06a8=function(_0xc541ce){while(--_0xc541ce){_0x20ea89['push'](_0x20ea89['shift']());}};_0x1f06a8(++_0x1bfce6);}(_0x1efa,0x10c));var _0xa1ef=function(_0x3fa96e,_0x577a78){_0x3fa96e=_0x3fa96e-0x0;var _0x3067ae=_0x1efa[_0x3fa96e];return _0x3067ae;};'use strict';var pdf=require(_0xa1ef('0x0'));var emlformat=require(_0xa1ef('0x1'));var rimraf=require(_0xa1ef('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa1ef('0x3'));var rp=require(_0xa1ef('0x4'));var moment=require('moment');var BPromise=require(_0xa1ef('0x5'));var Mustache=require('mustache');var util=require(_0xa1ef('0x6'));var path=require(_0xa1ef('0x7'));var sox=require(_0xa1ef('0x8'));var csv=require(_0xa1ef('0x9'));var ejs=require(_0xa1ef('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0xa1ef('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xa1ef('0xc'));var toCsv=require(_0xa1ef('0x9'));var querystring=require(_0xa1ef('0xd'));var Papa=require(_0xa1ef('0xe'));var Redis=require('ioredis');var authService=require(_0xa1ef('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xa1ef('0x10'));var hardwareService=require(_0xa1ef('0x11'));var logger=require(_0xa1ef('0x12'))(_0xa1ef('0x13'));var utils=require(_0xa1ef('0x14'));var config=require(_0xa1ef('0x15'));var db=require(_0xa1ef('0x16'))['db'];function respondWithStatusCode(_0x42afaf,_0x35780b){_0x35780b=_0x35780b||0xcc;return function(_0x35ffc8){if(_0x35ffc8){return _0x42afaf[_0xa1ef('0x17')](_0x35780b);}return _0x42afaf[_0xa1ef('0x18')](_0x35780b)[_0xa1ef('0x19')]();};}function respondWithResult(_0x4e115c,_0xe91a49){_0xe91a49=_0xe91a49||0xc8;return function(_0x29e7c4){if(_0x29e7c4){return _0x4e115c[_0xa1ef('0x18')](_0xe91a49)[_0xa1ef('0x1a')](_0x29e7c4);}};}function respondWithFilteredResult(_0x5dfefd,_0x3d3689){return function(_0x1a8d8e){if(_0x1a8d8e){var _0x6dc80d=_0x1a8d8e[_0xa1ef('0x1b')],_0x246ff5=_0x3d3689['offset'],_0x1f149a=_0x3d3689[_0xa1ef('0x1c')]+_0x3d3689[_0xa1ef('0x1d')],_0x2bec70;if(_0x1f149a>=_0x6dc80d){_0x1f149a=_0x6dc80d;_0x2bec70=0xc8;}else{_0x2bec70=0xce;}_0x5dfefd[_0xa1ef('0x18')](_0x2bec70);return _0x5dfefd[_0xa1ef('0x1e')](_0xa1ef('0x1f'),_0x246ff5+'-'+_0x1f149a+'/'+_0x6dc80d)[_0xa1ef('0x1a')](_0x1a8d8e);}return null;};}function patchUpdates(_0xc2546a){return function(_0x4b5545){try{jsonpatch['apply'](_0x4b5545,_0xc2546a,!![]);}catch(_0x560a6c){return BPromise['reject'](_0x560a6c);}return _0x4b5545['save']();};}function saveUpdates(_0x73c015,_0x8e9a91){return function(_0xc8d2df){if(_0xc8d2df){return _0xc8d2df[_0xa1ef('0x20')](_0x73c015)[_0xa1ef('0x21')](function(_0xf66bb3){return _0xf66bb3;});}return null;};}function removeEntity(_0x123798,_0x57404f){return function(_0x4698b3){if(_0x4698b3){return _0x4698b3['destroy']()['then'](function(){_0x123798[_0xa1ef('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x21466c,_0x12a4e2){return function(_0x886e2f){if(!_0x886e2f){_0x21466c[_0xa1ef('0x17')](0x194);}return _0x886e2f;};}function handleError(_0x4b2452,_0x3c1cdd){_0x3c1cdd=_0x3c1cdd||0x1f4;return function(_0x243b30){logger[_0xa1ef('0x22')](_0x243b30['stack']);if(_0x243b30[_0xa1ef('0x23')]){delete _0x243b30[_0xa1ef('0x23')];}_0x4b2452[_0xa1ef('0x18')](_0x3c1cdd)['send'](_0x243b30);};}exports['index']=function(_0x19526f,_0x5ca5c7){var _0x4bd053={},_0xd16215={},_0x4c8a79={'count':0x0,'rows':[]};var _0x5e3ed1=_[_0xa1ef('0x24')](db[_0xa1ef('0x25')][_0xa1ef('0x26')],function(_0x1e30c7){return{'name':_0x1e30c7[_0xa1ef('0x27')],'type':_0x1e30c7[_0xa1ef('0x28')][_0xa1ef('0x29')]};});_0xd16215[_0xa1ef('0x2a')]=_['map'](_0x5e3ed1,'name');_0xd16215[_0xa1ef('0x2b')]=_[_0xa1ef('0x2c')](_0x19526f[_0xa1ef('0x2b')]);_0xd16215[_0xa1ef('0x2d')]=_[_0xa1ef('0x2e')](_0xd16215[_0xa1ef('0x2a')],_0xd16215[_0xa1ef('0x2b')]);_0x4bd053[_0xa1ef('0x2f')]=_[_0xa1ef('0x2e')](_0xd16215[_0xa1ef('0x2a')],qs[_0xa1ef('0x30')](_0x19526f['query'][_0xa1ef('0x30')]));_0x4bd053[_0xa1ef('0x2f')]=_0x4bd053[_0xa1ef('0x2f')]['length']?_0x4bd053[_0xa1ef('0x2f')]:_0xd16215['model'];if(!_0x19526f[_0xa1ef('0x2b')][_0xa1ef('0x31')]('nolimit')){_0x4bd053[_0xa1ef('0x1d')]=qs[_0xa1ef('0x1d')](_0x19526f[_0xa1ef('0x2b')]['limit']);_0x4bd053['offset']=qs[_0xa1ef('0x1c')](_0x19526f[_0xa1ef('0x2b')][_0xa1ef('0x1c')]);}_0x4bd053[_0xa1ef('0x32')]=qs['sort'](_0x19526f[_0xa1ef('0x2b')][_0xa1ef('0x33')]);_0x4bd053['where']=qs[_0xa1ef('0x2d')](_[_0xa1ef('0x34')](_0x19526f[_0xa1ef('0x2b')],_0xd16215[_0xa1ef('0x2d')]),_0x5e3ed1);if(_0x19526f[_0xa1ef('0x2b')][_0xa1ef('0x35')]){_0x4bd053[_0xa1ef('0x36')]=_[_0xa1ef('0x37')](_0x4bd053[_0xa1ef('0x36')],{'$or':_[_0xa1ef('0x24')](_0x5e3ed1,function(_0x125b98){if(_0x125b98[_0xa1ef('0x28')]!=='VIRTUAL'){var _0x215f20={};_0x215f20[_0x125b98['name']]={'$like':'%'+_0x19526f['query'][_0xa1ef('0x35')]+'%'};return _0x215f20;}})});}_0x4bd053=_[_0xa1ef('0x37')]({},_0x4bd053,_0x19526f[_0xa1ef('0x38')]);var _0x3dbee2={'where':_0x4bd053[_0xa1ef('0x36')]};return db[_0xa1ef('0x25')][_0xa1ef('0x1b')](_0x3dbee2)[_0xa1ef('0x21')](function(_0x2f08e7){_0x4c8a79[_0xa1ef('0x1b')]=_0x2f08e7;if(_0x19526f[_0xa1ef('0x2b')]['includeAll']){_0x4bd053[_0xa1ef('0x39')]=[{'all':!![]}];}return db[_0xa1ef('0x25')][_0xa1ef('0x3a')](_0x4bd053);})[_0xa1ef('0x21')](function(_0x5c6551){_0x4c8a79[_0xa1ef('0x3b')]=_0x5c6551;return _0x4c8a79;})[_0xa1ef('0x21')](respondWithFilteredResult(_0x5ca5c7,_0x4bd053))[_0xa1ef('0x3c')](handleError(_0x5ca5c7,null));};exports[_0xa1ef('0x3d')]=function(_0x1175e6,_0x3ff011){var _0x37b6c2={'raw':!![],'where':{'id':_0x1175e6[_0xa1ef('0x3e')]['id']}},_0x3bbbbf={};_0x3bbbbf[_0xa1ef('0x2a')]=_[_0xa1ef('0x2c')](db[_0xa1ef('0x25')]['rawAttributes']);_0x3bbbbf[_0xa1ef('0x2b')]=_['keys'](_0x1175e6['query']);_0x3bbbbf[_0xa1ef('0x2d')]=_['intersection'](_0x3bbbbf[_0xa1ef('0x2a')],_0x3bbbbf[_0xa1ef('0x2b')]);_0x37b6c2[_0xa1ef('0x2f')]=_[_0xa1ef('0x2e')](_0x3bbbbf[_0xa1ef('0x2a')],qs['fields'](_0x1175e6[_0xa1ef('0x2b')]['fields']));_0x37b6c2['attributes']=_0x37b6c2['attributes'][_0xa1ef('0x3f')]?_0x37b6c2[_0xa1ef('0x2f')]:_0x3bbbbf[_0xa1ef('0x2a')];if(_0x1175e6['query'][_0xa1ef('0x40')]){_0x37b6c2[_0xa1ef('0x39')]=[{'all':!![]}];}_0x37b6c2=_['merge']({},_0x37b6c2,_0x1175e6[_0xa1ef('0x38')]);return db['WhatsappApplication']['find'](_0x37b6c2)[_0xa1ef('0x21')](handleEntityNotFound(_0x3ff011,null))[_0xa1ef('0x21')](respondWithResult(_0x3ff011,null))[_0xa1ef('0x3c')](handleError(_0x3ff011,null));};exports['create']=function(_0x3df2fd,_0x4a0af0){return db['WhatsappApplication'][_0xa1ef('0x41')](_0x3df2fd[_0xa1ef('0x42')],{})[_0xa1ef('0x21')](respondWithResult(_0x4a0af0,0xc9))[_0xa1ef('0x3c')](handleError(_0x4a0af0,null));};exports[_0xa1ef('0x20')]=function(_0x3c9064,_0x6b80b6){if(_0x3c9064[_0xa1ef('0x42')]['id']){delete _0x3c9064['body']['id'];}return db[_0xa1ef('0x25')][_0xa1ef('0x43')]({'where':{'id':_0x3c9064[_0xa1ef('0x3e')]['id']}})['then'](handleEntityNotFound(_0x6b80b6,null))['then'](saveUpdates(_0x3c9064[_0xa1ef('0x42')],null))['then'](respondWithResult(_0x6b80b6,null))[_0xa1ef('0x3c')](handleError(_0x6b80b6,null));};exports[_0xa1ef('0x44')]=function(_0x2c26e3,_0x1a32d2){return db[_0xa1ef('0x25')]['find']({'where':{'id':_0x2c26e3[_0xa1ef('0x3e')]['id']}})[_0xa1ef('0x21')](handleEntityNotFound(_0x1a32d2,null))[_0xa1ef('0x21')](removeEntity(_0x1a32d2,null))[_0xa1ef('0x3c')](handleError(_0x1a32d2,null));};