ShortViewKeySets: {
    club: "streamerUserName" | "guildId";
    kick:
        | "streamerUserName"
        | "streamerId"
        | "chatRoomId"
        | "guildId";
    rumble: "streamerUserName" | "guildId" | "type";
    tiktok: "streamerUserName" | "guildId";
    twitch: "streamerUserName" | "streamerId" | "guildId";
    twitter: "streamerUserName" | "guildId";
    whatnot: never;
    youtube: "streamerUserName" | "streamerId" | "guildId";
}

Which keys each platform's SHORT view projects. The key list only - never the field types.

Mirrors the short ? DBStreamers.map((s) => ({ ... })) arm of each case in the API's src/routes/data/guildPlatform.ts. Every field's TYPE comes from the model via the Pick below, so a type here cannot drift from the schema.

It had drifted. This type used to write the field types out by hand as well, and carried kick.chatRoomId: string and youtube.streamerId: string against nullable columns, and youtube.guildId: string | null against a required one. All three typechecked, and all three told a consumer the opposite of what the API sends.

whatnot is never only to keep this lookup total over AllPlatforms. It is ServedPlatform above that actually removes it - Pick<T, never> is {}, not never.