From f334f2baaae9eed387eb3df1c38b38ab2c926bdb Mon Sep 17 00:00:00 2001 From: enlineawork Date: Mon, 7 Sep 2026 15:23:28 -0300 Subject: [PATCH] F3.1: agregar Inspector al outbox documental --- ...-phase-f3-1-inspector-document-delivery.ts | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 api-v3/src/database/migrations/1789845000000-phase-f3-1-inspector-document-delivery.ts diff --git a/api-v3/src/database/migrations/1789845000000-phase-f3-1-inspector-document-delivery.ts b/api-v3/src/database/migrations/1789845000000-phase-f3-1-inspector-document-delivery.ts new file mode 100644 index 0000000..afb422d --- /dev/null +++ b/api-v3/src/database/migrations/1789845000000-phase-f3-1-inspector-document-delivery.ts @@ -0,0 +1,56 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class PhaseF31InspectorDocumentDelivery1789845000000 implements MigrationInterface { + name = 'PhaseF31InspectorDocumentDelivery1789845000000'; + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + ALTER TABLE inspection_document_deliveries + ADD COLUMN recipient_user_id uuid NULL + `); + await queryRunner.query(` + ALTER TABLE inspection_document_deliveries + ADD CONSTRAINT fk_inspection_document_deliveries_recipient_user + FOREIGN KEY (recipient_user_id) REFERENCES users(id) ON DELETE SET NULL + `); + await queryRunner.query(` + ALTER TABLE inspection_document_deliveries + DROP CONSTRAINT chk_inspection_document_deliveries_recipient_kind + `); + await queryRunner.query(` + ALTER TABLE inspection_document_deliveries + ADD CONSTRAINT chk_inspection_document_deliveries_recipient_kind + CHECK (recipient_kind IN ('COMPANY','OFFICE','DIRECTOR','INSPECTOR')) + `); + await queryRunner.query(` + CREATE INDEX idx_inspection_document_deliveries_recipient_user + ON inspection_document_deliveries(recipient_user_id) + WHERE recipient_user_id IS NOT NULL + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + DELETE FROM inspection_document_deliveries + WHERE recipient_kind='INSPECTOR' + `); + await queryRunner.query(`DROP INDEX IF EXISTS idx_inspection_document_deliveries_recipient_user`); + await queryRunner.query(` + ALTER TABLE inspection_document_deliveries + DROP CONSTRAINT chk_inspection_document_deliveries_recipient_kind + `); + await queryRunner.query(` + ALTER TABLE inspection_document_deliveries + ADD CONSTRAINT chk_inspection_document_deliveries_recipient_kind + CHECK (recipient_kind IN ('COMPANY','OFFICE','DIRECTOR')) + `); + await queryRunner.query(` + ALTER TABLE inspection_document_deliveries + DROP CONSTRAINT IF EXISTS fk_inspection_document_deliveries_recipient_user + `); + await queryRunner.query(` + ALTER TABLE inspection_document_deliveries + DROP COLUMN IF EXISTS recipient_user_id + `); + } +}