diff --git a/models/tracker/src/migration.ts b/models/tracker/src/migration.ts index ac2f219eaac..d07660e56c6 100644 --- a/models/tracker/src/migration.ts +++ b/models/tracker/src/migration.ts @@ -200,10 +200,12 @@ async function migrateDefaultStatuses (client: MigrationClient, logger: ModelLog // 1. defaultIssueStatus // 2. DocUpdateMessage:update:defaultIssueStatus for (const project of projects) { - const newDefaultIssueStatus = getNewStatus(project.defaultIssueStatus) + if (project.defaultIssueStatus != null) { + const newDefaultIssueStatus = getNewStatus(project.defaultIssueStatus) - if (project.defaultIssueStatus !== newDefaultIssueStatus) { - await client.update(DOMAIN_SPACE, { _id: project._id }, { defaultIssueStatus: newDefaultIssueStatus }) + if (project.defaultIssueStatus !== newDefaultIssueStatus) { + await client.update(DOMAIN_SPACE, { _id: project._id }, { defaultIssueStatus: newDefaultIssueStatus }) + } } const projectUpdateMessages = await client.find(DOMAIN_ACTIVITY, { diff --git a/models/tracker/src/types.ts b/models/tracker/src/types.ts index cb6dbb7786e..09d3421f302 100644 --- a/models/tracker/src/types.ts +++ b/models/tracker/src/types.ts @@ -126,7 +126,7 @@ export class TProject extends TTaskProject implements Project { sequence!: number @Prop(TypeRef(tracker.class.IssueStatus), tracker.string.DefaultIssueStatus) - defaultIssueStatus!: Ref + defaultIssueStatus?: Ref @Prop(TypeRef(contact.mixin.Employee), tracker.string.DefaultAssignee) defaultAssignee!: Ref diff --git a/plugins/tracker/src/index.ts b/plugins/tracker/src/index.ts index f90a75abf32..bc1cba1152c 100644 --- a/plugins/tracker/src/index.ts +++ b/plugins/tracker/src/index.ts @@ -61,7 +61,7 @@ export interface IssueStatus extends Status {} export interface Project extends TaskProject, IconProps { identifier: string // Project identifier sequence: number - defaultIssueStatus: Ref + defaultIssueStatus?: Ref defaultAssignee?: Ref defaultTimeReportDay: TimeReportDayType }