Built motion from commit (unavailable).|2.5.15
[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 _0x03c1=['desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','save','update','then','error','stack','name','index','rawAttributes','fieldName','type','model','map','keys','query','filters','intersection','attributes','fields','order','where','pick','filter','merge','options','includeAll','include','WhatsappApplication','findAll','show','params','catch','create','body','find','destroy','rimraf','zip-dir','fast-json-patch','path','to-csv','ejs','lodash','crypto','jsforce'];(function(_0x54f925,_0x1daf38){var _0x3d7523=function(_0x441846){while(--_0x441846){_0x54f925['push'](_0x54f925['shift']());}};_0x3d7523(++_0x1daf38);}(_0x03c1,0xba));var _0x103c=function(_0x255d5b,_0x4f6f35){_0x255d5b=_0x255d5b-0x0;var _0x3e141a=_0x03c1[_0x255d5b];return _0x3e141a;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x103c('0x0'));var zipdir=require(_0x103c('0x1'));var jsonpatch=require(_0x103c('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0x103c('0x3'));var sox=require('sox');var csv=require(_0x103c('0x4'));var ejs=require(_0x103c('0x5'));var fs=require('fs');var _=require(_0x103c('0x6'));var squel=require('squel');var crypto=require(_0x103c('0x7'));var jsforce=require(_0x103c('0x8'));var deskjs=require(_0x103c('0x9'));var toCsv=require('to-csv');var querystring=require(_0x103c('0xa'));var Papa=require('papaparse');var Redis=require(_0x103c('0xb'));var authService=require(_0x103c('0xc'));var qs=require(_0x103c('0xd'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x103c('0xe'));var logger=require(_0x103c('0xf'))(_0x103c('0x10'));var utils=require(_0x103c('0x11'));var config=require(_0x103c('0x12'));var licenseUtil=require(_0x103c('0x13'));var db=require(_0x103c('0x14'))['db'];function respondWithStatusCode(_0xf1a8c3,_0x3ba049){_0x3ba049=_0x3ba049||0xcc;return function(_0x3abe74){if(_0x3abe74){return _0xf1a8c3[_0x103c('0x15')](_0x3ba049);}return _0xf1a8c3[_0x103c('0x16')](_0x3ba049)[_0x103c('0x17')]();};}function respondWithResult(_0xbe3c66,_0x4eff1b){_0x4eff1b=_0x4eff1b||0xc8;return function(_0x20cc48){if(_0x20cc48){return _0xbe3c66[_0x103c('0x16')](_0x4eff1b)[_0x103c('0x18')](_0x20cc48);}};}function respondWithFilteredResult(_0x453f2c,_0xd04dd2){return function(_0x1ee2ff){if(_0x1ee2ff){var _0x54a88c=_0x1ee2ff[_0x103c('0x19')],_0x437860=_0xd04dd2[_0x103c('0x1a')],_0x439186=_0xd04dd2[_0x103c('0x1a')]+_0xd04dd2[_0x103c('0x1b')],_0x156449;if(_0x439186>=_0x54a88c){_0x439186=_0x54a88c;_0x156449=0xc8;}else{_0x156449=0xce;}_0x453f2c['status'](_0x156449);return _0x453f2c[_0x103c('0x1c')](_0x103c('0x1d'),_0x437860+'-'+_0x439186+'/'+_0x54a88c)['json'](_0x1ee2ff);}return null;};}function patchUpdates(_0x12fadd){return function(_0xb4809f){try{jsonpatch['apply'](_0xb4809f,_0x12fadd,!![]);}catch(_0x10d302){return BPromise['reject'](_0x10d302);}return _0xb4809f[_0x103c('0x1e')]();};}function saveUpdates(_0x3e19ac,_0x5d7faf){return function(_0x1477d0){if(_0x1477d0){return _0x1477d0[_0x103c('0x1f')](_0x3e19ac)[_0x103c('0x20')](function(_0x221315){return _0x221315;});}return null;};}function removeEntity(_0x536d41,_0x575a7a){return function(_0x2295cb){if(_0x2295cb){return _0x2295cb['destroy']()[_0x103c('0x20')](function(){_0x536d41['status'](0xcc)[_0x103c('0x17')]();});}};}function handleEntityNotFound(_0xb78fa8,_0x119963){return function(_0x1f991f){if(!_0x1f991f){_0xb78fa8[_0x103c('0x15')](0x194);}return _0x1f991f;};}function handleError(_0xe0caa8,_0x3eef63){_0x3eef63=_0x3eef63||0x1f4;return function(_0x44073e){logger[_0x103c('0x21')](_0x44073e[_0x103c('0x22')]);if(_0x44073e[_0x103c('0x23')]){delete _0x44073e['name'];}_0xe0caa8[_0x103c('0x16')](_0x3eef63)['send'](_0x44073e);};}exports[_0x103c('0x24')]=function(_0x18cc5f,_0x1f857e){var _0x5ef49c={},_0x37d924={},_0x4f8fed={'count':0x0,'rows':[]};var _0x5a68d9=_['map'](db['WhatsappApplication'][_0x103c('0x25')],function(_0x96eecd){return{'name':_0x96eecd[_0x103c('0x26')],'type':_0x96eecd[_0x103c('0x27')]['key']};});_0x37d924[_0x103c('0x28')]=_[_0x103c('0x29')](_0x5a68d9,_0x103c('0x23'));_0x37d924['query']=_[_0x103c('0x2a')](_0x18cc5f[_0x103c('0x2b')]);_0x37d924[_0x103c('0x2c')]=_[_0x103c('0x2d')](_0x37d924[_0x103c('0x28')],_0x37d924[_0x103c('0x2b')]);_0x5ef49c[_0x103c('0x2e')]=_[_0x103c('0x2d')](_0x37d924[_0x103c('0x28')],qs['fields'](_0x18cc5f[_0x103c('0x2b')][_0x103c('0x2f')]));_0x5ef49c['attributes']=_0x5ef49c[_0x103c('0x2e')]['length']?_0x5ef49c[_0x103c('0x2e')]:_0x37d924[_0x103c('0x28')];if(!_0x18cc5f[_0x103c('0x2b')]['hasOwnProperty']('nolimit')){_0x5ef49c['limit']=qs['limit'](_0x18cc5f[_0x103c('0x2b')][_0x103c('0x1b')]);_0x5ef49c['offset']=qs[_0x103c('0x1a')](_0x18cc5f[_0x103c('0x2b')]['offset']);}_0x5ef49c[_0x103c('0x30')]=qs['sort'](_0x18cc5f[_0x103c('0x2b')]['sort']);_0x5ef49c[_0x103c('0x31')]=qs['filters'](_[_0x103c('0x32')](_0x18cc5f[_0x103c('0x2b')],_0x37d924['filters']),_0x5a68d9);if(_0x18cc5f[_0x103c('0x2b')][_0x103c('0x33')]){_0x5ef49c[_0x103c('0x31')]=_[_0x103c('0x34')](_0x5ef49c[_0x103c('0x31')],{'$or':_[_0x103c('0x29')](_0x5a68d9,function(_0x380125){if(_0x380125[_0x103c('0x27')]!=='VIRTUAL'){var _0x30ff22={};_0x30ff22[_0x380125[_0x103c('0x23')]]={'$like':'%'+_0x18cc5f['query'][_0x103c('0x33')]+'%'};return _0x30ff22;}})});}_0x5ef49c=_[_0x103c('0x34')]({},_0x5ef49c,_0x18cc5f[_0x103c('0x35')]);var _0x469ffd={'where':_0x5ef49c['where']};return db['WhatsappApplication']['count'](_0x469ffd)[_0x103c('0x20')](function(_0xfa9be9){_0x4f8fed[_0x103c('0x19')]=_0xfa9be9;if(_0x18cc5f['query'][_0x103c('0x36')]){_0x5ef49c[_0x103c('0x37')]=[{'all':!![]}];}return db[_0x103c('0x38')][_0x103c('0x39')](_0x5ef49c);})['then'](function(_0x5701de){_0x4f8fed['rows']=_0x5701de;return _0x4f8fed;})['then'](respondWithFilteredResult(_0x1f857e,_0x5ef49c))['catch'](handleError(_0x1f857e,null));};exports[_0x103c('0x3a')]=function(_0x39672c,_0x4526c6){var _0x281031={'raw':!![],'where':{'id':_0x39672c[_0x103c('0x3b')]['id']}},_0x285abd={};_0x285abd['model']=_[_0x103c('0x2a')](db[_0x103c('0x38')]['rawAttributes']);_0x285abd[_0x103c('0x2b')]=_['keys'](_0x39672c[_0x103c('0x2b')]);_0x285abd[_0x103c('0x2c')]=_[_0x103c('0x2d')](_0x285abd[_0x103c('0x28')],_0x285abd['query']);_0x281031[_0x103c('0x2e')]=_[_0x103c('0x2d')](_0x285abd[_0x103c('0x28')],qs[_0x103c('0x2f')](_0x39672c['query'][_0x103c('0x2f')]));_0x281031[_0x103c('0x2e')]=_0x281031[_0x103c('0x2e')]['length']?_0x281031[_0x103c('0x2e')]:_0x285abd[_0x103c('0x28')];if(_0x39672c['query'][_0x103c('0x36')]){_0x281031[_0x103c('0x37')]=[{'all':!![]}];}_0x281031=_[_0x103c('0x34')]({},_0x281031,_0x39672c['options']);return db['WhatsappApplication']['find'](_0x281031)[_0x103c('0x20')](handleEntityNotFound(_0x4526c6,null))[_0x103c('0x20')](respondWithResult(_0x4526c6,null))[_0x103c('0x3c')](handleError(_0x4526c6,null));};exports['create']=function(_0x8ef110,_0xff28fb){return db[_0x103c('0x38')][_0x103c('0x3d')](_0x8ef110['body'],{})[_0x103c('0x20')](respondWithResult(_0xff28fb,0xc9))[_0x103c('0x3c')](handleError(_0xff28fb,null));};exports[_0x103c('0x1f')]=function(_0x38303e,_0x18daba){if(_0x38303e[_0x103c('0x3e')]['id']){delete _0x38303e['body']['id'];}return db[_0x103c('0x38')][_0x103c('0x3f')]({'where':{'id':_0x38303e[_0x103c('0x3b')]['id']}})['then'](handleEntityNotFound(_0x18daba,null))['then'](saveUpdates(_0x38303e[_0x103c('0x3e')],null))['then'](respondWithResult(_0x18daba,null))['catch'](handleError(_0x18daba,null));};exports[_0x103c('0x40')]=function(_0x341c03,_0x2109eb){return db[_0x103c('0x38')][_0x103c('0x3f')]({'where':{'id':_0x341c03[_0x103c('0x3b')]['id']}})[_0x103c('0x20')](handleEntityNotFound(_0x2109eb,null))[_0x103c('0x20')](removeEntity(_0x2109eb,null))[_0x103c('0x3c')](handleError(_0x2109eb,null));};