@anpdgovbr/shared-types
Version:
Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)
47 lines • 1.8 kB
TypeScript
/**
* Vocabulário e restrições de campos RH/AD.
*
* Extraído do app de atualização de perfis (ALLOWED_FIELDS). Mantém o
* contrato de quais atributos do AD são atualizáveis pelo sistema.
*
* @public
*/
/**
* Lista imutável dos campos do Active Directory que são permitidos para atualização.
*
* Cada item representa o nome do atributo AD que a API permite atualizar.
* A tupla é marcada como "as const" para que TypeScript infira literais exatos,
* permitindo a construção do tipo união `AllowedField`.
*
* Observações:
* - Comentários inline indicam o uso visível ou comportamento de sincronização
* com o Entra/Exchange/Outlook quando aplicável.
* - Não alterar a ordem/valores sem avaliar impactos em contratos de API.
*
* Exemplo de uso:
* ```ts
* import { ALLOWED_FIELDS } from "./vocab.types"
* // verificar se um campo é permitido:
* const permitido = ALLOWED_FIELDS.includes("mail")
* ```
*
* @public
*/
export declare const ALLOWED_FIELDS: readonly ["title", "department", "telephoneNumber", "mobile", "physicalDeliveryOfficeName", "mail", "employeeID", "employeeNumber", "manager", "l", "st", "c", "postalCode", "company", "division", "employeeType", "thumbnailPhoto", "info"];
/**
* União literal derivada dos campos permitidos.
*
* Tipo utilitário que representa qualquer chave válida dentro de ALLOWED_FIELDS.
* Usado para restringir programaticamente nomes de campos aceitos pela API e
* proporcionar autocompletar/checagem de tipos em tempo de compilação.
*
* Exemplo:
* ```ts
* import type { AllowedField } from "./vocab.types"
* function aplicarCampo(k: AllowedField, v: unknown) { ... }
* ```
*
* @public
*/
export type AllowedField = (typeof ALLOWED_FIELDS)[number];
//# sourceMappingURL=vocab.types.d.ts.map