Built motion from commit 85328c08.|2.5.50
[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 _0xdeb3=['WhatsappApplication','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','merge','where','VIRTUAL','filter','include','findAll','rows','catch','show','params','rawAttributes','find','create','body','destroy','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','ejs','lodash','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','end','status','json','offset','limit','count','Content-Range','apply','reject','save','update','then','sendStatus','error','stack','name','send','index'];(function(_0x90604a,_0x478069){var _0x5b517b=function(_0x475f05){while(--_0x475f05){_0x90604a['push'](_0x90604a['shift']());}};_0x5b517b(++_0x478069);}(_0xdeb3,0xb7));var _0x3deb=function(_0xfae23b,_0x2be4ba){_0xfae23b=_0xfae23b-0x0;var _0x200640=_0xdeb3[_0xfae23b];return _0x200640;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x3deb('0x0'));var zipdir=require(_0x3deb('0x1'));var jsonpatch=require(_0x3deb('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x3deb('0x3'));var Mustache=require(_0x3deb('0x4'));var util=require(_0x3deb('0x5'));var path=require(_0x3deb('0x6'));var sox=require(_0x3deb('0x7'));var csv=require('to-csv');var ejs=require(_0x3deb('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x3deb('0x9'));var squel=require('squel');var crypto=require(_0x3deb('0xa'));var jsforce=require(_0x3deb('0xb'));var deskjs=require(_0x3deb('0xc'));var toCsv=require(_0x3deb('0xd'));var querystring=require(_0x3deb('0xe'));var Papa=require(_0x3deb('0xf'));var Redis=require(_0x3deb('0x10'));var authService=require(_0x3deb('0x11'));var qs=require(_0x3deb('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x3deb('0x13'))(_0x3deb('0x14'));var utils=require(_0x3deb('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x3deb('0x16'));var db=require(_0x3deb('0x17'))['db'];function respondWithStatusCode(_0xc65b64,_0x106ead){_0x106ead=_0x106ead||0xcc;return function(_0x555a07){if(_0x555a07){return _0xc65b64['sendStatus'](_0x106ead);}return _0xc65b64['status'](_0x106ead)[_0x3deb('0x18')]();};}function respondWithResult(_0x1260a4,_0x39f5e0){_0x39f5e0=_0x39f5e0||0xc8;return function(_0x5336c7){if(_0x5336c7){return _0x1260a4[_0x3deb('0x19')](_0x39f5e0)[_0x3deb('0x1a')](_0x5336c7);}};}function respondWithFilteredResult(_0x55c13c,_0x24b516){return function(_0x3210e7){if(_0x3210e7){var _0x5ddc06=typeof _0x24b516[_0x3deb('0x1b')]==='undefined'&&typeof _0x24b516[_0x3deb('0x1c')]==='undefined';var _0x4cce09=_0x3210e7[_0x3deb('0x1d')];var _0x23c4b9=_0x5ddc06?0x0:_0x24b516[_0x3deb('0x1b')];var _0x9ba4f=_0x5ddc06?_0x3210e7[_0x3deb('0x1d')]:_0x24b516[_0x3deb('0x1b')]+_0x24b516['limit'];var _0x311a48;if(_0x9ba4f>=_0x4cce09){_0x9ba4f=_0x4cce09;_0x311a48=0xc8;}else{_0x311a48=0xce;}_0x55c13c[_0x3deb('0x19')](_0x311a48);return _0x55c13c['set'](_0x3deb('0x1e'),_0x23c4b9+'-'+_0x9ba4f+'/'+_0x4cce09)[_0x3deb('0x1a')](_0x3210e7);}return null;};}function patchUpdates(_0x1c8641){return function(_0xedc588){try{jsonpatch[_0x3deb('0x1f')](_0xedc588,_0x1c8641,!![]);}catch(_0x583dce){return BPromise[_0x3deb('0x20')](_0x583dce);}return _0xedc588[_0x3deb('0x21')]();};}function saveUpdates(_0x2705e5,_0x1b81ff){return function(_0x3327e0){if(_0x3327e0){return _0x3327e0[_0x3deb('0x22')](_0x2705e5)[_0x3deb('0x23')](function(_0x1f535e){return _0x1f535e;});}return null;};}function removeEntity(_0x42a8d5,_0x487283){return function(_0x1f6120){if(_0x1f6120){return _0x1f6120['destroy']()[_0x3deb('0x23')](function(){_0x42a8d5[_0x3deb('0x19')](0xcc)[_0x3deb('0x18')]();});}};}function handleEntityNotFound(_0x392fec,_0x9fad49){return function(_0x245544){if(!_0x245544){_0x392fec[_0x3deb('0x24')](0x194);}return _0x245544;};}function handleError(_0x255fa5,_0x38af26){_0x38af26=_0x38af26||0x1f4;return function(_0x2789cd){logger[_0x3deb('0x25')](_0x2789cd[_0x3deb('0x26')]);if(_0x2789cd[_0x3deb('0x27')]){delete _0x2789cd[_0x3deb('0x27')];}_0x255fa5[_0x3deb('0x19')](_0x38af26)[_0x3deb('0x28')](_0x2789cd);};}exports[_0x3deb('0x29')]=function(_0x16b44e,_0x1b6d93){var _0x3e8b62={},_0x4c72c7={},_0x2e10ca={'count':0x0,'rows':[]};var _0x438e65=_['map'](db[_0x3deb('0x2a')]['rawAttributes'],function(_0x349f1b){return{'name':_0x349f1b[_0x3deb('0x2b')],'type':_0x349f1b[_0x3deb('0x2c')][_0x3deb('0x2d')]};});_0x4c72c7[_0x3deb('0x2e')]=_[_0x3deb('0x2f')](_0x438e65,'name');_0x4c72c7[_0x3deb('0x30')]=_[_0x3deb('0x31')](_0x16b44e[_0x3deb('0x30')]);_0x4c72c7[_0x3deb('0x32')]=_[_0x3deb('0x33')](_0x4c72c7[_0x3deb('0x2e')],_0x4c72c7[_0x3deb('0x30')]);_0x3e8b62[_0x3deb('0x34')]=_['intersection'](_0x4c72c7[_0x3deb('0x2e')],qs[_0x3deb('0x35')](_0x16b44e[_0x3deb('0x30')][_0x3deb('0x35')]));_0x3e8b62[_0x3deb('0x34')]=_0x3e8b62[_0x3deb('0x34')][_0x3deb('0x36')]?_0x3e8b62[_0x3deb('0x34')]:_0x4c72c7[_0x3deb('0x2e')];if(!_0x16b44e[_0x3deb('0x30')][_0x3deb('0x37')](_0x3deb('0x38'))){_0x3e8b62[_0x3deb('0x1c')]=qs[_0x3deb('0x1c')](_0x16b44e[_0x3deb('0x30')][_0x3deb('0x1c')]);_0x3e8b62[_0x3deb('0x1b')]=qs[_0x3deb('0x1b')](_0x16b44e[_0x3deb('0x30')]['offset']);}_0x3e8b62[_0x3deb('0x39')]=qs[_0x3deb('0x3a')](_0x16b44e[_0x3deb('0x30')][_0x3deb('0x3a')]);_0x3e8b62['where']=qs[_0x3deb('0x32')](_[_0x3deb('0x3b')](_0x16b44e[_0x3deb('0x30')],_0x4c72c7[_0x3deb('0x32')]),_0x438e65);if(_0x16b44e[_0x3deb('0x30')]['filter']){_0x3e8b62['where']=_[_0x3deb('0x3c')](_0x3e8b62[_0x3deb('0x3d')],{'$or':_[_0x3deb('0x2f')](_0x438e65,function(_0x3412e1){if(_0x3412e1[_0x3deb('0x2c')]!==_0x3deb('0x3e')){var _0x27499b={};_0x27499b[_0x3412e1[_0x3deb('0x27')]]={'$like':'%'+_0x16b44e[_0x3deb('0x30')][_0x3deb('0x3f')]+'%'};return _0x27499b;}})});}_0x3e8b62=_[_0x3deb('0x3c')]({},_0x3e8b62,_0x16b44e['options']);var _0x597f89={'where':_0x3e8b62[_0x3deb('0x3d')]};return db[_0x3deb('0x2a')][_0x3deb('0x1d')](_0x597f89)[_0x3deb('0x23')](function(_0x3a4866){_0x2e10ca[_0x3deb('0x1d')]=_0x3a4866;if(_0x16b44e['query']['includeAll']){_0x3e8b62[_0x3deb('0x40')]=[{'all':!![]}];}return db[_0x3deb('0x2a')][_0x3deb('0x41')](_0x3e8b62);})[_0x3deb('0x23')](function(_0x4e6254){_0x2e10ca[_0x3deb('0x42')]=_0x4e6254;return _0x2e10ca;})[_0x3deb('0x23')](respondWithFilteredResult(_0x1b6d93,_0x3e8b62))[_0x3deb('0x43')](handleError(_0x1b6d93,null));};exports[_0x3deb('0x44')]=function(_0x4a81b2,_0x355594){var _0x5bd42c={'raw':!![],'where':{'id':_0x4a81b2[_0x3deb('0x45')]['id']}},_0x5e5763={};_0x5e5763[_0x3deb('0x2e')]=_['keys'](db[_0x3deb('0x2a')][_0x3deb('0x46')]);_0x5e5763[_0x3deb('0x30')]=_[_0x3deb('0x31')](_0x4a81b2[_0x3deb('0x30')]);_0x5e5763['filters']=_[_0x3deb('0x33')](_0x5e5763[_0x3deb('0x2e')],_0x5e5763['query']);_0x5bd42c['attributes']=_['intersection'](_0x5e5763[_0x3deb('0x2e')],qs[_0x3deb('0x35')](_0x4a81b2[_0x3deb('0x30')][_0x3deb('0x35')]));_0x5bd42c['attributes']=_0x5bd42c[_0x3deb('0x34')][_0x3deb('0x36')]?_0x5bd42c[_0x3deb('0x34')]:_0x5e5763[_0x3deb('0x2e')];if(_0x4a81b2['query']['includeAll']){_0x5bd42c[_0x3deb('0x40')]=[{'all':!![]}];}_0x5bd42c=_[_0x3deb('0x3c')]({},_0x5bd42c,_0x4a81b2['options']);return db['WhatsappApplication'][_0x3deb('0x47')](_0x5bd42c)['then'](handleEntityNotFound(_0x355594,null))[_0x3deb('0x23')](respondWithResult(_0x355594,null))[_0x3deb('0x43')](handleError(_0x355594,null));};exports['create']=function(_0x46fc80,_0x2fbdc3){return db[_0x3deb('0x2a')][_0x3deb('0x48')](_0x46fc80[_0x3deb('0x49')],{})[_0x3deb('0x23')](respondWithResult(_0x2fbdc3,0xc9))[_0x3deb('0x43')](handleError(_0x2fbdc3,null));};exports[_0x3deb('0x22')]=function(_0xcd0ba9,_0x24a040){if(_0xcd0ba9[_0x3deb('0x49')]['id']){delete _0xcd0ba9[_0x3deb('0x49')]['id'];}return db[_0x3deb('0x2a')]['find']({'where':{'id':_0xcd0ba9['params']['id']}})[_0x3deb('0x23')](handleEntityNotFound(_0x24a040,null))['then'](saveUpdates(_0xcd0ba9['body'],null))[_0x3deb('0x23')](respondWithResult(_0x24a040,null))[_0x3deb('0x43')](handleError(_0x24a040,null));};exports[_0x3deb('0x4a')]=function(_0x273054,_0x596ad4){return db[_0x3deb('0x2a')][_0x3deb('0x47')]({'where':{'id':_0x273054[_0x3deb('0x45')]['id']}})[_0x3deb('0x23')](handleEntityNotFound(_0x596ad4,null))['then'](removeEntity(_0x596ad4,null))[_0x3deb('0x43')](handleError(_0x596ad4,null));};