Built motion from commit d5e4af8c.|2.6.23
[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 _0xe6d0=['https://accounts.zoho.com','https://accounts.zoho.eu','authorization_code','clientId','clientSecret','code','application/x-www-form-urlencoded','refresh_token','refreshToken','info','format','ZohoAccount,\x20Refresh\x20token\x20successfully\x20generated\x20for\x20account\x20\x22%s\x22\x20#%d','error','name','inspect','catch','ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d','https://accounts.zoho.in','https://accounts.zoho.com.cn','POST','/oauth/v2/token','parse','lodash','util','../../config/logger','moment','bluebird','rimraf','../../config/environment','./intZohoAccount.attributes','../../components/integrations/configuration','exports','ZohoAccount','int_zoho_accounts','changed','zone','serverUrl','slice','substring','lastIndexOf'];(function(_0x3a2c29,_0x3e1216){var _0x18cc5e=function(_0x3027a3){while(--_0x3027a3){_0x3a2c29['push'](_0x3a2c29['shift']());}};_0x18cc5e(++_0x3e1216);}(_0xe6d0,0x17e));var _0x0e6d=function(_0x5b2263,_0x2df183){_0x5b2263=_0x5b2263-0x0;var _0x487cbe=_0xe6d0[_0x5b2263];return _0x487cbe;};'use strict';var _=require(_0x0e6d('0x0'));var util=require(_0x0e6d('0x1'));var logger=require(_0x0e6d('0x2'))('api');var moment=require(_0x0e6d('0x3'));var BPromise=require(_0x0e6d('0x4'));var rp=require('request-promise');var fs=require('fs');var path=require('path');var rimraf=require(_0x0e6d('0x5'));var config=require(_0x0e6d('0x6'));var attributes=require(_0x0e6d('0x7'));var integrations=require(_0x0e6d('0x8'));module[_0x0e6d('0x9')]=function(_0x174ec3,_0x386715){return _0x174ec3['define'](_0x0e6d('0xa'),attributes,{'tableName':_0x0e6d('0xb'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'beforeCreate':function(_0x606776,_0x47b376,_0x46c97a){if(_0x606776[_0x0e6d('0xc')](_0x0e6d('0xd'))||_0x606776[_0x0e6d('0xc')](_0x0e6d('0xe'))||_0x606776[_0x0e6d('0xc')]('clientId')||_0x606776[_0x0e6d('0xc')]('clientSecret')||_0x606776[_0x0e6d('0xc')]('code')||_0x606776['changed']('host')){var _0xee55ee,_0x30d156;_0xee55ee=_0x606776[_0x0e6d('0xe')];var _0x2982ff=_0xee55ee[_0x0e6d('0xf')](-0x1);if(_0x2982ff==='/'||_0x2982ff==='\x5c'||_0x2982ff===':'){_0xee55ee=_0xee55ee[_0x0e6d('0x10')](0x0,_0xee55ee[_0x0e6d('0x11')](_0x2982ff));}switch(_0x606776[_0x0e6d('0xd')]){case'US':_0x30d156=_0x0e6d('0x12');break;case'AU':_0x30d156='https://accounts.zoho.com.au';break;case'IN':_0x30d156='https://accounts.zoho.in';break;case'CN':_0x30d156='https://accounts.zoho.com.cn';break;default:_0x30d156=_0x0e6d('0x13');break;}var _0x3b3734={'method':'POST','uri':_0x30d156+'/oauth/v2/token','form':{'grant_type':_0x0e6d('0x14'),'client_id':_0x606776[_0x0e6d('0x15')],'client_secret':_0x606776[_0x0e6d('0x16')],'redirect_uri':_0x606776[_0x0e6d('0xe')],'code':_0x606776[_0x0e6d('0x17')]},'headers':{'Content-Type':_0x0e6d('0x18')}};return rp(_0x3b3734)['then'](function(_0x2a5861){var _0x5856b0=JSON['parse'](_0x2a5861);if(_0x5856b0[_0x0e6d('0x19')]){_0x606776[_0x0e6d('0x1a')]=_0x5856b0[_0x0e6d('0x19')];logger[_0x0e6d('0x1b')](util[_0x0e6d('0x1c')](_0x0e6d('0x1d'),_0x606776['name'],_0x606776['id']));}else{logger[_0x0e6d('0x1e')](util[_0x0e6d('0x1c')]('ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d',_0x606776[_0x0e6d('0x1f')],_0x606776['id']),util[_0x0e6d('0x20')](_0x5856b0,{'showHidden':![],'depth':null}));}return _0x46c97a(null,_0x47b376);})[_0x0e6d('0x21')](function(_0x57fca7){logger[_0x0e6d('0x1e')](util['format'](_0x0e6d('0x22'),_0x606776['name'],_0x606776['id']),util[_0x0e6d('0x20')](parsedResult,{'showHidden':![],'depth':null}));return _0x46c97a(_0x57fca7);});}else{return _0x46c97a(null,_0x47b376);}},'beforeUpdate':function(_0x1b5b44,_0x14174c,_0x138ed2){if(_0x1b5b44['changed'](_0x0e6d('0xd'))||_0x1b5b44[_0x0e6d('0xc')](_0x0e6d('0xe'))||_0x1b5b44[_0x0e6d('0xc')](_0x0e6d('0x15'))||_0x1b5b44[_0x0e6d('0xc')](_0x0e6d('0x16'))||_0x1b5b44[_0x0e6d('0xc')]('code')||_0x1b5b44['changed']('host')){var _0x262b52,_0x51d33c;_0x262b52=_0x1b5b44['serverUrl'];var _0x1388f8=_0x262b52[_0x0e6d('0xf')](-0x1);if(_0x1388f8==='/'||_0x1388f8==='\x5c'||_0x1388f8===':'){_0x262b52=_0x262b52[_0x0e6d('0x10')](0x0,_0x262b52[_0x0e6d('0x11')](_0x1388f8));}switch(_0x1b5b44['zone']){case'US':_0x51d33c=_0x0e6d('0x12');break;case'AU':_0x51d33c='https://accounts.zoho.com.au';break;case'IN':_0x51d33c=_0x0e6d('0x23');break;case'CN':_0x51d33c=_0x0e6d('0x24');break;default:_0x51d33c=_0x0e6d('0x13');break;}var _0x467ac8={'method':_0x0e6d('0x25'),'uri':_0x51d33c+_0x0e6d('0x26'),'form':{'grant_type':_0x0e6d('0x14'),'client_id':_0x1b5b44['clientId'],'client_secret':_0x1b5b44[_0x0e6d('0x16')],'redirect_uri':_0x1b5b44['serverUrl'],'code':_0x1b5b44[_0x0e6d('0x17')]},'headers':{'Content-Type':_0x0e6d('0x18')}};return rp(_0x467ac8)['then'](function(_0x55619c){var _0x1e214b=JSON[_0x0e6d('0x27')](_0x55619c);if(_0x1e214b[_0x0e6d('0x19')]){_0x1b5b44[_0x0e6d('0x1a')]=_0x1e214b[_0x0e6d('0x19')];logger[_0x0e6d('0x1b')](util[_0x0e6d('0x1c')](_0x0e6d('0x1d'),_0x1b5b44[_0x0e6d('0x1f')],_0x1b5b44['id']));}else{logger[_0x0e6d('0x1e')](util[_0x0e6d('0x1c')](_0x0e6d('0x22'),_0x1b5b44[_0x0e6d('0x1f')],_0x1b5b44['id']),util[_0x0e6d('0x20')](_0x1e214b,{'showHidden':![],'depth':null}));}return _0x138ed2(null,_0x14174c);})[_0x0e6d('0x21')](function(_0x12b1be){logger[_0x0e6d('0x1e')](util[_0x0e6d('0x1c')](_0x0e6d('0x22'),_0x1b5b44[_0x0e6d('0x1f')],_0x1b5b44['id']),util['inspect'](parsedResult,{'showHidden':![],'depth':null}));return _0x138ed2(_0x12b1be);});}else{return _0x138ed2(null,_0x14174c);}}}});};