Onboarding

This commit is contained in:
Bastian Wagner
2026-06-09 13:07:07 +02:00
parent 537c7cbbee
commit 8f3806d398
29 changed files with 1037 additions and 26 deletions

View File

@@ -39,6 +39,18 @@ export class AuthService {
return this.http.get<VerifyEmailResponse>(`${this.apiUrl}/verify-email`, { params });
}
loadCurrentUser(): Observable<PublicUser> {
return this.http
.get<PublicUser>(`${this.apiUrl}/me`)
.pipe(tap((user) => this.storeUser(user)));
}
updateOnboardingCompleted(completed: boolean): Observable<PublicUser> {
return this.http
.patch<PublicUser>(`${this.apiUrl}/me/onboarding`, { completed })
.pipe(tap((user) => this.storeUser(user)));
}
accessToken(): string | null {
return this.storage?.getItem(ACCESS_TOKEN_KEY) ?? null;
}
@@ -77,8 +89,12 @@ export class AuthService {
private storeSession(response: AuthTokenResponse): void {
this.storage?.setItem(ACCESS_TOKEN_KEY, response.accessToken);
this.storage?.setItem(REFRESH_TOKEN_KEY, response.refreshToken);
this.storage?.setItem(USER_KEY, JSON.stringify(response.user));
this.userSignal.set(response.user);
this.storeUser(response.user);
}
private storeUser(user: PublicUser): void {
this.storage?.setItem(USER_KEY, JSON.stringify(user));
this.userSignal.set(user);
}
private readStoredUser(): PublicUser | null {