feat(gateway): stream release progress logs

This commit is contained in:
2026-08-09 09:50:06 +00:00
parent 73edd0230f
commit d01be27828
15 changed files with 619 additions and 31 deletions
@@ -0,0 +1,16 @@
CREATE TABLE "gateway_release_log" (
"id" BIGSERIAL NOT NULL,
"operation_id" TEXT NOT NULL,
"level" TEXT NOT NULL,
"phase" TEXT NOT NULL,
"message" TEXT NOT NULL,
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "gateway_release_log_pkey" PRIMARY KEY ("id"),
CONSTRAINT "gateway_release_log_operation_id_fkey"
FOREIGN KEY ("operation_id") REFERENCES "gateway_release_operation"("id")
ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE INDEX "gateway_release_log_operation_id_id_idx"
ON "gateway_release_log" ("operation_id", "id");
+14
View File
@@ -321,12 +321,26 @@ model GatewayReleaseOperation {
attempts Int @default(0)
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
logs GatewayReleaseLog[]
@@index([status, leaseUntil, createdAt])
@@index([createdAt])
@@map("gateway_release_operation")
}
model GatewayReleaseLog {
id BigInt @id @default(autoincrement())
operationId String @map("operation_id")
level String
phase String
message String @db.Text
createdAt DateTime @default(now()) @map("created_at")
operation GatewayReleaseOperation @relation(fields: [operationId], references: [id], onDelete: Cascade)
@@index([operationId, id])
@@map("gateway_release_log")
}
model SystemSetting {
id Int @id @default(1) @map("no")
registrationEnabled Boolean @default(false) @map("registration_enabled")