UNPKG

@sphereon/ssi-sdk.data-store

Version:

62 lines (58 loc) 3.72 kB
import { MigrationInterface, QueryRunner } from 'typeorm' export class CreateAuditEvents1701634812183 implements MigrationInterface { name = 'CreateAuditEvents1701634812183' public async up(queryRunner: QueryRunner): Promise<void> { await queryRunner.query(`CREATE TYPE "public"."Level_enum" AS ENUM('0', '1', '2', '3', '4')`) await queryRunner.query( `CREATE TYPE "public"."System_enum" AS ENUM('general', 'kms', 'identity', 'oid4vci', 'oid4vp', 'siopv2', 'PE', 'credentials', 'web3', 'profile', 'contact')`, ) await queryRunner.query( `CREATE TYPE "public"."Subsystem_type_enum" AS ENUM('key', 'did_provider', 'did_resolver', 'oid4vp_op', 'oid4vci_client', 'siopv2_op', 'contact_manager', 'vc_issuer', 'vc_verifier', 'vc_persistence', 'transport', 'profile', 'api')`, ) await queryRunner.query(`CREATE TYPE "public"."Action_type_enum" AS ENUM('create', 'read', 'update', 'delete', 'execute')`) await queryRunner.query(`CREATE TYPE "public"."Initiator_type_enum" AS ENUM('user', 'system', 'external')`) await queryRunner.query(`CREATE TYPE "public"."System_correlation_id_type_enum" AS ENUM('did', 'url', 'email', 'hostname', 'phone', 'user')`) await queryRunner.query(`CREATE TYPE "public"."Party_correlation_type_enum" AS ENUM('did', 'url', 'email', 'hostname', 'phone')`) await queryRunner.query(`CREATE TYPE "public"."Event_type_enum" AS ENUM('audit', 'activity', 'general')`) await queryRunner.query(`CREATE TYPE "public"."Event_credential_type_enum" AS ENUM('JSON_LD', 'JWT', 'SD_JWT', 'MSO_MDOC')`) await queryRunner.query( `CREATE TABLE "AuditEvents" ( "id" uuid NOT NULL DEFAULT uuid_generate_v4(), "eventType" "public"."Event_type_enum" NOT NULL, "timestamp" TIMESTAMP NOT NULL, "level" "public"."Level_enum" NOT NULL, "correlationId" TEXT NOT NULL, "system" "public"."System_enum" NOT NULL, "subSystemType" "public"."Subsystem_type_enum" NOT NULL, "actionType" "public"."Action_type_enum" NOT NULL, "actionSubType" TEXT NOT NULL, "initiatorType" "public"."Initiator_type_enum" NOT NULL, "systemCorrelationIdType" "public"."System_correlation_id_type_enum", "systemCorrelationId" TEXT, "systemAlias" TEXT, "partyCorrelationType" "public"."Party_correlation_type_enum", "partyCorrelationId" TEXT, "partyAlias" TEXT, "credentialType" "public"."Event_credential_type_enum", "credentialHash" TEXT, "originalCredential" TEXT, "sharePurpose" TEXT, "description" TEXT NOT NULL, "data" TEXT, "diagnosticData" TEXT, "created_at" TIMESTAMP NOT NULL DEFAULT now(), "last_updated_at" TIMESTAMP NOT NULL DEFAULT now(), CONSTRAINT "PK_AuditEvents_id" PRIMARY KEY ("id"))`, ) } public async down(queryRunner: QueryRunner): Promise<void> { await queryRunner.query(`DROP TABLE "AuditEvents"`) await queryRunner.query(`DROP TYPE "public"."Party_correlation_type_enum"`) await queryRunner.query(`DROP TYPE "public"."System_correlation_id_type_enum"`) await queryRunner.query(`DROP TYPE "public"."Initiator_type_enum"`) await queryRunner.query(`DROP TYPE "public"."Action_type_enum"`) await queryRunner.query(`DROP TYPE "public"."Subsystem_type_enum"`) await queryRunner.query(`DROP TYPE "public"."System_enum"`) await queryRunner.query(`DROP TYPE "public"."Level_enum"`) } }