Built motion from commit (unavailable).|2.5.13
[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 _0xc61d=['POST','/oauth/v2/token','code','application/x-www-form-urlencoded','parse','refresh_token','refreshToken','format','ZohoAccount,\x20Refresh\x20token\x20successfully\x20generated\x20for\x20account\x20\x22%s\x22\x20#%d','name','error','catch','ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d','inspect','clientId','https://accounts.zoho.com.au','authorization_code','then','info','lodash','../../config/logger','api','bluebird','request-promise','path','rimraf','../../config/environment','./intZohoAccount.attributes','../../components/integrations/configuration','exports','ZohoAccount','int_zoho_accounts','zone','changed','serverUrl','clientSecret','host','slice','substring','lastIndexOf','https://accounts.zoho.com','https://accounts.zoho.in','https://accounts.zoho.com.cn'];(function(_0x4cf98e,_0xba4b79){var _0x1623ac=function(_0x459bc0){while(--_0x459bc0){_0x4cf98e['push'](_0x4cf98e['shift']());}};_0x1623ac(++_0xba4b79);}(_0xc61d,0x1c1));var _0xdc61=function(_0x2b2fb9,_0x26a504){_0x2b2fb9=_0x2b2fb9-0x0;var _0x539499=_0xc61d[_0x2b2fb9];return _0x539499;};'use strict';var _=require(_0xdc61('0x0'));var util=require('util');var logger=require(_0xdc61('0x1'))(_0xdc61('0x2'));var moment=require('moment');var BPromise=require(_0xdc61('0x3'));var rp=require(_0xdc61('0x4'));var fs=require('fs');var path=require(_0xdc61('0x5'));var rimraf=require(_0xdc61('0x6'));var config=require(_0xdc61('0x7'));var attributes=require(_0xdc61('0x8'));var integrations=require(_0xdc61('0x9'));module[_0xdc61('0xa')]=function(_0x25477c,_0x3b3ce8){return _0x25477c['define'](_0xdc61('0xb'),attributes,{'tableName':_0xdc61('0xc'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'beforeCreate':function(_0x31324a,_0x5b3636,_0x245f2d){if(_0x31324a['changed'](_0xdc61('0xd'))||_0x31324a[_0xdc61('0xe')](_0xdc61('0xf'))||_0x31324a[_0xdc61('0xe')]('clientId')||_0x31324a[_0xdc61('0xe')](_0xdc61('0x10'))||_0x31324a[_0xdc61('0xe')]('code')||_0x31324a[_0xdc61('0xe')](_0xdc61('0x11'))){var _0x1dd7ba,_0x24eabd;_0x1dd7ba=_0x31324a[_0xdc61('0xf')];var _0x446b04=_0x1dd7ba[_0xdc61('0x12')](-0x1);if(_0x446b04==='/'||_0x446b04==='\x5c'||_0x446b04===':'){_0x1dd7ba=_0x1dd7ba[_0xdc61('0x13')](0x0,_0x1dd7ba[_0xdc61('0x14')](_0x446b04));}switch(_0x31324a[_0xdc61('0xd')]){case'US':_0x24eabd=_0xdc61('0x15');break;case'AU':_0x24eabd='https://accounts.zoho.com.au';break;case'IN':_0x24eabd=_0xdc61('0x16');break;case'CN':_0x24eabd=_0xdc61('0x17');break;default:_0x24eabd='https://accounts.zoho.eu';break;}var _0x2855d5={'method':_0xdc61('0x18'),'uri':_0x24eabd+_0xdc61('0x19'),'form':{'grant_type':'authorization_code','client_id':_0x31324a['clientId'],'client_secret':_0x31324a[_0xdc61('0x10')],'redirect_uri':_0x31324a[_0xdc61('0xf')],'code':_0x31324a[_0xdc61('0x1a')]},'headers':{'Content-Type':_0xdc61('0x1b')}};return rp(_0x2855d5)['then'](function(_0x328749){var _0x3ffd96=JSON[_0xdc61('0x1c')](_0x328749);if(_0x3ffd96[_0xdc61('0x1d')]){_0x31324a[_0xdc61('0x1e')]=_0x3ffd96['refresh_token'];logger['info'](util[_0xdc61('0x1f')](_0xdc61('0x20'),_0x31324a[_0xdc61('0x21')],_0x31324a['id']));}else{logger[_0xdc61('0x22')](util['format']('ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d',_0x31324a[_0xdc61('0x21')],_0x31324a['id']),util['inspect'](_0x3ffd96,{'showHidden':![],'depth':null}));}return _0x245f2d(null,_0x5b3636);})[_0xdc61('0x23')](function(_0xd47a9d){logger[_0xdc61('0x22')](util[_0xdc61('0x1f')](_0xdc61('0x24'),_0x31324a[_0xdc61('0x21')],_0x31324a['id']),util[_0xdc61('0x25')](parsedResult,{'showHidden':![],'depth':null}));return _0x245f2d(_0xd47a9d);});}else{return _0x245f2d(null,_0x5b3636);}},'beforeUpdate':function(_0x16ff9a,_0x2434bc,_0x226792){if(_0x16ff9a[_0xdc61('0xe')](_0xdc61('0xd'))||_0x16ff9a[_0xdc61('0xe')](_0xdc61('0xf'))||_0x16ff9a['changed'](_0xdc61('0x26'))||_0x16ff9a[_0xdc61('0xe')]('clientSecret')||_0x16ff9a[_0xdc61('0xe')](_0xdc61('0x1a'))||_0x16ff9a[_0xdc61('0xe')](_0xdc61('0x11'))){var _0x57b65f,_0xa69b83;_0x57b65f=_0x16ff9a[_0xdc61('0xf')];var _0x2e7447=_0x57b65f[_0xdc61('0x12')](-0x1);if(_0x2e7447==='/'||_0x2e7447==='\x5c'||_0x2e7447===':'){_0x57b65f=_0x57b65f[_0xdc61('0x13')](0x0,_0x57b65f[_0xdc61('0x14')](_0x2e7447));}switch(_0x16ff9a[_0xdc61('0xd')]){case'US':_0xa69b83=_0xdc61('0x15');break;case'AU':_0xa69b83=_0xdc61('0x27');break;case'IN':_0xa69b83='https://accounts.zoho.in';break;case'CN':_0xa69b83=_0xdc61('0x17');break;default:_0xa69b83='https://accounts.zoho.eu';break;}var _0xe4f70={'method':_0xdc61('0x18'),'uri':_0xa69b83+'/oauth/v2/token','form':{'grant_type':_0xdc61('0x28'),'client_id':_0x16ff9a[_0xdc61('0x26')],'client_secret':_0x16ff9a[_0xdc61('0x10')],'redirect_uri':_0x16ff9a[_0xdc61('0xf')],'code':_0x16ff9a[_0xdc61('0x1a')]},'headers':{'Content-Type':_0xdc61('0x1b')}};return rp(_0xe4f70)[_0xdc61('0x29')](function(_0xfc906e){var _0x17bf61=JSON[_0xdc61('0x1c')](_0xfc906e);if(_0x17bf61['refresh_token']){_0x16ff9a[_0xdc61('0x1e')]=_0x17bf61[_0xdc61('0x1d')];logger[_0xdc61('0x2a')](util[_0xdc61('0x1f')](_0xdc61('0x20'),_0x16ff9a['name'],_0x16ff9a['id']));}else{logger[_0xdc61('0x22')](util['format'](_0xdc61('0x24'),_0x16ff9a[_0xdc61('0x21')],_0x16ff9a['id']),util['inspect'](_0x17bf61,{'showHidden':![],'depth':null}));}return _0x226792(null,_0x2434bc);})[_0xdc61('0x23')](function(_0x2a4072){logger[_0xdc61('0x22')](util[_0xdc61('0x1f')](_0xdc61('0x24'),_0x16ff9a[_0xdc61('0x21')],_0x16ff9a['id']),util['inspect'](parsedResult,{'showHidden':![],'depth':null}));return _0x226792(_0x2a4072);});}else{return _0x226792(null,_0x2434bc);}}}});};