@anpdgovbr/shared-types
Version:
Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)
32 lines • 1.05 kB
TypeScript
import type { UUID } from "./uuid.type";
/**
* Interface base para entidades do sistema.
*
* @remarks
* Esta interface define a propriedade obrigatória `id` que deve ser implementada por todas as entidades.
* A partir da versão 0.2.0, o tipo do `id` foi alterado de `number` para `UUID` (string) para compatibilidade
* com a API Quarkus de Controladores, utilizando o formato `[a-f0-9-]{36}` (UUID v4).
*
* @property id - Identificador único da entidade no formato UUID v4 (string de 36 caracteres).
*
* @example
* ```typescript
* const entidade: BaseEntity = {
* id: '550e8400-e29b-41d4-a716-446655440000'
* }
* ```
*
* @public
* @since 0.2.0 - Alterado de `number` para `UUID`
*/
export interface BaseEntity {
/**
* Identificador único da entidade no formato UUID v4.
*
* @remarks
* Formato esperado: `xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`
* Regex: `[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}`
*/
id: UUID;
}
//# sourceMappingURL=base-entity.interface.d.ts.map