feat(frontend) : add portal pages, update auth middleware and DTOs for client portal

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-15 19:51:51 +01:00
parent 17c5160f2c
commit 0724d38a26
8 changed files with 347 additions and 29 deletions

View File

@@ -1,5 +1,4 @@
import type { TaskDocument } from './task-document'
import type { UserData } from './user-data'
export type ClientTicketType = 'bug' | 'improvement' | 'other'
export type ClientTicketStatus = 'new' | 'in_progress' | 'done' | 'rejected'
@@ -15,10 +14,10 @@ export type ClientTicket = {
status: ClientTicketStatus
statusComment: string | null
project: string
submittedBy: UserData | null
submittedBy: string | null
createdAt: string
updatedAt: string
documents: TaskDocument[]
documents?: TaskDocument[]
}
export type ClientTicketWrite = {
@@ -28,3 +27,8 @@ export type ClientTicketWrite = {
url?: string | null
project: string
}
export type ClientTicketStatusUpdate = {
status: ClientTicketStatus
statusComment?: string | null
}

View File

@@ -22,7 +22,13 @@ export type Task = {
tags: TaskTag[]
documents: TaskDocument[]
archived: boolean
clientTicket?: { id: number; number: number; type: string; status: string; title: string } | null
clientTicket: {
id: number
number: number
type: string
status: string
title: string
} | null
}
export type TaskWrite = {

View File

@@ -1,10 +1,12 @@
import type { Project } from './project'
export type UserData = {
id: number
'@id'?: string
username: string
roles: string[]
client?: { '@id'?: string; id: number; name: string } | null
allowedProjects?: { '@id'?: string; id: number; name: string }[]
client?: { id: number; name: string } | null
allowedProjects?: Project[]
}
export type UserWrite = {