CREATE TABLE PLANETA.AUDIT_LOGS (
ID NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY, -- Identificador único do log
EVENT_NAME VARCHAR2(250) NOT NULL, -- Nome do evento auditado (ex.: 'USER_CREATION')
ENTITY_NAME VARCHAR2(250) NOT NULL, -- Nome da entidade afetada (ex.: 'USER', 'CLIENT')
ENTITY_ID VARCHAR2(250), -- ID do registro afetado
CUSTOMER_ID NUMBER(38,0) NOT NULL, -- ID do cliente
PAYLOAD CLOB NOT NULL, -- JSON com os dados recebidos na requisição
OPERATION_TYPE VARCHAR2(20) NOT NULL, -- Tipo da operação
USERNAME VARCHAR2(100) NOT NULL, -- Nome do usuário que executou a ação
EVENT_TIMESTAMP TIMESTAMP DEFAULT SYSTIMESTAMP NOT NULL, -- Data e hora da ação
STATUS NUMBER(3) NULL, -- Código HTTP da operação (ex.: '200 OK', '400 BAD_REQUEST')
STATUS_MESSAGE CLOB NULL, -- Mensagem do status HTTP (ex.: 'OK', 'Bad Request')
CONSTRAINT CT_IOT_AUDIT_LOGS_PK PRIMARY KEY (ID),
CONSTRAINT CHK_OPERATION_TYPE CHECK (OPERATION_TYPE IN ('INSERT', 'UPDATE', 'DELETE')) -- Validação do tipo de operação
);