Como o Baita é identificado no código (gates)
Não há flag no schema: tudo é bespoke, gated por env ou por lista de UUIDs. Os 6 mecanismos do urbis-api e as convenções de Manager e Club.
Não existe flag no schema Whitelabel nem checagem por nome (whitelabel.name === 'Baita') em nenhum dos três repositórios. Tudo é bespoke, gated por env ou por lista de UUIDs hardcoded — confirmado no schema Prisma: não há entrada "Baita" no enum IntegrationType, nem campo Baita-específico nos models Whitelabel, Subscription ou Plan.
if (whitelabelId === process.env.BAITA_WHITELABELID) {
/* lógica Baita */
}urbis-api — 6 mecanismos distintos
- 1BAITA_WHITELABELID (env) — gate principal, usado em user, subscription, ticket, accesscode, whitelabel, jobs e winner.
- 2BaitaGuard (src/app/accesscode/guards/baita.guard.ts) — API key fixa no header accesskey comparada a ACCESS_KEY_BAITA; usado só no endpoint de código avulso PDV.
- 3SaquePagueGuard (src/app/subscription/guards/saquePague.guard.ts) — API key fixa (SAQUE_PAGUE_ACCESS_KEY); fixa whitelabelId = BAITA_WHITELABELID no request.
- 4BarataoGuard — API key fixa (ACCESS_KEY_APP_BARATAO); usado nos endpoints do parceiro de combustível (não exclusivo do Baita no código, mas hoje só o Baita usa).
- 5Constantes WL_PAIRING_* (hardcoded em src/shared/utils/wlPairing.util.ts) — pareamento RBS → Baita.
- 6UUID de homologação hardcoded em auth.service.ts — sessão JWT estendida.
urbis-manager
Usa clubs.baitaHomolog / clubs.baitaBeneficios em src/constants/constants.ts, mais a lista redundante KNOWN_BAITA_WHITELABEL_IDS (que inclui também clubs.oglobo, por compartilhar o endpoint de apuração oficial "estilo Baita") e a env BAITA_WHITELABELID injetada via next.config.js — nunca inserida pelo gestor na interface.
urbis-club
Usa isBaitaClub(id) / BAITA_CLUB_IDS em src/constants/clubs.ts.