@anpdgovbr/shared-types
Version:
Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)
113 lines • 3.86 kB
TypeScript
/**
* Tipos transversais para integração com Microsoft Graph.
*
* @remarks
* Tipagens enxutas e reutilizáveis em serviços. Evitam `any` e usam `unknown`
* apenas para campos opcionais/extensíveis. Todos os campos são opcionais para
* tolerar variações de payload.
*
* @public
*/
/**
* Representa uma resposta paginada retornada pelo Microsoft Graph.
*
* @template T - Tipo dos itens presentes na coleção `value`.
* @public
* @remarks
* Estrutura genérica que mapeia o envelope de paginação do Microsoft Graph.
* Inclui a coleção de itens (`value`), links de paginação/delta e contagem total
* quando solicitada. Campos adicionais do payload são preservados via índice.
*/
export type GraphPagedResponse<T> = {
/** Coleção de itens da página atual. */
value?: T[];
/** Link para a próxima página de resultados. */
"@odata.nextLink"?: string;
/** Link para consultas delta quando aplicável. */
"@odata.deltaLink"?: string;
/** Contagem total quando $count for solicitado. */
"@odata.count"?: number;
/** Metadados adicionais retornados pelo Graph. */
[key: string]: unknown;
};
/** Representação básica de um usuário no Microsoft Graph. */
export type GraphUser = {
id?: string;
displayName?: string;
givenName?: string;
surname?: string;
mail?: string | null;
userPrincipalName?: string | null;
jobTitle?: string | null;
department?: string | null;
officeLocation?: string | null;
businessPhones?: string[];
mobilePhone?: string | null;
onPremisesSamAccountName?: string | null;
accountEnabled?: boolean;
userType?: string | null;
mailNickname?: string | null;
otherMails?: string[];
proxyAddresses?: string[];
preferredLanguage?: string | null;
usageLocation?: string | null;
streetAddress?: string | null;
city?: string | null;
state?: string | null;
country?: string | null;
postalCode?: string | null;
companyName?: string | null;
employeeId?: string | null;
employeeType?: string | null;
onPremisesDomainName?: string | null;
onPremisesImmutableId?: string | null;
onPremisesLastSyncDateTime?: string | null;
onPremisesSecurityIdentifier?: string | null;
onPremisesSyncEnabled?: boolean | null;
/** Sufixos de proxy relevantes para telefonia/e-mail. */
imAddresses?: string[];
/** Navegação simplificada: id do gerente (quando consultado via $select/expand). */
managerId?: string | null;
/** Licenças atribuídas (id de SKU). */
assignedLicenses?: {
skuId?: string;
disabledPlans?: string[];
}[];
/** Planos atribuídos. */
assignedPlans?: {
assignedDateTime?: string;
capabilityStatus?: string;
service?: string;
servicePlanId?: string;
}[];
/** Informações de sign-in (quando habilitado no tenant). */
signInActivity?: {
lastSignInDateTime?: string | null;
lastNonInteractiveSignInDateTime?: string | null;
lastSignInRequestId?: string | null;
lastNonInteractiveSignInRequestId?: string | null;
};
};
/**
* Representação enxuta de um grupo no Microsoft Graph.
*
* @public
* @remarks
* Campos típicos retornados para recursos de grupo. Mantido minimalista e opcional
* para suportar diferentes modos de consulta (select/expand) do Graph.
*/
export type GraphGroup = {
id?: string;
displayName?: string | null;
description?: string | null;
mail?: string | null;
mailNickname?: string | null;
groupTypes?: string[];
securityEnabled?: boolean;
mailEnabled?: boolean;
visibility?: string | null;
onPremisesSecurityIdentifier?: string | null;
proxyAddresses?: string[];
isAssignableToRole?: boolean;
};
//# sourceMappingURL=msgraph.types.d.ts.map