- Implemented connecting multiple accounts for microsoft

This commit is contained in:
Dejan
2024-10-20 19:16:48 +02:00
parent d6d1bcf3cf
commit be28266696
3 changed files with 90 additions and 43 deletions

View File

@ -204,11 +204,17 @@ exports.refreshTokens = functions.pubsub.schedule('every 12 hours').onRun(async
}
}
if (profileData.microsoftToken) {
if (profileData.microsoftAccounts) {
try {
const refreshedMicrosoftToken = await refreshMicrosoftToken(profileData.microsoftToken);
await profileDoc.ref.update({microsoftToken: refreshedMicrosoftToken});
console.log(`Microsoft token updated for user ${profileDoc.id}`);
for (const microsoftEmail of Object.keys(profileData?.microsoftAccounts)) {
const microsoftToken = profileData?.microsoftAccounts?.[microsoftEmail];
if (microsoftToken) {
const refreshedMicrosoftToken = await refreshMicrosoftToken(microsoftToken);
const updatedMicrosoftAccounts = {...profileData.microsoftAccounts, [microsoftEmail]: refreshedMicrosoftToken};
await profileDoc.ref.update({microsoftAccounts: updatedMicrosoftAccounts});
console.log(`Microsoft token updated for user ${profileDoc.id}`);
}
}
} catch (error) {
console.error(`Error refreshing Microsoft token for user ${profileDoc.id}:`, error.message);
}