From 82672baf02eab0b02f7e09d99b38f2f89a4167c9 Mon Sep 17 00:00:00 2001 From: ila <2+ila@noreply.git.ilapage.cn> Date: Thu, 13 Aug 2026 12:42:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=87=AA=E5=8A=A8=E5=BB=BA=E7=AB=8B?= =?UTF-8?q?=E5=AE=9E=E6=97=B6=E7=9B=91=E7=9C=8B=E5=AA=92=E4=BD=93=E8=B7=AF?= =?UTF-8?q?=E5=BE=84=20(#51)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/app/sense/device/credential_port.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Sense/server/app/sense/device/credential_port.go b/Sense/server/app/sense/device/credential_port.go index 4068672..8d5e284 100644 --- a/Sense/server/app/sense/device/credential_port.go +++ b/Sense/server/app/sense/device/credential_port.go @@ -11,6 +11,11 @@ type Credential struct { Password string } +type DisplayInfo struct { + Name string + Location string +} + var activeService atomic.Pointer[Service] // ReadCredential is an internal adapter port. Credentials must never be @@ -50,6 +55,18 @@ func ReadRTSPCredential(ctx context.Context, id string) (Credential, error) { return Credential{Username: username, Password: password}, err } +func Describe(ctx context.Context, id string) (DisplayInfo, error) { + service := activeService.Load() + if service == nil { + return DisplayInfo{}, fmt.Errorf("device service is not ready") + } + item, err := service.store.Get(ctx, id) + if err != nil { + return DisplayInfo{}, err + } + return DisplayInfo{Name: item.Name, Location: item.Location}, nil +} + func MarkActive(ctx context.Context, id string) error { service := activeService.Load() if service == nil {