Built motion from commit 3e059bc2.|2.5.32
[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 _0xe1d7=['sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','find','create','body','params','rimraf','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','limit','undefined','count','Content-Range','apply','then','destroy','error','name','send','index','map','WhatsappApplication','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','nolimit','order'];(function(_0x492a20,_0x34a0f7){var _0x2aa0aa=function(_0x5e81d4){while(--_0x5e81d4){_0x492a20['push'](_0x492a20['shift']());}};_0x2aa0aa(++_0x34a0f7);}(_0xe1d7,0x1a9));var _0x7e1d=function(_0x4ad922,_0x1538f6){_0x4ad922=_0x4ad922-0x0;var _0x3c0eef=_0xe1d7[_0x4ad922];return _0x3c0eef;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x7e1d('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x7e1d('0x1'));var BPromise=require(_0x7e1d('0x2'));var Mustache=require(_0x7e1d('0x3'));var util=require('util');var path=require(_0x7e1d('0x4'));var sox=require(_0x7e1d('0x5'));var csv=require(_0x7e1d('0x6'));var ejs=require(_0x7e1d('0x7'));var fs=require('fs');var fs_extra=require(_0x7e1d('0x8'));var _=require('lodash');var squel=require(_0x7e1d('0x9'));var crypto=require(_0x7e1d('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x7e1d('0xb'));var toCsv=require(_0x7e1d('0x6'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x7e1d('0xc'));var authService=require(_0x7e1d('0xd'));var qs=require(_0x7e1d('0xe'));var as=require(_0x7e1d('0xf'));var hardwareService=require(_0x7e1d('0x10'));var logger=require(_0x7e1d('0x11'))(_0x7e1d('0x12'));var utils=require('../../config/utils');var config=require(_0x7e1d('0x13'));var licenseUtil=require(_0x7e1d('0x14'));var db=require(_0x7e1d('0x15'))['db'];function respondWithStatusCode(_0x3a2fd3,_0x4af431){_0x4af431=_0x4af431||0xcc;return function(_0x4543ee){if(_0x4543ee){return _0x3a2fd3[_0x7e1d('0x16')](_0x4af431);}return _0x3a2fd3[_0x7e1d('0x17')](_0x4af431)['end']();};}function respondWithResult(_0x3c9812,_0x41746d){_0x41746d=_0x41746d||0xc8;return function(_0x5cafde){if(_0x5cafde){return _0x3c9812['status'](_0x41746d)[_0x7e1d('0x18')](_0x5cafde);}};}function respondWithFilteredResult(_0x3f4760,_0x1c8d51){return function(_0x55539a){if(_0x55539a){var _0x25f214=typeof _0x1c8d51[_0x7e1d('0x19')]==='undefined'&&typeof _0x1c8d51[_0x7e1d('0x1a')]===_0x7e1d('0x1b');var _0x3eb945=_0x55539a[_0x7e1d('0x1c')];var _0x5a9abe=_0x25f214?0x0:_0x1c8d51[_0x7e1d('0x19')];var _0x1b40ac=_0x25f214?_0x55539a[_0x7e1d('0x1c')]:_0x1c8d51[_0x7e1d('0x19')]+_0x1c8d51[_0x7e1d('0x1a')];var _0x3671d3;if(_0x1b40ac>=_0x3eb945){_0x1b40ac=_0x3eb945;_0x3671d3=0xc8;}else{_0x3671d3=0xce;}_0x3f4760[_0x7e1d('0x17')](_0x3671d3);return _0x3f4760['set'](_0x7e1d('0x1d'),_0x5a9abe+'-'+_0x1b40ac+'/'+_0x3eb945)[_0x7e1d('0x18')](_0x55539a);}return null;};}function patchUpdates(_0x1c2ab1){return function(_0x3d21ec){try{jsonpatch[_0x7e1d('0x1e')](_0x3d21ec,_0x1c2ab1,!![]);}catch(_0x5480fe){return BPromise['reject'](_0x5480fe);}return _0x3d21ec['save']();};}function saveUpdates(_0x383d28,_0x3dddc3){return function(_0x30229f){if(_0x30229f){return _0x30229f['update'](_0x383d28)[_0x7e1d('0x1f')](function(_0x56653f){return _0x56653f;});}return null;};}function removeEntity(_0xabef60,_0x1ae0b6){return function(_0xcc5980){if(_0xcc5980){return _0xcc5980[_0x7e1d('0x20')]()[_0x7e1d('0x1f')](function(){_0xabef60[_0x7e1d('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1fd926,_0x45473a){return function(_0x12ba7f){if(!_0x12ba7f){_0x1fd926[_0x7e1d('0x16')](0x194);}return _0x12ba7f;};}function handleError(_0x21fb23,_0x3ba80b){_0x3ba80b=_0x3ba80b||0x1f4;return function(_0x22569b){logger[_0x7e1d('0x21')](_0x22569b['stack']);if(_0x22569b[_0x7e1d('0x22')]){delete _0x22569b[_0x7e1d('0x22')];}_0x21fb23['status'](_0x3ba80b)[_0x7e1d('0x23')](_0x22569b);};}exports[_0x7e1d('0x24')]=function(_0x4ebce1,_0x1b5236){var _0x2f11f4={},_0x1b6ba2={},_0x430191={'count':0x0,'rows':[]};var _0x1a4c75=_[_0x7e1d('0x25')](db[_0x7e1d('0x26')][_0x7e1d('0x27')],function(_0x12ad82){return{'name':_0x12ad82[_0x7e1d('0x28')],'type':_0x12ad82['type'][_0x7e1d('0x29')]};});_0x1b6ba2[_0x7e1d('0x2a')]=_[_0x7e1d('0x25')](_0x1a4c75,_0x7e1d('0x22'));_0x1b6ba2[_0x7e1d('0x2b')]=_[_0x7e1d('0x2c')](_0x4ebce1[_0x7e1d('0x2b')]);_0x1b6ba2[_0x7e1d('0x2d')]=_[_0x7e1d('0x2e')](_0x1b6ba2['model'],_0x1b6ba2['query']);_0x2f11f4[_0x7e1d('0x2f')]=_[_0x7e1d('0x2e')](_0x1b6ba2[_0x7e1d('0x2a')],qs[_0x7e1d('0x30')](_0x4ebce1['query'][_0x7e1d('0x30')]));_0x2f11f4['attributes']=_0x2f11f4[_0x7e1d('0x2f')]['length']?_0x2f11f4[_0x7e1d('0x2f')]:_0x1b6ba2[_0x7e1d('0x2a')];if(!_0x4ebce1[_0x7e1d('0x2b')]['hasOwnProperty'](_0x7e1d('0x31'))){_0x2f11f4[_0x7e1d('0x1a')]=qs['limit'](_0x4ebce1['query']['limit']);_0x2f11f4[_0x7e1d('0x19')]=qs[_0x7e1d('0x19')](_0x4ebce1[_0x7e1d('0x2b')][_0x7e1d('0x19')]);}_0x2f11f4[_0x7e1d('0x32')]=qs['sort'](_0x4ebce1['query'][_0x7e1d('0x33')]);_0x2f11f4[_0x7e1d('0x34')]=qs['filters'](_[_0x7e1d('0x35')](_0x4ebce1[_0x7e1d('0x2b')],_0x1b6ba2[_0x7e1d('0x2d')]),_0x1a4c75);if(_0x4ebce1[_0x7e1d('0x2b')][_0x7e1d('0x36')]){_0x2f11f4['where']=_[_0x7e1d('0x37')](_0x2f11f4['where'],{'$or':_[_0x7e1d('0x25')](_0x1a4c75,function(_0x31f7ee){if(_0x31f7ee['type']!==_0x7e1d('0x38')){var _0x48e996={};_0x48e996[_0x31f7ee[_0x7e1d('0x22')]]={'$like':'%'+_0x4ebce1[_0x7e1d('0x2b')][_0x7e1d('0x36')]+'%'};return _0x48e996;}})});}_0x2f11f4=_[_0x7e1d('0x37')]({},_0x2f11f4,_0x4ebce1[_0x7e1d('0x39')]);var _0x226a10={'where':_0x2f11f4[_0x7e1d('0x34')]};return db['WhatsappApplication'][_0x7e1d('0x1c')](_0x226a10)[_0x7e1d('0x1f')](function(_0x2aeca9){_0x430191[_0x7e1d('0x1c')]=_0x2aeca9;if(_0x4ebce1[_0x7e1d('0x2b')][_0x7e1d('0x3a')]){_0x2f11f4[_0x7e1d('0x3b')]=[{'all':!![]}];}return db[_0x7e1d('0x26')][_0x7e1d('0x3c')](_0x2f11f4);})[_0x7e1d('0x1f')](function(_0x5dd3f6){_0x430191[_0x7e1d('0x3d')]=_0x5dd3f6;return _0x430191;})[_0x7e1d('0x1f')](respondWithFilteredResult(_0x1b5236,_0x2f11f4))[_0x7e1d('0x3e')](handleError(_0x1b5236,null));};exports[_0x7e1d('0x3f')]=function(_0x189302,_0x224081){var _0x27e64a={'raw':!![],'where':{'id':_0x189302['params']['id']}},_0x5959={};_0x5959[_0x7e1d('0x2a')]=_[_0x7e1d('0x2c')](db[_0x7e1d('0x26')][_0x7e1d('0x27')]);_0x5959[_0x7e1d('0x2b')]=_['keys'](_0x189302[_0x7e1d('0x2b')]);_0x5959[_0x7e1d('0x2d')]=_[_0x7e1d('0x2e')](_0x5959['model'],_0x5959['query']);_0x27e64a[_0x7e1d('0x2f')]=_['intersection'](_0x5959[_0x7e1d('0x2a')],qs[_0x7e1d('0x30')](_0x189302['query'][_0x7e1d('0x30')]));_0x27e64a[_0x7e1d('0x2f')]=_0x27e64a[_0x7e1d('0x2f')]['length']?_0x27e64a[_0x7e1d('0x2f')]:_0x5959['model'];if(_0x189302[_0x7e1d('0x2b')][_0x7e1d('0x3a')]){_0x27e64a[_0x7e1d('0x3b')]=[{'all':!![]}];}_0x27e64a=_[_0x7e1d('0x37')]({},_0x27e64a,_0x189302[_0x7e1d('0x39')]);return db['WhatsappApplication'][_0x7e1d('0x40')](_0x27e64a)[_0x7e1d('0x1f')](handleEntityNotFound(_0x224081,null))['then'](respondWithResult(_0x224081,null))[_0x7e1d('0x3e')](handleError(_0x224081,null));};exports[_0x7e1d('0x41')]=function(_0x1a68ac,_0x47d273){return db['WhatsappApplication'][_0x7e1d('0x41')](_0x1a68ac[_0x7e1d('0x42')],{})[_0x7e1d('0x1f')](respondWithResult(_0x47d273,0xc9))[_0x7e1d('0x3e')](handleError(_0x47d273,null));};exports['update']=function(_0x395b11,_0x2a107a){if(_0x395b11[_0x7e1d('0x42')]['id']){delete _0x395b11['body']['id'];}return db[_0x7e1d('0x26')][_0x7e1d('0x40')]({'where':{'id':_0x395b11['params']['id']}})[_0x7e1d('0x1f')](handleEntityNotFound(_0x2a107a,null))[_0x7e1d('0x1f')](saveUpdates(_0x395b11[_0x7e1d('0x42')],null))[_0x7e1d('0x1f')](respondWithResult(_0x2a107a,null))['catch'](handleError(_0x2a107a,null));};exports['destroy']=function(_0x4178fa,_0x1db7e8){return db[_0x7e1d('0x26')]['find']({'where':{'id':_0x4178fa[_0x7e1d('0x43')]['id']}})['then'](handleEntityNotFound(_0x1db7e8,null))['then'](removeEntity(_0x1db7e8,null))[_0x7e1d('0x3e')](handleError(_0x1db7e8,null));};