Add reusable project templates

This commit is contained in:
2026-05-25 01:26:08 +00:00
parent 3b17c9ee14
commit 58d2edcacd
24 changed files with 1154 additions and 88 deletions
@@ -0,0 +1,12 @@
import type { ProjectModel } from '@/types/models/project-model';
export type ProjectTemplateModel = {
id: number;
source_project_id: number | null;
source_project: ProjectModel | null;
name: string;
slug: string;
copy_areas: string[];
created_at: string | null;
updated_at: string | null;
};
+13
View File
@@ -4,6 +4,7 @@ import type { NotificationActionModel } from '@/types/models/notification-action
import type { NotificationActionOptionModel } from '@/types/models/notification-action-option-model';
import type { NotificationActionTemplateVariableModel } from '@/types/models/notification-action-template-variable-model';
import type { ProjectModel } from '@/types/models/project-model';
import type { ProjectTemplateModel } from '@/types/models/project-template-model';
import type { RepositoryConnectionModel } from '@/types/models/repository-connection-model';
import type { TeamModel } from '@/types/models/team-model';
import type { TicketFieldDefinitionModel } from '@/types/models/ticket-field-definition-model';
@@ -45,7 +46,19 @@ export type ProjectsIndexPageProps = {
export type ProjectsCreatePageProps = {
copyAreaOptions: ProjectDuplicateCopyAreaOption[];
selectedSourceTemplateId?: number | null;
sourceProjects: ProjectModel[];
sourceTemplates: ProjectTemplateModel[];
};
export type ProjectTemplatesIndexPageProps = {
status?: string | null;
templates: ProjectTemplateModel[];
};
export type ProjectTemplatesCreatePageProps = {
copyAreaOptions: ProjectDuplicateCopyAreaOption[];
project: ProjectModel;
};
export type ProjectShowPageProps = {