@anpdgovbr/shared-types
Version:
Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)
50 lines (49 loc) • 2.52 kB
JavaScript
/**
* 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 const ALLOWED_FIELDS = [
"title", // Cargo/função do usuário (visível no Outlook/Teams via Entra)
"department", // Unidade/departamento imediato (visível no Outlook/Teams)
"telephoneNumber", // Telefone fixo corporativo
"mobile", // Celular corporativo ou pessoal de contato
"physicalDeliveryOfficeName", // Localização física / lotação (aparece em algumas GALs)
"mail", // Email principal (normalmente sincronizado com UPN/Exchange)
"employeeID", // Identificador único de RH (ex.: CPF) [sincroniza com Entra]
"employeeNumber", // Número de matrícula interna (ex.: SIAPE) [sincroniza com Entra]
"manager", // DN do gestor imediato (visível no Org Chart do Entra/Teams)
"l", // Localidade (city) [sincroniza com Entra]
"st", // Estado (state) [sincroniza com Entra]
"c", // País (country, ISO 3166-1 alpha-2, ex.: "BR") [sincroniza com Entra]
"postalCode", // CEP (postal code) [sincroniza com Entra]
"company", // Organização/órgão principal [sincroniza com Entra]
"division", // Macro-área ou coordenação (granularidade acima de department) [não sincroniza por padrão]
"employeeType", // Tipo de vínculo: Servidor, Terceirizado, Estagiário etc. [não sincroniza por padrão]
"thumbnailPhoto", // Foto (JPEG binário, 96×96 até 300×300 px, <100 KB). Sincroniza com Entra (ajusta para 648×648 px / 4 MB)
"info", // Campo livre (multi-linha). Pode ser usado para anotações internas, ex.: nº do processo SEI [não sincroniza por padrão]
];