diff --git a/frontend/src/hooks.server.ts b/frontend/src/hooks.server.ts index 6c1692db..78c5dae5 100644 --- a/frontend/src/hooks.server.ts +++ b/frontend/src/hooks.server.ts @@ -63,9 +63,8 @@ const userGroup: Handle = async ({ event, resolve }) => { export const handleFetch: HandleFetch = async ({ event, request, fetch }) => { const apiUrl = env.API_INTERNAL_URL || 'http://localhost:8080'; const isApi = request.url.startsWith(apiUrl) || request.url.includes('/api/'); - const isNotLoginTest = !request.url.includes('/api/users/me'); - if (isApi && isNotLoginTest) { + if (isApi) { const token = event.cookies.get('auth_token'); if (!token) { diff --git a/frontend/src/lib/generated/api.ts b/frontend/src/lib/generated/api.ts index decd2f1c..9d693743 100644 --- a/frontend/src/lib/generated/api.ts +++ b/frontend/src/lib/generated/api.ts @@ -4,6 +4,22 @@ */ export interface paths { + "/api/users/me": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["getCurrentUser"]; + put: operations["updateProfile"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/api/tags/{id}": { parameters: { query?: never; @@ -68,6 +84,22 @@ export interface paths { patch?: never; trace?: never; }; + "/api/users/me/password": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["changePassword"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/api/persons": { parameters: { query?: never; @@ -164,17 +196,17 @@ export interface paths { patch: operations["updateGroup"]; trace?: never; }; - "/api/users/me": { + "/api/users/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get: operations["getCurrentUser"]; + get: operations["getUser"]; put?: never; post?: never; - delete?: never; + delete: operations["deleteUser"]; options?: never; head?: never; patch?: never; @@ -228,6 +260,22 @@ export interface paths { patch?: never; trace?: never; }; + "/api/persons/{id}/correspondents": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["getCorrespondents"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/api/documents/{id}/file": { parameters: { query?: never; @@ -292,31 +340,55 @@ export interface paths { patch?: never; trace?: never; }; - "/api/users/{id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - delete: operations["deleteUser"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; } export type webhooks = Record; export interface components { schemas: { + UpdateProfileDTO: { + firstName?: string; + lastName?: string; + /** Format: date */ + birthDate?: string; + email?: string; + contact?: string; + }; + AppUser: { + /** Format: uuid */ + id: string; + username: string; + password?: string; + firstName?: string; + lastName?: string; + /** Format: date */ + birthDate?: string; + email?: string; + contact?: string; + enabled: boolean; + groups: components["schemas"]["UserGroup"][]; + /** Format: date-time */ + createdAt: string; + }; + UserGroup: { + /** Format: uuid */ + id: string; + name: string; + permissions: string[]; + }; Tag: { /** Format: uuid */ id: string; name: string; }; + PersonUpdateDTO: { + firstName?: string; + lastName?: string; + alias?: string; + notes?: string; + /** Format: int32 */ + birthYear?: number; + /** Format: int32 */ + deathYear?: number; + }; Person: { /** Format: uuid */ id: string; @@ -373,22 +445,9 @@ export interface components { initialPassword?: string; groupIds?: string[]; }; - AppUser: { - /** Format: uuid */ - id: string; - username: string; - password?: string; - email?: string; - enabled: boolean; - groups: components["schemas"]["UserGroup"][]; - /** Format: date-time */ - createdAt: string; - }; - UserGroup: { - /** Format: uuid */ - id: string; - name: string; - permissions: string[]; + ChangePasswordDTO: { + currentPassword?: string; + newPassword?: string; }; GroupDTO: { name?: string; @@ -412,6 +471,50 @@ export interface components { } export type $defs = Record; export interface operations { + getCurrentUser: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["AppUser"]; + }; + }; + }; + }; + updateProfile: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["UpdateProfileDTO"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["AppUser"]; + }; + }; + }; + }; updateTag: { parameters: { query?: never; @@ -493,9 +596,7 @@ export interface operations { }; requestBody: { content: { - "application/json": { - [key: string]: string; - }; + "application/json": components["schemas"]["PersonUpdateDTO"]; }; }; responses: { @@ -602,6 +703,28 @@ export interface operations { }; }; }; + changePassword: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ChangePasswordDTO"]; + }; + }; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; getPersons: { parameters: { query?: { @@ -810,11 +933,13 @@ export interface operations { }; }; }; - getCurrentUser: { + getUser: { parameters: { query?: never; header?: never; - path?: never; + path: { + id: string; + }; cookie?: never; }; requestBody?: never; @@ -830,6 +955,26 @@ export interface operations { }; }; }; + deleteUser: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; searchTags: { parameters: { query?: { @@ -896,6 +1041,30 @@ export interface operations { }; }; }; + getCorrespondents: { + parameters: { + query?: { + q?: string; + }; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["Person"][]; + }; + }; + }; + }; getDocumentFile: { parameters: { query?: never; @@ -991,24 +1160,4 @@ export interface operations { }; }; }; - deleteUser: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; }