From 0085a39537c4daa4808c7f92b6a5ab3099dea242 Mon Sep 17 00:00:00 2001 From: Xor290 Date: Mon, 2 Mar 2026 18:29:29 +0100 Subject: [PATCH] chore: fix push notif --- mobile/app.json | 1 + mobile/google-services.json | 29 +++++++++++++++++++ ...is-firebase-adminsdk-fbsvc-51a81342e3.json | 13 +++++++++ mobile/src/auth/AuthContext.tsx | 3 -- mobile/src/navigation/ClientNavigator.tsx | 3 +- 5 files changed, 45 insertions(+), 4 deletions(-) create mode 100644 mobile/google-services.json create mode 100644 mobile/milieu-nantais-firebase-adminsdk-fbsvc-51a81342e3.json diff --git a/mobile/app.json b/mobile/app.json index 71c3d89c..57695aa7 100644 --- a/mobile/app.json +++ b/mobile/app.json @@ -17,6 +17,7 @@ "bundleIdentifier": "com.uberstup.clientpanel" }, "android": { + "googleServicesFile": "./google-services.json", "adaptiveIcon": { "foregroundImage": "./assets/icon.png", "backgroundColor": "#000000" diff --git a/mobile/google-services.json b/mobile/google-services.json new file mode 100644 index 00000000..bf4356bb --- /dev/null +++ b/mobile/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "358179533147", + "project_id": "milieu-nantais", + "storage_bucket": "milieu-nantais.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:358179533147:android:20728599f7c862e2362a7e", + "android_client_info": { + "package_name": "com.uberstup.clientpanel" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyDrmjxyOKq5r2VXwfrfiNx-aQrGwNkiyCs" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/mobile/milieu-nantais-firebase-adminsdk-fbsvc-51a81342e3.json b/mobile/milieu-nantais-firebase-adminsdk-fbsvc-51a81342e3.json new file mode 100644 index 00000000..67c78230 --- /dev/null +++ b/mobile/milieu-nantais-firebase-adminsdk-fbsvc-51a81342e3.json @@ -0,0 +1,13 @@ +{ + "type": "service_account", + "project_id": "milieu-nantais", + "private_key_id": "51a81342e30ff18ab089745e431631c6e060687f", + "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDPOZDgOSeDfSpu\n/pCQube8ltjsBCFlIjxuUDpN5d+3GPpH7GZlUnNzScajw9WwLrprvzcAjnaN7Nx5\nyrv/SijLPzVIL9ntniDb/reCh+XycMz36zmuxLzFZcyQmYaYOl3XcVjm5u8GC+l6\nIFeHK55WymhH3/dygssGeLGLJRrTbfkj6YL+CqHM+roomdBlAQNh8Ds+XauyeCZ6\n/fDFlKoyloLKtbvjdxRN0dTP44r93afFFDJjGsLxDyMSmB/JO2cxD+hsndTOnOYI\n8BNyFxukYgTICmSn32CELY1ZTnNpDB7u7VZLwZFgOXxJRp5GblddXfW2KOZa0zxW\nf7c+r8mFAgMBAAECggEABgvjtIsuYjmNeqoeXT6yBARxxWc0cz89vKlGHj5CGhVW\nPjGBZlzyxe8l5uLgshCW+2xbpj5B6s+5uisGc8M97/pC632L8hE+W7TxtVMSTFHq\nxSQdrYILkQXwo1p7cSco1E+4HJqp6EcCM8BMVYMaDmW/B7PbBEIZOvHcGleFkhwy\npGMziXZ9xr8WozrbMCPNpLTLbAZvOxWTC0ZEpj5Bwz2LIwLqiHDSfk74xsLnn+Gp\n7Ed91so7vz9fRJxfT7QlVnHzFZ8YGCQrUl1aq5yy8KuPMn5J1XuQOdy1XbMy1B44\nHQR1+4FnYzrcBgaFgFwGyZk1Mi/sDMgKGcp4HZZKWQKBgQD1NM93aXbeEaAD6gzH\nz8HCCy1GRJTS9/r0mpx4i3kqUlSZkh0zO7UGUXENZ4WOF5OTH4YtqNuOpzUxZhy2\nTkXLlyT6GgWlQYcWkum6FGmFpRPeWxImT2ClhL68+UoqzkwDho3ZWMgaZZfc//rI\ngoVDYRyMsh3A/qBngUKPzYKHqQKBgQDYWL/B7YhR37gatRjPBJBx955+Hrgts8m4\nTlDySOm7LrMvQ12XCEzj9ylgmE2ah+/PG2AEWutLQBiYSCiN+/PUFXHWlYHmfdJg\nX/IQAfVm9UxcTYLklJ460tyX5IJ0rGpUeSF4mkxhX71mig02RUuwmdNTnCzZsbtd\naCfqBR6sfQKBgGr6D0lZibJ4ngcXJVxHF5FArw/o+8TOy33LtlghAUulf6NAS9z+\nP4vyHBBtCadkQc3+AtwIv0ENUferRPuESo738fnrQGtIm1cN4Up9fUwBKRnpQZHV\nL6UGtPBdEi56sk8XdOtOAH8Ds62HQDIaP2mWBI6dZr28WN7PVerHDhuBAoGAIjP9\ntPIRoCgHWimRT4FAONRV+UhwA8GtvXacM4G1egNLDsjOrgcA6PV1VDEf67NcBVkl\nl+qr0kzC1qhpyPCxPrFZOvyN+duge94PTdqRaoKTXPBgJjUcwt39RAI7Yai0csBn\nu0Jhmu9g6SogJplT+wqGr2w8ZvpDTeQek0/V5p0CgYBC4inrAe28IPPqY7NtBHX/\nE939v79U+pA3Xq1WyLfgLd6QrUHsRMO5xvObSUlNrA2U+QQiLkygDnxE0VK9qdYK\nN/zsbZZQdTuDSy1NcMJ50h0ed4CrmYn+mJS3rGlj0Ov9vPa4Ppf/E8Of1uwFFiB4\ng3QpbaO3cuvxiu4EHf25Lg==\n-----END PRIVATE KEY-----\n", + "client_email": "firebase-adminsdk-fbsvc@milieu-nantais.iam.gserviceaccount.com", + "client_id": "102638886608570330042", + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://oauth2.googleapis.com/token", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-fbsvc%40milieu-nantais.iam.gserviceaccount.com", + "universe_domain": "googleapis.com" +} diff --git a/mobile/src/auth/AuthContext.tsx b/mobile/src/auth/AuthContext.tsx index 556a0e21..a6ad057e 100644 --- a/mobile/src/auth/AuthContext.tsx +++ b/mobile/src/auth/AuthContext.tsx @@ -8,7 +8,6 @@ import { clearAllAuth, } from './tokenStorage'; import { extractUsernameFromToken, extractRoleFromToken, isTokenExpired } from './jwtUtils'; -import { removePushTokenFromBackend } from '../services/pushNotifications'; export type UserRole = 'client' | 'admin' | 'cabine' | 'livreur' | null; @@ -137,8 +136,6 @@ export function AuthProvider({ children }: { children: ReactNode }) { }; const logout = async () => { - // Supprimer le push token du backend avant de se déconnecter - try { await removePushTokenFromBackend(); } catch { /* silencieux */ } await clearAllAuth(); setState({ token: null, diff --git a/mobile/src/navigation/ClientNavigator.tsx b/mobile/src/navigation/ClientNavigator.tsx index 235b9b6d..01e9d012 100644 --- a/mobile/src/navigation/ClientNavigator.tsx +++ b/mobile/src/navigation/ClientNavigator.tsx @@ -17,8 +17,8 @@ import { useNotifications } from "../context/NotificationContext"; import { useAuth } from "../auth/AuthContext"; import { useTheme } from "../context/ThemeContext"; import { logoutUser } from "../api/api"; -import { removePushTokenFromBackend } from "../services/pushNotifications"; import type { ClientNotification } from "../api/api"; +import { removePushTokenFromBackend } from "../services/pushNotifications"; import { fontSize, spacing, borderRadius } from "../theme"; import Toast from "../components/ui/Toast"; import type { ClientTabParamList, ClientStackParamList } from "./types"; @@ -76,6 +76,7 @@ function ClientTabs() { }, [navigateToOrder, navigation, clearNavigateToOrder]); const handleLogout = async () => { + try { await removePushTokenFromBackend(); } catch { /* silencieux */ } await logoutUser(); await logout(); };