UNPKG

@anpdgovbr/shared-types

Version:

Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)

160 lines 5.51 kB
/** * Enumeração que representa as possíveis ações de auditoria realizadas no sistema. * * @remarks * Utilizado para identificar operações executadas em entidades, incluindo operações básicas de CRUD, * autenticação, operações em massa, gerenciamento de arquivos, fluxos de aprovação e consultas específicas. * Essencial para conformidade com LGPD e auditoria de sistemas de proteção de dados. * * @enum {string} * @readonly * @public */ export declare enum AcaoAuditoria { /** * Representa a ação de criação de um novo registro. */ CREATE = "CREATE", /** * Representa a ação de atualização completa de um registro existente. */ UPDATE = "UPDATE", /** * Representa a ação de exclusão de um registro. */ DELETE = "DELETE", /** * Representa a ação de modificação parcial (PATCH) de um registro. */ PATCH = "PATCH", /** * Representa a ação de consulta (GET) de um registro ou recurso. */ GET = "GET", /** * Representa a ação de criação em massa de múltiplos registros. */ BULK_CREATE = "BULK_CREATE", /** * Representa a ação de atualização em massa de múltiplos registros. */ BULK_UPDATE = "BULK_UPDATE", /** * Representa a ação de exclusão em massa de múltiplos registros. */ BULK_DELETE = "BULK_DELETE", /** * Representa a ação de restauração de um registro previamente excluído (soft delete). */ RESTORE = "RESTORE", /** * Representa a ação de exportação de dados do sistema. */ EXPORT = "EXPORT", /** * Representa a ação de importação de dados para o sistema. */ IMPORT = "IMPORT", /** * Representa a ação de upload de arquivos para o sistema. */ UPLOAD = "UPLOAD", /** * Representa a ação de download de arquivos do sistema. */ DOWNLOAD = "DOWNLOAD", /** * Representa a ação de compartilhamento de dados ou arquivos. */ SHARE = "SHARE", /** * Representa a ação de busca ou pesquisa de registros. */ SEARCH = "SEARCH", /** * Representa a ação de impressão de relatórios ou documentos. */ PRINT = "PRINT", /** * Representa a ação de login no sistema. */ LOGIN = "LOGIN", /** * Representa a ação de logout do sistema. */ LOGOUT = "LOGOUT", /** * Representa a ação de alteração de senha do usuário. */ CHANGE_PASSWORD = "CHANGE_PASSWORD", /** * Representa a ação de aprovação em um fluxo de trabalho. */ APPROVE = "APPROVE", /** * Representa a ação de rejeição em um fluxo de trabalho. */ REJECT = "REJECT", /** * Representa a ação de arquivamento de registros. */ ARCHIVE = "ARCHIVE", /** * Representa a ação de desarquivamento de registros. */ UNARCHIVE = "UNARCHIVE" } /** Lista imutável com os valores de AcaoAuditoria. */ export declare const ACAO_AUDITORIA_VALUES: readonly [AcaoAuditoria.CREATE, AcaoAuditoria.UPDATE, AcaoAuditoria.DELETE, AcaoAuditoria.PATCH, AcaoAuditoria.GET, AcaoAuditoria.BULK_CREATE, AcaoAuditoria.BULK_UPDATE, AcaoAuditoria.BULK_DELETE, AcaoAuditoria.RESTORE, AcaoAuditoria.EXPORT, AcaoAuditoria.IMPORT, AcaoAuditoria.UPLOAD, AcaoAuditoria.DOWNLOAD, AcaoAuditoria.SHARE, AcaoAuditoria.SEARCH, AcaoAuditoria.PRINT, AcaoAuditoria.LOGIN, AcaoAuditoria.LOGOUT, AcaoAuditoria.CHANGE_PASSWORD, AcaoAuditoria.APPROVE, AcaoAuditoria.REJECT, AcaoAuditoria.ARCHIVE, AcaoAuditoria.UNARCHIVE]; /** União literal dos valores de AcaoAuditoria. */ export type AcaoAuditoriaLiteral = (typeof ACAO_AUDITORIA_VALUES)[number]; /** * Type guard para AcaoAuditoria. * * @param value - Valor a ser verificado em tempo de execução. * @returns true se o valor for uma string igual a um dos valores de AcaoAuditoria; caso contrário false. * @public * * @example * ```ts * if (isAcaoAuditoria(maybe)) { * // aqui `maybe` tem o tipo AcaoAuditoriaLiteral * } * ``` */ export declare function isAcaoAuditoria(value: unknown): value is AcaoAuditoriaLiteral; /** * Asserção de tipo para AcaoAuditoria. * * Lança um erro quando o valor de entrada não é um valor válido do enum AcaoAuditoria. * Útil para garantir invariantes em tempo de execução quando se deseja * abortar cedo caso o valor seja inválido. * * @param value - Valor a ser validado * @throws {Error} Quando `value` não for um AcaoAuditoriaLiteral * @public * * @example * ```ts * assertAcaoAuditoria(valorRecebido) * // a partir daqui, `valorRecebido` é considerado AcaoAuditoriaLiteral * ``` */ export declare function assertAcaoAuditoria(value: unknown): asserts value is AcaoAuditoriaLiteral; /** * Coerção para AcaoAuditoria com fallback. * * Retorna o valor se for um AcaoAuditoria válido; caso contrário retorna o `fallback`. * * @param value - Valor a ser convertido/avaliado em tempo de execução. * @param fallback - Valor a ser usado quando `value` não for válido. Padrão: AcaoAuditoria.GET. * @returns O valor coerido como AcaoAuditoriaLiteral (ou o fallback quando inválido). * @public * * @example * ```ts * const acao = coerceAcaoAuditoria(maybeString, AcaoAuditoria.GET) * ``` */ export declare function coerceAcaoAuditoria(value: unknown, fallback?: AcaoAuditoriaLiteral): AcaoAuditoriaLiteral; //# sourceMappingURL=acao-auditoria.enum.d.ts.map