Built motion from commit (unavailable).|2.5.4
[motion2.git] / server / api / intZohoAccount / intZohoAccount.model.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 _0x76df=['define','ZohoAccount','int_zoho_accounts','changed','zone','clientId','clientSecret','code','substring','lastIndexOf','https://accounts.zoho.com.au','https://accounts.zoho.in','https://accounts.zoho.eu','authorization_code','serverUrl','parse','refresh_token','refreshToken','format','ZohoAccount,\x20Refresh\x20token\x20successfully\x20generated\x20for\x20account\x20\x22%s\x22\x20#%d','name','error','ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d','inspect','catch','host','slice','https://accounts.zoho.com','https://accounts.zoho.com.cn','/oauth/v2/token','application/x-www-form-urlencoded','then','info','lodash','api','moment','bluebird','request-promise','path','./intZohoAccount.attributes','exports'];(function(_0x41369d,_0x3dbf85){var _0x592a0d=function(_0x444d09){while(--_0x444d09){_0x41369d['push'](_0x41369d['shift']());}};_0x592a0d(++_0x3dbf85);}(_0x76df,0x73));var _0xf76d=function(_0x7671bc,_0x171145){_0x7671bc=_0x7671bc-0x0;var _0x55229f=_0x76df[_0x7671bc];return _0x55229f;};'use strict';var _=require(_0xf76d('0x0'));var util=require('util');var logger=require('../../config/logger')(_0xf76d('0x1'));var moment=require(_0xf76d('0x2'));var BPromise=require(_0xf76d('0x3'));var rp=require(_0xf76d('0x4'));var fs=require('fs');var path=require(_0xf76d('0x5'));var rimraf=require('rimraf');var config=require('../../config/environment');var attributes=require(_0xf76d('0x6'));var integrations=require('../../components/integrations/configuration');module[_0xf76d('0x7')]=function(_0x36a70c,_0x25336c){return _0x36a70c[_0xf76d('0x8')](_0xf76d('0x9'),attributes,{'tableName':_0xf76d('0xa'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'beforeCreate':function(_0x4023f7,_0x425401,_0x20a1d2){if(_0x4023f7[_0xf76d('0xb')](_0xf76d('0xc'))||_0x4023f7[_0xf76d('0xb')]('serverUrl')||_0x4023f7[_0xf76d('0xb')](_0xf76d('0xd'))||_0x4023f7[_0xf76d('0xb')](_0xf76d('0xe'))||_0x4023f7['changed'](_0xf76d('0xf'))||_0x4023f7[_0xf76d('0xb')]('host')){var _0x1d9a6b,_0x2db8cf;_0x1d9a6b=_0x4023f7['serverUrl'];var _0x2c2557=_0x1d9a6b['slice'](-0x1);if(_0x2c2557==='/'||_0x2c2557==='\x5c'||_0x2c2557===':'){_0x1d9a6b=_0x1d9a6b[_0xf76d('0x10')](0x0,_0x1d9a6b[_0xf76d('0x11')](_0x2c2557));}switch(_0x4023f7[_0xf76d('0xc')]){case'US':_0x2db8cf='https://accounts.zoho.com';break;case'AU':_0x2db8cf=_0xf76d('0x12');break;case'IN':_0x2db8cf=_0xf76d('0x13');break;case'CN':_0x2db8cf='https://accounts.zoho.com.cn';break;default:_0x2db8cf=_0xf76d('0x14');break;}var _0x536ec4={'method':'POST','uri':_0x2db8cf+'/oauth/v2/token','form':{'grant_type':_0xf76d('0x15'),'client_id':_0x4023f7['clientId'],'client_secret':_0x4023f7[_0xf76d('0xe')],'redirect_uri':_0x4023f7[_0xf76d('0x16')],'code':_0x4023f7[_0xf76d('0xf')]},'headers':{'Content-Type':'application/x-www-form-urlencoded'}};return rp(_0x536ec4)['then'](function(_0xaed691){var _0xc191c0=JSON[_0xf76d('0x17')](_0xaed691);if(_0xc191c0[_0xf76d('0x18')]){_0x4023f7[_0xf76d('0x19')]=_0xc191c0[_0xf76d('0x18')];logger['info'](util[_0xf76d('0x1a')](_0xf76d('0x1b'),_0x4023f7[_0xf76d('0x1c')],_0x4023f7['id']));}else{logger[_0xf76d('0x1d')](util[_0xf76d('0x1a')](_0xf76d('0x1e'),_0x4023f7[_0xf76d('0x1c')],_0x4023f7['id']),util[_0xf76d('0x1f')](_0xc191c0,{'showHidden':![],'depth':null}));}return _0x20a1d2(null,_0x425401);})[_0xf76d('0x20')](function(_0x5c0e82){logger[_0xf76d('0x1d')](util[_0xf76d('0x1a')]('ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d',_0x4023f7[_0xf76d('0x1c')],_0x4023f7['id']),util[_0xf76d('0x1f')](parsedResult,{'showHidden':![],'depth':null}));return _0x20a1d2(_0x5c0e82);});}else{return _0x20a1d2(null,_0x425401);}},'beforeUpdate':function(_0x220f78,_0x5e4915,_0x51cd1a){if(_0x220f78[_0xf76d('0xb')](_0xf76d('0xc'))||_0x220f78[_0xf76d('0xb')]('serverUrl')||_0x220f78['changed'](_0xf76d('0xd'))||_0x220f78[_0xf76d('0xb')](_0xf76d('0xe'))||_0x220f78[_0xf76d('0xb')](_0xf76d('0xf'))||_0x220f78[_0xf76d('0xb')](_0xf76d('0x21'))){var _0x586426,_0x391440;_0x586426=_0x220f78[_0xf76d('0x16')];var _0x8830d0=_0x586426[_0xf76d('0x22')](-0x1);if(_0x8830d0==='/'||_0x8830d0==='\x5c'||_0x8830d0===':'){_0x586426=_0x586426[_0xf76d('0x10')](0x0,_0x586426[_0xf76d('0x11')](_0x8830d0));}switch(_0x220f78[_0xf76d('0xc')]){case'US':_0x391440=_0xf76d('0x23');break;case'AU':_0x391440=_0xf76d('0x12');break;case'IN':_0x391440='https://accounts.zoho.in';break;case'CN':_0x391440=_0xf76d('0x24');break;default:_0x391440=_0xf76d('0x14');break;}var _0x39678b={'method':'POST','uri':_0x391440+_0xf76d('0x25'),'form':{'grant_type':'authorization_code','client_id':_0x220f78[_0xf76d('0xd')],'client_secret':_0x220f78[_0xf76d('0xe')],'redirect_uri':_0x220f78[_0xf76d('0x16')],'code':_0x220f78[_0xf76d('0xf')]},'headers':{'Content-Type':_0xf76d('0x26')}};return rp(_0x39678b)[_0xf76d('0x27')](function(_0x226f62){var _0x515e06=JSON[_0xf76d('0x17')](_0x226f62);if(_0x515e06[_0xf76d('0x18')]){_0x220f78[_0xf76d('0x19')]=_0x515e06[_0xf76d('0x18')];logger[_0xf76d('0x28')](util[_0xf76d('0x1a')](_0xf76d('0x1b'),_0x220f78[_0xf76d('0x1c')],_0x220f78['id']));}else{logger['error'](util[_0xf76d('0x1a')](_0xf76d('0x1e'),_0x220f78[_0xf76d('0x1c')],_0x220f78['id']),util[_0xf76d('0x1f')](_0x515e06,{'showHidden':![],'depth':null}));}return _0x51cd1a(null,_0x5e4915);})[_0xf76d('0x20')](function(_0x266eb1){logger[_0xf76d('0x1d')](util[_0xf76d('0x1a')](_0xf76d('0x1e'),_0x220f78['name'],_0x220f78['id']),util[_0xf76d('0x1f')](parsedResult,{'showHidden':![],'depth':null}));return _0x51cd1a(_0x266eb1);});}else{return _0x51cd1a(null,_0x5e4915);}}}});};