Skip to main content

Campos

CampoTipoDescrição
auditLogIdUUIDIdentificador único
organizationIdUUID?Referência à organização
userIdUUID?Referência ao usuário que executou a ação (opcional)
typeAuditLogTypeTipo do registro de log
domainAuditDomainDomain do recurso auditado
resourceAuditResourceEntity ou recurso auditado dentro do domain
resourceIdStringID da instância afetada
actionStringNome aberto da ação realizada
userAgentString?User-Agent da requisição
ipString?Endereço IP da requisição
oldDataJson?Dados antes da operação (snapshot)
newDataJson?Dados após a operação (snapshot)
createdByUUID?Usuário que criou o registro, quando aplicável
createdAtDateTimeData de criação

Relacionamentos

  • Relaciona-se opcionalmente com Organization.
  • userId identifica logicamente o User associado à ação.

Regras de Negócio

  • Log append-only — registros nunca são editados ou removidos.
  • type classifica se o registro nasceu de uma ação da aplicação ou de uma rotina do sistema.
  • type = SYSTEM_LOG pode ter userId = null quando não houver ator humano ou usuário de sistema associado.
  • Rastreamento via domain + resource + resourceId (ex.: domain = IDENTITY, resource = USER, resourceId = uuid).
  • domain e resource são enums fechados para garantir filtros consistentes.
  • action é 100% aberto e não possui enum. A aplicação pode registrar combinações de negócio como USER_BLOCKED, ROUTE_APPROVED, TICKET_REPRINTED ou SESSION_REVOKED.
  • Armazena snapshots de antes (oldData) e depois (newData) para rastreabilidade completa.
  • Captura metadados da requisição (userAgent, ip) para fins de segurança.
  • A consulta pode ser filtrada por organização, usuário, domain, resource, resourceId, action e data.
  • Por ser append-only, o registro usa apenas createdBy e createdAt como auditoria direta.

Enums

AuditLogType

ValorDescrição
APPLICATION_LOGRegistro emitido por fluxo da aplicação, caso de uso, API ou ação de usuário
SYSTEM_LOGRegistro emitido por rotina automática, scheduler, integração ou processo interno

AuditDomain

Valor
IDENTITY
TENANT
AUTHORIZATION
FLEET
OPERATIONS
SALES
BENEFITS
CREDIT_GRANT
PROMOTION
SUPPORT
COMMUNICATION
DATA_TRANSFER
FINANCIAL
WEBHOOKS
OBSERVABILITY

AuditResource

Valor
USER
USER_SESSION
CUSTOMER
CUSTOMER_ADDRESS
PROFILE
OTP
ORGANIZATION
ORGANIZATION_ADDRESS
COOPERATIVE
COMPANY
EMPLOYEE
MEMBERSHIP
INVITE
ROLE
ROLE_PERMISSION
DRIVER
DRIVER_COMPANY
VEHICLE
SEAT
SEAT_TYPE
POINT
ROUTE
ROUTE_APPROVAL
TRIP
TRIP_STOP
TRIP_ITINERARY
TRIP_EVENT
TRIP_SEAT_SEGMENT
TRIP_SCHEDULE
TRIP_SCHEDULE_STOP
TRIP_SCHEDULE_ITINERARY
CHECKOUT
ORDER
PASSENGER
TICKET
TICKET_ACTIVITY
ORDER_REVIEW
FARE_BENEFIT_CATEGORY
FARE_BENEFIT_PROGRAM
PASSENGER_BENEFIT_REQUEST
BENEFIT_DOCUMENT_VALIDATION
BENEFIT_USAGE_HISTORY
CREDIT_GRANT
CREDIT_LEDGER_ENTRY
PROMOTIONAL
PROMOTIONAL_ROUTE_RULE
PROMOTIONAL_ROUND_TRIP_RULE
PROMOTIONAL_MULTI_TICKET_RULE
PROMOTIONAL_LOW_DEMAND_TIME_RULE
PROMOTIONAL_USAGE_HISTORY
SUPPORT_CASE
SUPPORT_CASE_MESSAGE
SUPPORT_CASE_ATTACHMENT
SUPPORT_CASE_ASSIGNMENT
SUPPORT_CASE_CATEGORY
SUPPORT_CASE_SATISFACTION_RATING
NOTIFICATION
NOTIFICATION_RECIPIENT
EXPORT_RESOURCE
EXPORT_SCHEDULED
EXPORT_JOB
COMPANY_PAYMENT_SETTINGS
PAYMENT
PAYMENT_METHOD
RECEIVABLE
BANK_ACCOUNT
TRANSFER
WEBHOOK
AUDIT_LOG

Example

{
  "auditLogId": "0197a819-ae6c-7cd6-b872-1f6c898c50d9",
  "organizationId": "0197a7f7-7291-7a43-96db-2c8580b80c5d",
  "userId": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "type": "APPLICATION_LOG",
  "domain": "OPERATIONS",
  "resource": "ROUTE",
  "resourceId": "0197a80c-4204-7b77-9005-48cc23677587",
  "action": "ROUTE_APPROVED",
  "userAgent": "DEVMOB-Ops/1.0",
  "ip": "203.0.113.10",
  "oldData": {
    "status": "PENDING_APPROVAL"
  },
  "newData": {
    "status": "ACTIVE"
  },
  "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "createdAt": "2026-07-03T16:00:00.000Z"
}