Built motion from commit (unavailable).|2.5.31
[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 _0x93d5=['then','error','stack','name','send','render','merge','body','contact','message','interaction','account','index','map','WhatsappApplication','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','pick','filter','where','VIRTUAL','options','include','findAll','catch','params','rawAttributes','includeAll','find','update','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/license/util','status','end','json','limit','undefined','count','offset','set','Content-Range','apply','reject','save','destroy'];(function(_0x14d2b7,_0x33e508){var _0x5643aa=function(_0x119a19){while(--_0x119a19){_0x14d2b7['push'](_0x14d2b7['shift']());}};_0x5643aa(++_0x33e508);}(_0x93d5,0xca));var _0x593d=function(_0x2891c1,_0x5896eb){_0x2891c1=_0x2891c1-0x0;var _0x236987=_0x93d5[_0x2891c1];return _0x236987;};'use strict';var emlformat=require(_0x593d('0x0'));var rimraf=require(_0x593d('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x593d('0x2'));var rp=require(_0x593d('0x3'));var moment=require(_0x593d('0x4'));var BPromise=require(_0x593d('0x5'));var Mustache=require(_0x593d('0x6'));var util=require(_0x593d('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0x593d('0x8'));var ejs=require(_0x593d('0x9'));var fs=require('fs');var fs_extra=require(_0x593d('0xa'));var _=require(_0x593d('0xb'));var squel=require(_0x593d('0xc'));var crypto=require(_0x593d('0xd'));var jsforce=require(_0x593d('0xe'));var deskjs=require(_0x593d('0xf'));var toCsv=require('to-csv');var querystring=require(_0x593d('0x10'));var Papa=require(_0x593d('0x11'));var Redis=require(_0x593d('0x12'));var authService=require(_0x593d('0x13'));var qs=require(_0x593d('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x593d('0x15'))(_0x593d('0x16'));var utils=require(_0x593d('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x593d('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x929d85,_0x191c9c){_0x191c9c=_0x191c9c||0xcc;return function(_0x14c017){if(_0x14c017){return _0x929d85['sendStatus'](_0x191c9c);}return _0x929d85[_0x593d('0x19')](_0x191c9c)[_0x593d('0x1a')]();};}function respondWithResult(_0x144472,_0x129f85){_0x129f85=_0x129f85||0xc8;return function(_0x20207c){if(_0x20207c){return _0x144472[_0x593d('0x19')](_0x129f85)[_0x593d('0x1b')](_0x20207c);}};}function respondWithFilteredResult(_0x45f5b1,_0x1ab5f7){return function(_0x63c63e){if(_0x63c63e){var _0x53f4ff=typeof _0x1ab5f7['offset']==='undefined'&&typeof _0x1ab5f7[_0x593d('0x1c')]===_0x593d('0x1d');var _0x368e60=_0x63c63e[_0x593d('0x1e')];var _0x29765e=_0x53f4ff?0x0:_0x1ab5f7[_0x593d('0x1f')];var _0x9badb9=_0x53f4ff?_0x63c63e[_0x593d('0x1e')]:_0x1ab5f7[_0x593d('0x1f')]+_0x1ab5f7['limit'];var _0x11331a;if(_0x9badb9>=_0x368e60){_0x9badb9=_0x368e60;_0x11331a=0xc8;}else{_0x11331a=0xce;}_0x45f5b1[_0x593d('0x19')](_0x11331a);return _0x45f5b1[_0x593d('0x20')](_0x593d('0x21'),_0x29765e+'-'+_0x9badb9+'/'+_0x368e60)[_0x593d('0x1b')](_0x63c63e);}return null;};}function patchUpdates(_0x4791e5){return function(_0x576356){try{jsonpatch[_0x593d('0x22')](_0x576356,_0x4791e5,!![]);}catch(_0x174de0){return BPromise[_0x593d('0x23')](_0x174de0);}return _0x576356[_0x593d('0x24')]();};}function saveUpdates(_0x136cbd,_0x38f296){return function(_0x4cca73){if(_0x4cca73){return _0x4cca73['update'](_0x136cbd)['then'](function(_0x4402ad){return _0x4402ad;});}return null;};}function removeEntity(_0x3bf1ed,_0x2aaee7){return function(_0x313c0d){if(_0x313c0d){return _0x313c0d[_0x593d('0x25')]()[_0x593d('0x26')](function(){_0x3bf1ed[_0x593d('0x19')](0xcc)[_0x593d('0x1a')]();});}};}function handleEntityNotFound(_0x59bb47,_0x21ae88){return function(_0x5ed273){if(!_0x5ed273){_0x59bb47['sendStatus'](0x194);}return _0x5ed273;};}function handleError(_0x1262ce,_0x80b9cc){_0x80b9cc=_0x80b9cc||0x1f4;return function(_0x15aa27){logger[_0x593d('0x27')](_0x15aa27[_0x593d('0x28')]);if(_0x15aa27[_0x593d('0x29')]){delete _0x15aa27['name'];}_0x1262ce[_0x593d('0x19')](_0x80b9cc)[_0x593d('0x2a')](_0x15aa27);};}function getMustacheRender(_0x4e37e8,_0x1c734b){return Mustache[_0x593d('0x2b')](_0x4e37e8,_[_0x593d('0x2c')](_0x1c734b[_0x593d('0x2d')],{'contact':_0x1c734b[_0x593d('0x2e')],'message':_0x1c734b[_0x593d('0x2f')],'agent':_0x1c734b['agent'],'interaction':_0x1c734b[_0x593d('0x30')],'account':_0x1c734b[_0x593d('0x31')]}))||'';}exports[_0x593d('0x32')]=function(_0x1ceb1c,_0x152011){var _0x4952bf={},_0x1fd28c={},_0x44b367={'count':0x0,'rows':[]};var _0x526416=_[_0x593d('0x33')](db[_0x593d('0x34')]['rawAttributes'],function(_0x51a322){return{'name':_0x51a322[_0x593d('0x35')],'type':_0x51a322[_0x593d('0x36')][_0x593d('0x37')]};});_0x1fd28c[_0x593d('0x38')]=_[_0x593d('0x33')](_0x526416,'name');_0x1fd28c[_0x593d('0x39')]=_[_0x593d('0x3a')](_0x1ceb1c[_0x593d('0x39')]);_0x1fd28c[_0x593d('0x3b')]=_[_0x593d('0x3c')](_0x1fd28c['model'],_0x1fd28c['query']);_0x4952bf['attributes']=_['intersection'](_0x1fd28c[_0x593d('0x38')],qs['fields'](_0x1ceb1c[_0x593d('0x39')][_0x593d('0x3d')]));_0x4952bf[_0x593d('0x3e')]=_0x4952bf[_0x593d('0x3e')][_0x593d('0x3f')]?_0x4952bf[_0x593d('0x3e')]:_0x1fd28c[_0x593d('0x38')];if(!_0x1ceb1c['query'][_0x593d('0x40')]('nolimit')){_0x4952bf[_0x593d('0x1c')]=qs[_0x593d('0x1c')](_0x1ceb1c[_0x593d('0x39')][_0x593d('0x1c')]);_0x4952bf[_0x593d('0x1f')]=qs[_0x593d('0x1f')](_0x1ceb1c[_0x593d('0x39')][_0x593d('0x1f')]);}_0x4952bf[_0x593d('0x41')]=qs['sort'](_0x1ceb1c[_0x593d('0x39')][_0x593d('0x42')]);_0x4952bf['where']=qs['filters'](_[_0x593d('0x43')](_0x1ceb1c[_0x593d('0x39')],_0x1fd28c['filters']),_0x526416);if(_0x1ceb1c[_0x593d('0x39')][_0x593d('0x44')]){_0x4952bf['where']=_['merge'](_0x4952bf[_0x593d('0x45')],{'$or':_[_0x593d('0x33')](_0x526416,function(_0x3a3a32){if(_0x3a3a32[_0x593d('0x36')]!==_0x593d('0x46')){var _0x4b347a={};_0x4b347a[_0x3a3a32['name']]={'$like':'%'+_0x1ceb1c[_0x593d('0x39')]['filter']+'%'};return _0x4b347a;}})});}_0x4952bf=_[_0x593d('0x2c')]({},_0x4952bf,_0x1ceb1c[_0x593d('0x47')]);var _0x55fc34={'where':_0x4952bf[_0x593d('0x45')]};return db[_0x593d('0x34')][_0x593d('0x1e')](_0x55fc34)[_0x593d('0x26')](function(_0x2d2f2e){_0x44b367[_0x593d('0x1e')]=_0x2d2f2e;if(_0x1ceb1c[_0x593d('0x39')]['includeAll']){_0x4952bf[_0x593d('0x48')]=[{'all':!![]}];}return db[_0x593d('0x34')][_0x593d('0x49')](_0x4952bf);})[_0x593d('0x26')](function(_0x2a0771){_0x44b367['rows']=_0x2a0771;return _0x44b367;})[_0x593d('0x26')](respondWithFilteredResult(_0x152011,_0x4952bf))[_0x593d('0x4a')](handleError(_0x152011,null));};exports['show']=function(_0x224013,_0x427f91){var _0x5c3ab6={'raw':!![],'where':{'id':_0x224013[_0x593d('0x4b')]['id']}},_0x4eba12={};_0x4eba12[_0x593d('0x38')]=_[_0x593d('0x3a')](db[_0x593d('0x34')][_0x593d('0x4c')]);_0x4eba12[_0x593d('0x39')]=_[_0x593d('0x3a')](_0x224013['query']);_0x4eba12[_0x593d('0x3b')]=_[_0x593d('0x3c')](_0x4eba12[_0x593d('0x38')],_0x4eba12[_0x593d('0x39')]);_0x5c3ab6[_0x593d('0x3e')]=_[_0x593d('0x3c')](_0x4eba12[_0x593d('0x38')],qs[_0x593d('0x3d')](_0x224013[_0x593d('0x39')][_0x593d('0x3d')]));_0x5c3ab6['attributes']=_0x5c3ab6[_0x593d('0x3e')][_0x593d('0x3f')]?_0x5c3ab6['attributes']:_0x4eba12[_0x593d('0x38')];if(_0x224013[_0x593d('0x39')][_0x593d('0x4d')]){_0x5c3ab6[_0x593d('0x48')]=[{'all':!![]}];}_0x5c3ab6=_[_0x593d('0x2c')]({},_0x5c3ab6,_0x224013[_0x593d('0x47')]);return db['WhatsappApplication'][_0x593d('0x4e')](_0x5c3ab6)[_0x593d('0x26')](handleEntityNotFound(_0x427f91,null))[_0x593d('0x26')](respondWithResult(_0x427f91,null))['catch'](handleError(_0x427f91,null));};exports['create']=function(_0x1d2197,_0x1d6e8a){return db['WhatsappApplication']['create'](_0x1d2197[_0x593d('0x2d')],{})[_0x593d('0x26')](respondWithResult(_0x1d6e8a,0xc9))['catch'](handleError(_0x1d6e8a,null));};exports[_0x593d('0x4f')]=function(_0x4ea1a8,_0x12dfbb){if(_0x4ea1a8[_0x593d('0x2d')]['id']){delete _0x4ea1a8[_0x593d('0x2d')]['id'];}return db[_0x593d('0x34')][_0x593d('0x4e')]({'where':{'id':_0x4ea1a8[_0x593d('0x4b')]['id']}})[_0x593d('0x26')](handleEntityNotFound(_0x12dfbb,null))['then'](saveUpdates(_0x4ea1a8[_0x593d('0x2d')],null))[_0x593d('0x26')](respondWithResult(_0x12dfbb,null))[_0x593d('0x4a')](handleError(_0x12dfbb,null));};exports[_0x593d('0x25')]=function(_0x2ecf8c,_0x53705b){return db[_0x593d('0x34')]['find']({'where':{'id':_0x2ecf8c[_0x593d('0x4b')]['id']}})[_0x593d('0x26')](handleEntityNotFound(_0x53705b,null))['then'](removeEntity(_0x53705b,null))[_0x593d('0x4a')](handleError(_0x53705b,null));};