Built motion from commit (unavailable).|2.5.17
[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 _0x5669=['https://accounts.zoho.eu','POST','/oauth/v2/token','code','application/x-www-form-urlencoded','then','parse','refreshToken','refresh_token','info','ZohoAccount,\x20Refresh\x20token\x20successfully\x20generated\x20for\x20account\x20\x22%s\x22\x20#%d','name','error','format','ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d','inspect','catch','substring','lastIndexOf','lodash','util','../../config/logger','api','bluebird','request-promise','rimraf','../../config/environment','./intZohoAccount.attributes','../../components/integrations/configuration','exports','define','ZohoAccount','int_zoho_accounts','changed','zone','serverUrl','clientId','clientSecret','host','slice','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.in','https://accounts.zoho.com.cn'];(function(_0x344bc8,_0x215e98){var _0x424270=function(_0x29bd2e){while(--_0x29bd2e){_0x344bc8['push'](_0x344bc8['shift']());}};_0x424270(++_0x215e98);}(_0x5669,0x147));var _0x9566=function(_0x3f1b70,_0x52affe){_0x3f1b70=_0x3f1b70-0x0;var _0x373e90=_0x5669[_0x3f1b70];return _0x373e90;};'use strict';var _=require(_0x9566('0x0'));var util=require(_0x9566('0x1'));var logger=require(_0x9566('0x2'))(_0x9566('0x3'));var moment=require('moment');var BPromise=require(_0x9566('0x4'));var rp=require(_0x9566('0x5'));var fs=require('fs');var path=require('path');var rimraf=require(_0x9566('0x6'));var config=require(_0x9566('0x7'));var attributes=require(_0x9566('0x8'));var integrations=require(_0x9566('0x9'));module[_0x9566('0xa')]=function(_0x2cc7a8,_0x208baa){return _0x2cc7a8[_0x9566('0xb')](_0x9566('0xc'),attributes,{'tableName':_0x9566('0xd'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'beforeCreate':function(_0x1656af,_0x3fe521,_0x41a247){if(_0x1656af[_0x9566('0xe')](_0x9566('0xf'))||_0x1656af['changed'](_0x9566('0x10'))||_0x1656af[_0x9566('0xe')](_0x9566('0x11'))||_0x1656af[_0x9566('0xe')](_0x9566('0x12'))||_0x1656af[_0x9566('0xe')]('code')||_0x1656af[_0x9566('0xe')](_0x9566('0x13'))){var _0x2e02e7,_0x2cb13c;_0x2e02e7=_0x1656af[_0x9566('0x10')];var _0x51d2ae=_0x2e02e7[_0x9566('0x14')](-0x1);if(_0x51d2ae==='/'||_0x51d2ae==='\x5c'||_0x51d2ae===':'){_0x2e02e7=_0x2e02e7['substring'](0x0,_0x2e02e7['lastIndexOf'](_0x51d2ae));}switch(_0x1656af[_0x9566('0xf')]){case'US':_0x2cb13c=_0x9566('0x15');break;case'AU':_0x2cb13c=_0x9566('0x16');break;case'IN':_0x2cb13c=_0x9566('0x17');break;case'CN':_0x2cb13c=_0x9566('0x18');break;default:_0x2cb13c=_0x9566('0x19');break;}var _0x186f1e={'method':_0x9566('0x1a'),'uri':_0x2cb13c+_0x9566('0x1b'),'form':{'grant_type':'authorization_code','client_id':_0x1656af[_0x9566('0x11')],'client_secret':_0x1656af[_0x9566('0x12')],'redirect_uri':_0x1656af[_0x9566('0x10')],'code':_0x1656af[_0x9566('0x1c')]},'headers':{'Content-Type':_0x9566('0x1d')}};return rp(_0x186f1e)[_0x9566('0x1e')](function(_0x26841d){var _0x48f848=JSON[_0x9566('0x1f')](_0x26841d);if(_0x48f848['refresh_token']){_0x1656af[_0x9566('0x20')]=_0x48f848[_0x9566('0x21')];logger[_0x9566('0x22')](util['format'](_0x9566('0x23'),_0x1656af[_0x9566('0x24')],_0x1656af['id']));}else{logger[_0x9566('0x25')](util[_0x9566('0x26')](_0x9566('0x27'),_0x1656af[_0x9566('0x24')],_0x1656af['id']),util[_0x9566('0x28')](_0x48f848,{'showHidden':![],'depth':null}));}return _0x41a247(null,_0x3fe521);})[_0x9566('0x29')](function(_0x5415c9){logger['error'](util['format'](_0x9566('0x27'),_0x1656af[_0x9566('0x24')],_0x1656af['id']),util['inspect'](parsedResult,{'showHidden':![],'depth':null}));return _0x41a247(_0x5415c9);});}else{return _0x41a247(null,_0x3fe521);}},'beforeUpdate':function(_0x3ce7c2,_0x5af34a,_0x2a79d3){if(_0x3ce7c2[_0x9566('0xe')](_0x9566('0xf'))||_0x3ce7c2[_0x9566('0xe')](_0x9566('0x10'))||_0x3ce7c2[_0x9566('0xe')](_0x9566('0x11'))||_0x3ce7c2['changed'](_0x9566('0x12'))||_0x3ce7c2[_0x9566('0xe')]('code')||_0x3ce7c2['changed'](_0x9566('0x13'))){var _0x143666,_0x12e741;_0x143666=_0x3ce7c2[_0x9566('0x10')];var _0x492a36=_0x143666[_0x9566('0x14')](-0x1);if(_0x492a36==='/'||_0x492a36==='\x5c'||_0x492a36===':'){_0x143666=_0x143666[_0x9566('0x2a')](0x0,_0x143666[_0x9566('0x2b')](_0x492a36));}switch(_0x3ce7c2[_0x9566('0xf')]){case'US':_0x12e741=_0x9566('0x15');break;case'AU':_0x12e741=_0x9566('0x16');break;case'IN':_0x12e741=_0x9566('0x17');break;case'CN':_0x12e741=_0x9566('0x18');break;default:_0x12e741=_0x9566('0x19');break;}var _0xaf88e6={'method':'POST','uri':_0x12e741+_0x9566('0x1b'),'form':{'grant_type':'authorization_code','client_id':_0x3ce7c2[_0x9566('0x11')],'client_secret':_0x3ce7c2[_0x9566('0x12')],'redirect_uri':_0x3ce7c2[_0x9566('0x10')],'code':_0x3ce7c2['code']},'headers':{'Content-Type':_0x9566('0x1d')}};return rp(_0xaf88e6)[_0x9566('0x1e')](function(_0x101b4d){var _0x3a647d=JSON[_0x9566('0x1f')](_0x101b4d);if(_0x3a647d[_0x9566('0x21')]){_0x3ce7c2[_0x9566('0x20')]=_0x3a647d[_0x9566('0x21')];logger[_0x9566('0x22')](util[_0x9566('0x26')](_0x9566('0x23'),_0x3ce7c2[_0x9566('0x24')],_0x3ce7c2['id']));}else{logger[_0x9566('0x25')](util[_0x9566('0x26')](_0x9566('0x27'),_0x3ce7c2['name'],_0x3ce7c2['id']),util['inspect'](_0x3a647d,{'showHidden':![],'depth':null}));}return _0x2a79d3(null,_0x5af34a);})['catch'](function(_0x29c3bb){logger[_0x9566('0x25')](util['format']('ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d',_0x3ce7c2[_0x9566('0x24')],_0x3ce7c2['id']),util[_0x9566('0x28')](parsedResult,{'showHidden':![],'depth':null}));return _0x2a79d3(_0x29c3bb);});}else{return _0x2a79d3(null,_0x5af34a);}}}});};