Built motion from commit 1fa89557.|2.6.10
[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 _0x4efb=['model','map','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','pick','where','filter','merge','includeAll','include','rows','show','options','find','create','body','params','catch','destroy','rimraf','zip-dir','fast-json-patch','moment','mustache','util','sox','ejs','fs-extra','lodash','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','then','error','stack','name','index','WhatsappApplication','rawAttributes','type','key'];(function(_0x2aea9e,_0x1f587f){var _0x430b92=function(_0x416c37){while(--_0x416c37){_0x2aea9e['push'](_0x2aea9e['shift']());}};_0x430b92(++_0x1f587f);}(_0x4efb,0xfa));var _0xb4ef=function(_0x40720b,_0x185b6a){_0x40720b=_0x40720b-0x0;var _0x399063=_0x4efb[_0x40720b];return _0x399063;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xb4ef('0x0'));var zipdir=require(_0xb4ef('0x1'));var jsonpatch=require(_0xb4ef('0x2'));var rp=require('request-promise');var moment=require(_0xb4ef('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xb4ef('0x4'));var util=require(_0xb4ef('0x5'));var path=require('path');var sox=require(_0xb4ef('0x6'));var csv=require('to-csv');var ejs=require(_0xb4ef('0x7'));var fs=require('fs');var fs_extra=require(_0xb4ef('0x8'));var _=require(_0xb4ef('0x9'));var squel=require(_0xb4ef('0xa'));var crypto=require(_0xb4ef('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xb4ef('0xc'));var toCsv=require(_0xb4ef('0xd'));var querystring=require(_0xb4ef('0xe'));var Papa=require(_0xb4ef('0xf'));var Redis=require(_0xb4ef('0x10'));var authService=require(_0xb4ef('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xb4ef('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xb4ef('0x13'))(_0xb4ef('0x14'));var utils=require(_0xb4ef('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xb4ef('0x16'));var db=require(_0xb4ef('0x17'))['db'];function respondWithStatusCode(_0xe9d1a5,_0x39e795){_0x39e795=_0x39e795||0xcc;return function(_0x476240){if(_0x476240){return _0xe9d1a5[_0xb4ef('0x18')](_0x39e795);}return _0xe9d1a5['status'](_0x39e795)[_0xb4ef('0x19')]();};}function respondWithResult(_0x587c3a,_0x3e82f5){_0x3e82f5=_0x3e82f5||0xc8;return function(_0xd98297){if(_0xd98297){return _0x587c3a[_0xb4ef('0x1a')](_0x3e82f5)[_0xb4ef('0x1b')](_0xd98297);}};}function respondWithFilteredResult(_0x1f68f1,_0x31dd95){return function(_0x187370){if(_0x187370){var _0x4a20a6=typeof _0x31dd95[_0xb4ef('0x1c')]===_0xb4ef('0x1d')&&typeof _0x31dd95[_0xb4ef('0x1e')]===_0xb4ef('0x1d');var _0x3cc3b7=_0x187370[_0xb4ef('0x1f')];var _0x560347=_0x4a20a6?0x0:_0x31dd95[_0xb4ef('0x1c')];var _0x21e34e=_0x4a20a6?_0x187370[_0xb4ef('0x1f')]:_0x31dd95[_0xb4ef('0x1c')]+_0x31dd95[_0xb4ef('0x1e')];var _0x146b0f;if(_0x21e34e>=_0x3cc3b7){_0x21e34e=_0x3cc3b7;_0x146b0f=0xc8;}else{_0x146b0f=0xce;}_0x1f68f1[_0xb4ef('0x1a')](_0x146b0f);return _0x1f68f1['set'](_0xb4ef('0x20'),_0x560347+'-'+_0x21e34e+'/'+_0x3cc3b7)['json'](_0x187370);}return null;};}function patchUpdates(_0x3a71ad){return function(_0x3cf09e){try{jsonpatch[_0xb4ef('0x21')](_0x3cf09e,_0x3a71ad,!![]);}catch(_0x3fe208){return BPromise[_0xb4ef('0x22')](_0x3fe208);}return _0x3cf09e[_0xb4ef('0x23')]();};}function saveUpdates(_0x34bdf4,_0x3d645e){return function(_0xc146de){if(_0xc146de){return _0xc146de[_0xb4ef('0x24')](_0x34bdf4)['then'](function(_0x242715){return _0x242715;});}return null;};}function removeEntity(_0x387583,_0x4eb797){return function(_0x173d7c){if(_0x173d7c){return _0x173d7c['destroy']()[_0xb4ef('0x25')](function(){_0x387583['status'](0xcc)[_0xb4ef('0x19')]();});}};}function handleEntityNotFound(_0x4b702d,_0x116043){return function(_0x84750e){if(!_0x84750e){_0x4b702d['sendStatus'](0x194);}return _0x84750e;};}function handleError(_0x5e3a6b,_0x7e0dd0){_0x7e0dd0=_0x7e0dd0||0x1f4;return function(_0x20931f){logger[_0xb4ef('0x26')](_0x20931f[_0xb4ef('0x27')]);if(_0x20931f[_0xb4ef('0x28')]){delete _0x20931f['name'];}_0x5e3a6b[_0xb4ef('0x1a')](_0x7e0dd0)['send'](_0x20931f);};}exports[_0xb4ef('0x29')]=function(_0x16d6cc,_0x4ce2c5){var _0x145476={},_0x2a5f05={},_0xcda01f={'count':0x0,'rows':[]};var _0x490b8a=_['map'](db[_0xb4ef('0x2a')][_0xb4ef('0x2b')],function(_0x30bc04){return{'name':_0x30bc04['fieldName'],'type':_0x30bc04[_0xb4ef('0x2c')][_0xb4ef('0x2d')]};});_0x2a5f05[_0xb4ef('0x2e')]=_[_0xb4ef('0x2f')](_0x490b8a,'name');_0x2a5f05[_0xb4ef('0x30')]=_[_0xb4ef('0x31')](_0x16d6cc['query']);_0x2a5f05[_0xb4ef('0x32')]=_['intersection'](_0x2a5f05[_0xb4ef('0x2e')],_0x2a5f05[_0xb4ef('0x30')]);_0x145476[_0xb4ef('0x33')]=_[_0xb4ef('0x34')](_0x2a5f05[_0xb4ef('0x2e')],qs[_0xb4ef('0x35')](_0x16d6cc['query'][_0xb4ef('0x35')]));_0x145476[_0xb4ef('0x33')]=_0x145476[_0xb4ef('0x33')][_0xb4ef('0x36')]?_0x145476['attributes']:_0x2a5f05[_0xb4ef('0x2e')];if(!_0x16d6cc['query'][_0xb4ef('0x37')](_0xb4ef('0x38'))){_0x145476[_0xb4ef('0x1e')]=qs['limit'](_0x16d6cc[_0xb4ef('0x30')][_0xb4ef('0x1e')]);_0x145476[_0xb4ef('0x1c')]=qs[_0xb4ef('0x1c')](_0x16d6cc['query'][_0xb4ef('0x1c')]);}_0x145476[_0xb4ef('0x39')]=qs[_0xb4ef('0x3a')](_0x16d6cc[_0xb4ef('0x30')][_0xb4ef('0x3a')]);_0x145476['where']=qs[_0xb4ef('0x32')](_[_0xb4ef('0x3b')](_0x16d6cc[_0xb4ef('0x30')],_0x2a5f05[_0xb4ef('0x32')]),_0x490b8a);if(_0x16d6cc[_0xb4ef('0x30')]['filter']){_0x145476['where']=_['merge'](_0x145476[_0xb4ef('0x3c')],{'$or':_['map'](_0x490b8a,function(_0x25cfca){if(_0x25cfca['type']!=='VIRTUAL'){var _0x1e589e={};_0x1e589e[_0x25cfca[_0xb4ef('0x28')]]={'$like':'%'+_0x16d6cc[_0xb4ef('0x30')][_0xb4ef('0x3d')]+'%'};return _0x1e589e;}})});}_0x145476=_[_0xb4ef('0x3e')]({},_0x145476,_0x16d6cc['options']);var _0x58cabe={'where':_0x145476[_0xb4ef('0x3c')]};return db[_0xb4ef('0x2a')][_0xb4ef('0x1f')](_0x58cabe)[_0xb4ef('0x25')](function(_0x37c80d){_0xcda01f[_0xb4ef('0x1f')]=_0x37c80d;if(_0x16d6cc['query'][_0xb4ef('0x3f')]){_0x145476[_0xb4ef('0x40')]=[{'all':!![]}];}return db['WhatsappApplication']['findAll'](_0x145476);})[_0xb4ef('0x25')](function(_0x499643){_0xcda01f[_0xb4ef('0x41')]=_0x499643;return _0xcda01f;})[_0xb4ef('0x25')](respondWithFilteredResult(_0x4ce2c5,_0x145476))['catch'](handleError(_0x4ce2c5,null));};exports[_0xb4ef('0x42')]=function(_0x5e5f57,_0x317060){var _0x2b97c3={'raw':!![],'where':{'id':_0x5e5f57['params']['id']}},_0x1dea26={};_0x1dea26[_0xb4ef('0x2e')]=_[_0xb4ef('0x31')](db['WhatsappApplication']['rawAttributes']);_0x1dea26[_0xb4ef('0x30')]=_[_0xb4ef('0x31')](_0x5e5f57[_0xb4ef('0x30')]);_0x1dea26[_0xb4ef('0x32')]=_[_0xb4ef('0x34')](_0x1dea26[_0xb4ef('0x2e')],_0x1dea26[_0xb4ef('0x30')]);_0x2b97c3[_0xb4ef('0x33')]=_[_0xb4ef('0x34')](_0x1dea26[_0xb4ef('0x2e')],qs['fields'](_0x5e5f57[_0xb4ef('0x30')]['fields']));_0x2b97c3['attributes']=_0x2b97c3['attributes']['length']?_0x2b97c3[_0xb4ef('0x33')]:_0x1dea26[_0xb4ef('0x2e')];if(_0x5e5f57[_0xb4ef('0x30')][_0xb4ef('0x3f')]){_0x2b97c3['include']=[{'all':!![]}];}_0x2b97c3=_[_0xb4ef('0x3e')]({},_0x2b97c3,_0x5e5f57[_0xb4ef('0x43')]);return db[_0xb4ef('0x2a')][_0xb4ef('0x44')](_0x2b97c3)['then'](handleEntityNotFound(_0x317060,null))[_0xb4ef('0x25')](respondWithResult(_0x317060,null))['catch'](handleError(_0x317060,null));};exports[_0xb4ef('0x45')]=function(_0x58c58c,_0x212ff3){return db['WhatsappApplication'][_0xb4ef('0x45')](_0x58c58c['body'],{})[_0xb4ef('0x25')](respondWithResult(_0x212ff3,0xc9))['catch'](handleError(_0x212ff3,null));};exports[_0xb4ef('0x24')]=function(_0x55b938,_0x4b20fc){if(_0x55b938[_0xb4ef('0x46')]['id']){delete _0x55b938['body']['id'];}return db[_0xb4ef('0x2a')]['find']({'where':{'id':_0x55b938[_0xb4ef('0x47')]['id']}})[_0xb4ef('0x25')](handleEntityNotFound(_0x4b20fc,null))[_0xb4ef('0x25')](saveUpdates(_0x55b938['body'],null))[_0xb4ef('0x25')](respondWithResult(_0x4b20fc,null))[_0xb4ef('0x48')](handleError(_0x4b20fc,null));};exports[_0xb4ef('0x49')]=function(_0x92d540,_0x4a23fc){return db[_0xb4ef('0x2a')]['find']({'where':{'id':_0x92d540['params']['id']}})[_0xb4ef('0x25')](handleEntityNotFound(_0x4a23fc,null))[_0xb4ef('0x25')](removeEntity(_0x4a23fc,null))[_0xb4ef('0x48')](handleError(_0x4a23fc,null));};