Files
TravelMate/functions/notification_tokens.js
Van Leemput Dayron 3215a990d1 feat: Implement trip invitation functionality and notification handling
- Added TripInvitationRepository for managing trip invitations.
- Created TripInvitation model with serialization methods.
- Implemented notification payload parser for handling FCM notifications.
- Enhanced NotificationService to manage trip invitations and related actions.
- Updated UserRepository to include user search functionality.
- Modified AuthRepository to store multiple FCM tokens.
- Added tests for trip invitation logic and notification payload parsing.
- Updated pubspec.yaml and pubspec.lock for dependency management.
2026-03-13 13:54:47 +01:00

28 lines
711 B
JavaScript

/**
* Retourne tous les tokens FCM d'un profil utilisateur.
*
* La méthode supporte le format historique `fcmToken` (string) et le nouveau
* format `fcmTokens` (array de strings) pour gérer le multi-appareils.
*/
function extractUserFcmTokens(userData) {
const tokens = [];
if (typeof userData.fcmToken === "string" && userData.fcmToken.length > 0) {
tokens.push(userData.fcmToken);
}
if (Array.isArray(userData.fcmTokens)) {
for (const token of userData.fcmTokens) {
if (typeof token === "string" && token.length > 0) {
tokens.push(token);
}
}
}
return tokens;
}
module.exports = {
extractUserFcmTokens,
};