feat(workspace): replace supported platform count with bound media account count

The "platforms" stat tile was a constant (5) that never reflected what the
tenant actually had set up. Drop SupportedPlatformCount from the workspace
overview API/domain/shared-types and have admin-web compute a bound media
account count from the desktop accounts list, filtered through a new
isMediaPublishAccount helper that excludes deleted rows and AI-only
platforms (yuanbao/kimi/wenxin/deepseek/doubao/qwen).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-01 16:01:40 +08:00
parent 618399f86d
commit c89683862e
9 changed files with 42 additions and 28 deletions
+11 -1
View File
@@ -25,9 +25,19 @@ const platformCatalog: Record<string, Omit<PublishPlatformOption, "accountLabel"
dongchedi: { id: "dongchedi", name: "懂车帝", shortName: "懂", accent: "#fadb14" },
};
const aiPlatformIds = new Set(["yuanbao", "kimi", "wenxin", "deepseek", "doubao", "qwen"]);
export function isAIPlatformId(platformId?: string | null): boolean {
return aiPlatformIds.has(normalizePublishPlatformId(platformId));
}
export function isPublishPlatformId(platformId?: string | null): boolean {
const normalized = normalizePublishPlatformId(platformId);
return Boolean(normalized) && normalized in platformCatalog;
return Boolean(normalized) && !isAIPlatformId(normalized) && normalized in platformCatalog;
}
export function isMediaPublishAccount(account: DesktopAccountInfo): boolean {
return !account.deleted_at && isPublishPlatformId(account.platform);
}
export function getPublishPlatformMeta(platformId: string): Omit<PublishPlatformOption, "accountLabel" | "bound"> {