Test refreshToken fix
All checks were successful
Test - Build & Deploy to Scaleway / build-and-push-image-lecoffre (push) Successful in 11s
Test - Build & Deploy to Scaleway / deploy-to-scaleway-lecoffre (push) Successful in 3s

This commit is contained in:
omaroughriss 2025-07-31 15:18:19 +02:00
parent 2d28f1a21a
commit 595f7f97a1
2 changed files with 49 additions and 14 deletions

View File

@ -20,20 +20,49 @@ export default function SubscriptionSuccess() {
const [customer, setCustomer] = useState<any | null>(null);
const loadSubscription = useCallback(async () => {
const jwt = JwtService.getInstance().decodeJwt();
const subscription = await Subscriptions.getInstance().get({ where: { office: { uid: jwt?.office_Id } } });
if (!subscription[0]) return;
setSubscription(subscription[0]);
const customer = await Stripe.getInstance().getCustomerBySubscriptionId(subscription[0].stripe_subscription_id!);
setCustomer(customer);
try {
const jwt = JwtService.getInstance().decodeJwt();
if (!jwt || !jwt.office_Id) {
console.error("No valid JWT token found");
return;
}
const subscription = await Subscriptions.getInstance().get({
where: { office: { uid: jwt.office_Id } }
});
if (!subscription[0]) return;
setSubscription(subscription[0]);
const customer = await Stripe.getInstance().getCustomerBySubscriptionId(
subscription[0].stripe_subscription_id!
);
setCustomer(customer);
} catch (error) {
console.error("Error loading subscription:", error);
}
}, []);
const refreshToken = useCallback(async () => {
CookieService.getInstance().deleteCookie("leCoffreAccessToken");
const refreshToken = CookieService.getInstance().getCookie("leCoffreRefreshToken");
if (!refreshToken) return;
await JwtService.getInstance().forceRefreshToken(refreshToken);
await loadSubscription();
try {
const refreshToken = CookieService.getInstance().getCookie("leCoffreRefreshToken");
if (!refreshToken) {
console.error("No refresh token found");
return;
}
const success = await JwtService.getInstance().forceRefreshToken(refreshToken);
if (!success) {
console.error("Failed to refresh token");
return;
}
// Attendre un peu pour s'assurer que le cookie est bien défini
await new Promise(resolve => setTimeout(resolve, 100));
await loadSubscription();
} catch (error) {
console.error("Error refreshing token:", error);
}
}, [loadSubscription]);
const getFrequency = useCallback(() => {

View File

@ -23,16 +23,22 @@ export default class UserStore {
public async connect(accessToken: string, refreshToken: string) {
try {
//Save tokens in cookies
// Assigner les tokens à l'instance
this.accessToken = accessToken;
this.refreshToken = refreshToken;
// Sauvegarder les tokens dans les cookies
CookieService.getInstance().setCookie("leCoffreAccessToken", accessToken);
CookieService.getInstance().setCookie("leCoffreRefreshToken", refreshToken);
this.event.emit("connection", this.accessToken);
return true;
} catch (error) {
console.error(error);
console.error("Error connecting user:", error);
this.accessToken = null;
this.refreshToken = null;
return false;
}
return true;
}
public async disconnect() {