fix: restore ArchiveTeam Warrior as a proper integration

The widget-only integrations refactor incorrectly removed the
ArchiveTeam Warrior integration entirely. It only needed to be
excluded from auto-seeding (by removing defaultUrl), not deleted.

This restores the integration class, reverts the widget/router/handler
to use integration middleware, and removes archiveTeamWarrior from the
widget-only-integrations migration.
This commit is contained in:
Thomas Camlong committed 2026-06-27 10:57:13 +02:00
1 parent d18d07d2f1
commit 8a5ad5861b
18 files changed
+573 -388

No files matched your search

@@ -14,7 +14,6 @@ const removedIntegrationKinds = [
"gitHubContainerRegistry",
"quay",
"searchCh",
"archiveTeamWarrior",
] as const;
type RemovedIntegrationKind = (typeof removedIntegrationKinds)[number];
@@ -65,7 +64,7 @@ export async function migrateWidgetOnlyIntegrationsToOptionsAsync(db: Database)
}, new Map());
const existingItems = await db.query.items.findMany({
where: (items, { inArray }) => inArray(items.kind, ["releases", "timetable", "archiveTeamWarrior"]),
where: (items, { inArray }) => inArray(items.kind, ["releases", "timetable"]),
});
const updatedItems: { id: string; options: object }[] = [];
@@ -97,11 +96,6 @@ export async function migrateWidgetOnlyIntegrationsToOptionsAsync(db: Database)
updatedItems.push({ id: item.id, options: { ...options, baseUrl: linkedIntegration.url } });
unlinkItemIds.push(item.id);
}
if (item.kind === "archiveTeamWarrior" && linkedIntegration?.kind === "archiveTeamWarrior") {
updatedItems.push({ id: item.id, options: { ...options, url: linkedIntegration.url } });
unlinkItemIds.push(item.id);
}
}
for (const update of updatedItems) {