From 8151ec094d4dc4b7dabfb4ce319bd7a0d4b728c4 Mon Sep 17 00:00:00 2001 From: chyoo Date: Thu, 6 Aug 2026 16:03:26 +0900 Subject: [PATCH] feat: display platform agent status and version --- prisma/launcher.schema.prisma | 4 ++++ src/gitea/gitea.service.ts | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/prisma/launcher.schema.prisma b/prisma/launcher.schema.prisma index 5f35426..dd28c3b 100644 --- a/prisma/launcher.schema.prisma +++ b/prisma/launcher.schema.prisma @@ -77,6 +77,9 @@ model ProvisionedDevice { kernel String? distro String? device Json? + agentVersion String? @map("agent_version") + agentUpdatedAt DateTime? @map("agent_updated_at") @db.Timestamptz(3) + agentLastSeenAt DateTime? @map("agent_last_seen_at") @db.Timestamptz(3) installedAt DateTime @default(now()) @map("installed_at") @db.Timestamptz(3) lastProvisionedAt DateTime @default(now()) @map("last_provisioned_at") @db.Timestamptz(3) createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3) @@ -85,6 +88,7 @@ model ProvisionedDevice { @@unique([accountEmail, tailscaleHostname]) @@index([accountEmail]) @@index([tailscaleHostname]) + @@index([agentLastSeenAt]) @@map("provisioned_devices") } diff --git a/src/gitea/gitea.service.ts b/src/gitea/gitea.service.ts index 52fe4e3..0191527 100644 --- a/src/gitea/gitea.service.ts +++ b/src/gitea/gitea.service.ts @@ -1,4 +1,5 @@ import { + BadRequestException, BadGatewayException, Injectable, UnauthorizedException, @@ -118,6 +119,10 @@ export class GiteaService { params.set('page', String(page)); if (query.sha) { params.set('sha', query.sha); + const { branches } = await this.listBranches(owner, repo) as { branches: Array<{ name?: string }> }; + if (!branches.some((branch) => branch.name === query.sha)) { + throw new BadRequestException('해당 브랜치가 없습니다.'); + } } if (query.since) { params.set('since', query.since);