71b4c8fb7322b3131354ffd43fa5910f232d5622
[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 _0x72e2=['changed','zone','clientSecret','code','host','serverUrl','slice','substring','lastIndexOf','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.in','https://accounts.zoho.com.cn','https://accounts.zoho.eu','POST','/oauth/v2/token','authorization_code','clientId','application/x-www-form-urlencoded','then','parse','refresh_token','refreshToken','info','format','name','error','ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d','inspect','catch','ZohoAccount,\x20Refresh\x20token\x20successfully\x20generated\x20for\x20account\x20\x22%s\x22\x20#%d','lodash','util','moment','bluebird','request-promise','../../config/environment','./intZohoAccount.attributes','../../components/integrations/configuration','exports','define','int_zoho_accounts'];(function(_0x3f2cfe,_0x16fd1c){var _0x36c4ae=function(_0x5893cb){while(--_0x5893cb){_0x3f2cfe['push'](_0x3f2cfe['shift']());}};_0x36c4ae(++_0x16fd1c);}(_0x72e2,0x16f));var _0x272e=function(_0x209fdf,_0x31b8b7){_0x209fdf=_0x209fdf-0x0;var _0x2e2d99=_0x72e2[_0x209fdf];return _0x2e2d99;};'use strict';var _=require(_0x272e('0x0'));var util=require(_0x272e('0x1'));var logger=require('../../config/logger')('api');var moment=require(_0x272e('0x2'));var BPromise=require(_0x272e('0x3'));var rp=require(_0x272e('0x4'));var fs=require('fs');var path=require('path');var rimraf=require('rimraf');var config=require(_0x272e('0x5'));var attributes=require(_0x272e('0x6'));var integrations=require(_0x272e('0x7'));module[_0x272e('0x8')]=function(_0x49e933,_0x1d1355){return _0x49e933[_0x272e('0x9')]('ZohoAccount',attributes,{'tableName':_0x272e('0xa'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'beforeCreate':function(_0x449158,_0x5f279c,_0x479ba0){if(_0x449158[_0x272e('0xb')](_0x272e('0xc'))||_0x449158['changed']('serverUrl')||_0x449158['changed']('clientId')||_0x449158[_0x272e('0xb')](_0x272e('0xd'))||_0x449158[_0x272e('0xb')](_0x272e('0xe'))||_0x449158[_0x272e('0xb')](_0x272e('0xf'))){var _0x125c1e,_0x46aa40;_0x125c1e=_0x449158[_0x272e('0x10')];var _0x1650b8=_0x125c1e[_0x272e('0x11')](-0x1);if(_0x1650b8==='/'||_0x1650b8==='\x5c'||_0x1650b8===':'){_0x125c1e=_0x125c1e[_0x272e('0x12')](0x0,_0x125c1e[_0x272e('0x13')](_0x1650b8));}switch(_0x449158[_0x272e('0xc')]){case'US':_0x46aa40=_0x272e('0x14');break;case'AU':_0x46aa40=_0x272e('0x15');break;case'IN':_0x46aa40=_0x272e('0x16');break;case'CN':_0x46aa40=_0x272e('0x17');break;default:_0x46aa40=_0x272e('0x18');break;}var _0x7d8c95={'method':_0x272e('0x19'),'uri':_0x46aa40+_0x272e('0x1a'),'form':{'grant_type':_0x272e('0x1b'),'client_id':_0x449158[_0x272e('0x1c')],'client_secret':_0x449158[_0x272e('0xd')],'redirect_uri':_0x449158['serverUrl'],'code':_0x449158[_0x272e('0xe')]},'headers':{'Content-Type':_0x272e('0x1d')}};return rp(_0x7d8c95)[_0x272e('0x1e')](function(_0x42c678){var _0x862c42=JSON[_0x272e('0x1f')](_0x42c678);if(_0x862c42[_0x272e('0x20')]){_0x449158[_0x272e('0x21')]=_0x862c42[_0x272e('0x20')];logger[_0x272e('0x22')](util[_0x272e('0x23')]('ZohoAccount,\x20Refresh\x20token\x20successfully\x20generated\x20for\x20account\x20\x22%s\x22\x20#%d',_0x449158[_0x272e('0x24')],_0x449158['id']));}else{logger[_0x272e('0x25')](util['format'](_0x272e('0x26'),_0x449158[_0x272e('0x24')],_0x449158['id']),util[_0x272e('0x27')](_0x862c42,{'showHidden':![],'depth':null}));}return _0x479ba0(null,_0x5f279c);})[_0x272e('0x28')](function(_0x451fd8){logger['error'](util[_0x272e('0x23')](_0x272e('0x26'),_0x449158[_0x272e('0x24')],_0x449158['id']),util['inspect'](parsedResult,{'showHidden':![],'depth':null}));return _0x479ba0(_0x451fd8);});}else{return _0x479ba0(null,_0x5f279c);}},'beforeUpdate':function(_0x515566,_0x4cc13a,_0x35daed){if(_0x515566[_0x272e('0xb')]('zone')||_0x515566[_0x272e('0xb')]('serverUrl')||_0x515566[_0x272e('0xb')](_0x272e('0x1c'))||_0x515566[_0x272e('0xb')](_0x272e('0xd'))||_0x515566['changed']('code')||_0x515566[_0x272e('0xb')](_0x272e('0xf'))){var _0x6ffcad,_0x15c9e6;_0x6ffcad=_0x515566[_0x272e('0x10')];var _0x1b1a58=_0x6ffcad['slice'](-0x1);if(_0x1b1a58==='/'||_0x1b1a58==='\x5c'||_0x1b1a58===':'){_0x6ffcad=_0x6ffcad[_0x272e('0x12')](0x0,_0x6ffcad[_0x272e('0x13')](_0x1b1a58));}switch(_0x515566[_0x272e('0xc')]){case'US':_0x15c9e6=_0x272e('0x14');break;case'AU':_0x15c9e6='https://accounts.zoho.com.au';break;case'IN':_0x15c9e6='https://accounts.zoho.in';break;case'CN':_0x15c9e6=_0x272e('0x17');break;default:_0x15c9e6=_0x272e('0x18');break;}var _0x13befa={'method':_0x272e('0x19'),'uri':_0x15c9e6+_0x272e('0x1a'),'form':{'grant_type':_0x272e('0x1b'),'client_id':_0x515566['clientId'],'client_secret':_0x515566['clientSecret'],'redirect_uri':_0x515566['serverUrl'],'code':_0x515566['code']},'headers':{'Content-Type':'application/x-www-form-urlencoded'}};return rp(_0x13befa)[_0x272e('0x1e')](function(_0x443840){var _0x3e2f44=JSON[_0x272e('0x1f')](_0x443840);if(_0x3e2f44[_0x272e('0x20')]){_0x515566[_0x272e('0x21')]=_0x3e2f44[_0x272e('0x20')];logger[_0x272e('0x22')](util[_0x272e('0x23')](_0x272e('0x29'),_0x515566[_0x272e('0x24')],_0x515566['id']));}else{logger[_0x272e('0x25')](util[_0x272e('0x23')](_0x272e('0x26'),_0x515566[_0x272e('0x24')],_0x515566['id']),util[_0x272e('0x27')](_0x3e2f44,{'showHidden':![],'depth':null}));}return _0x35daed(null,_0x4cc13a);})[_0x272e('0x28')](function(_0x3682c3){logger[_0x272e('0x25')](util[_0x272e('0x23')](_0x272e('0x26'),_0x515566[_0x272e('0x24')],_0x515566['id']),util[_0x272e('0x27')](parsedResult,{'showHidden':![],'depth':null}));return _0x35daed(_0x3682c3);});}else{return _0x35daed(null,_0x4cc13a);}}}});};