featuer change for calendar
This commit is contained in:
@@ -24,6 +24,14 @@ export const atemschutzApi = {
|
||||
);
|
||||
},
|
||||
|
||||
async getMyStatus(): Promise<AtemschutzUebersicht | null> {
|
||||
const response = await api.get<{ success: boolean; data: AtemschutzUebersicht | null }>(
|
||||
'/api/atemschutz/my-status'
|
||||
);
|
||||
// data can be null when the user has no atemschutz entry
|
||||
return response.data?.data ?? null;
|
||||
},
|
||||
|
||||
async getById(id: string): Promise<AtemschutzUebersicht> {
|
||||
return unwrap(
|
||||
api.get<{ success: boolean; data: AtemschutzUebersicht }>(`/api/atemschutz/${id}`)
|
||||
|
||||
@@ -9,6 +9,19 @@ export interface AuthCallbackResponse {
|
||||
user: User;
|
||||
}
|
||||
|
||||
// The backend returns camelCase field names; map them to the snake_case User type.
|
||||
function mapBackendUser(backendUser: Record<string, unknown>): User {
|
||||
return {
|
||||
id: backendUser.id as string,
|
||||
email: backendUser.email as string,
|
||||
name: backendUser.name as string,
|
||||
given_name: (backendUser.given_name ?? backendUser.givenName) as string,
|
||||
family_name: (backendUser.family_name ?? backendUser.familyName) as string,
|
||||
preferred_username: (backendUser.preferred_username ?? backendUser.preferredUsername) as string | undefined,
|
||||
groups: backendUser.groups as string[] | undefined,
|
||||
};
|
||||
}
|
||||
|
||||
export const authService = {
|
||||
/**
|
||||
* Generate Authentik authorization URL
|
||||
@@ -31,14 +44,14 @@ export const authService = {
|
||||
const response = await api.post<{
|
||||
success: boolean;
|
||||
message: string;
|
||||
data: { accessToken: string; refreshToken: string; user: User };
|
||||
data: { accessToken: string; refreshToken: string; user: Record<string, unknown> };
|
||||
}>('/api/auth/callback', {
|
||||
code,
|
||||
redirect_uri: REDIRECT_URI,
|
||||
});
|
||||
return {
|
||||
token: response.data.data.accessToken,
|
||||
user: response.data.data.user,
|
||||
user: mapBackendUser(response.data.data.user),
|
||||
};
|
||||
},
|
||||
|
||||
@@ -59,7 +72,7 @@ export const authService = {
|
||||
* Get current user information
|
||||
*/
|
||||
async getCurrentUser(): Promise<User> {
|
||||
const response = await api.get<User>('/api/user/me');
|
||||
return response.data;
|
||||
const response = await api.get<{ success: boolean; data: Record<string, unknown> }>('/api/user/me');
|
||||
return mapBackendUser(response.data.data);
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user