chore: import DH V2 D5.6.4 production baseline

This commit is contained in:
DH V2
2026-09-05 10:12:35 -03:00
commit 82213e72f5
757 changed files with 84218 additions and 0 deletions
@@ -0,0 +1,58 @@
import { MigrationInterface, QueryRunner } from 'typeorm';
export class PhaseAAuditEvents1786548002000 implements MigrationInterface {
name = 'PhaseAAuditEvents1786548002000';
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`
CREATE TABLE audit_events (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
occurred_at timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP,
actor_user_id uuid,
actor_username varchar(80),
action varchar(100) NOT NULL,
entity_type varchar(100),
entity_id varchar(255),
request_id varchar(128),
source varchar(32) NOT NULL,
ip inet,
user_agent text,
before_data jsonb,
after_data jsonb,
metadata jsonb,
CONSTRAINT fk_audit_events_actor_user
FOREIGN KEY (actor_user_id) REFERENCES users(id) ON DELETE SET NULL,
CONSTRAINT chk_audit_events_json_objects
CHECK (
(before_data IS NULL OR jsonb_typeof(before_data) = 'object') AND
(after_data IS NULL OR jsonb_typeof(after_data) = 'object') AND
(metadata IS NULL OR jsonb_typeof(metadata) = 'object')
)
)
`);
await queryRunner.query(`
CREATE INDEX idx_audit_events_occurred_at
ON audit_events (occurred_at DESC)
`);
await queryRunner.query(`
CREATE INDEX idx_audit_events_actor_user_id
ON audit_events (actor_user_id)
`);
await queryRunner.query(`
CREATE INDEX idx_audit_events_action ON audit_events (action)
`);
await queryRunner.query(`
CREATE INDEX idx_audit_events_entity
ON audit_events (entity_type, entity_id)
`);
await queryRunner.query(`
CREATE INDEX idx_audit_events_request_id
ON audit_events (request_id)
`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query('DROP TABLE audit_events');
}
}