Implement ticket details and worklog editing

This commit is contained in:
2026-03-25 08:23:08 +01:00
parent 7e767b0c6c
commit 1ff8f5d68f
25 changed files with 1585 additions and 11 deletions
@@ -0,0 +1,15 @@
import type { TicketFieldDefinitionModel } from '@/types/models/ticket-field-definition-model';
import type { UserModel } from '@/types/models/user-model';
export type TicketFieldValueModel = {
id: number;
ticket_field_definition_id: number;
ticket_field_definition: TicketFieldDefinitionModel;
ticket_id: number;
user_value: UserModel | null;
value_number: number | null;
value_user_id: number | null;
created_at: string;
updated_at: string;
[key: string]: unknown;
};
@@ -1,11 +1,14 @@
import type { TicketFieldValueModel } from '@/types/models/ticket-field-value-model';
import type { TicketPriorityModel } from '@/types/models/ticket-priority-model';
import type { TicketTypeModel } from '@/types/models/ticket-type-model';
import type { TicketWorklogEntryModel } from '@/types/models/ticket-worklog-entry-model';
export type TicketModel = {
id: number;
acceptance_criteria: string | null;
board_column_id: number | null;
description: string | null;
field_values?: TicketFieldValueModel[];
project_id: number;
sequence_number: number;
ticket_key: string;
@@ -14,6 +17,7 @@ export type TicketModel = {
ticket_type: TicketTypeModel;
ticket_type_id: number;
title: string;
worklog_entries?: TicketWorklogEntryModel[];
created_at: string;
updated_at: string;
[key: string]: unknown;
@@ -0,0 +1,14 @@
import type { UserModel } from '@/types/models/user-model';
export type TicketWorklogEntryModel = {
id: number;
actor: UserModel | null;
actor_id: number | null;
changes: Record<string, unknown> | null;
created_at: string;
entry_type: string;
summary: string;
ticket_id: number;
updated_at: string;
[key: string]: unknown;
};
+11
View File
@@ -79,3 +79,14 @@ export type ProjectBacklogPageProps = {
tickets: TicketModel[];
ticketTypes: TicketTypeModel[];
};
export type ProjectTicketPageProps = {
canEditTicket: boolean;
project: ProjectModel;
status?: string | null;
ticket: TicketModel;
ticketFieldDefinitions: TicketFieldDefinitionModel[];
ticketPriorities: TicketPriorityModel[];
ticketTypes: TicketTypeModel[];
users: UserModel[];
};