From e28bcef4ad2de71df45ce167bff32ae641d15fde Mon Sep 17 00:00:00 2001 From: dotta Date: Wed, 18 Mar 2026 21:29:42 -0500 Subject: [PATCH] Exclude archived projects from company export Filter out projects with archivedAt set when building the export bundle, so archived projects never appear in the exported package. Adds a warning when archived projects are skipped. Co-Authored-By: Paperclip --- server/src/services/company-portability.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/server/src/services/company-portability.ts b/server/src/services/company-portability.ts index f6913dac..22b74676 100644 --- a/server/src/services/company-portability.ts +++ b/server/src/services/company-portability.ts @@ -1765,7 +1765,14 @@ export function companyPortabilityService(db: Db) { const projectsSvc = projectService(db); const issuesSvc = issueService(db); - const allProjects = include.projects || include.issues ? await projectsSvc.list(companyId) : []; + const allProjectsRaw = include.projects || include.issues ? await projectsSvc.list(companyId) : []; + const allProjects = allProjectsRaw.filter((project) => !project.archivedAt); + if (include.projects) { + const skippedArchived = allProjectsRaw.length - allProjects.length; + if (skippedArchived > 0) { + warnings.push(`Skipped ${skippedArchived} archived project${skippedArchived === 1 ? "" : "s"} from export.`); + } + } const projectById = new Map(allProjects.map((project) => [project.id, project])); const projectByReference = new Map(); for (const project of allProjects) {