@cfxlabsinc/b2b-services
    Preparing search index...
    CustomerApiKey: Omit<
        SelectCustomerApiKey,
        | "id"
        | "customerId"
        | "customerExternalId"
        | "apiSecret"
        | "externalId"
        | "replacedById"
        | "replacedByExternalId"
        | "retireAt",
    > & {
        id: string;
        supersededBy: { apiKeyId: string; retireAt: Date }
        | null;
    }

    Type Declaration

    • id: string
    • supersededBy: { apiKeyId: string; retireAt: Date } | null

      Set as a whole or not at all, mirroring the table's CHECK: an active key is null, a superseded one names its replacement and the date it should stop being used. There is no third state and no half-set pair.