From 2129ff798b4c86c08ae76ffced1709342286691a Mon Sep 17 00:00:00 2001 From: Rob Colbert Date: Tue, 28 Apr 2026 15:23:01 -0400 Subject: [PATCH] added workspaceDir to DroneRegistration --- gadget-code/src/models/drone-registration.ts | 1 + gadget-code/src/services/drone.ts | 7 +++++++ packages/api/src/interfaces/drone-registration.ts | 1 + 3 files changed, 9 insertions(+) diff --git a/gadget-code/src/models/drone-registration.ts b/gadget-code/src/models/drone-registration.ts index 56d4348..8d0008e 100644 --- a/gadget-code/src/models/drone-registration.ts +++ b/gadget-code/src/models/drone-registration.ts @@ -10,6 +10,7 @@ export const DroneRegistrationSchema = new Schema({ updatedAt: { type: Date, required: false }, user: { type: Schema.Types.ObjectId, ref: "User", required: true }, hostname: { type: String, required: true }, + workspaceDir: { type: String, required: true }, status: { type: String, enum: DroneStatus, diff --git a/gadget-code/src/services/drone.ts b/gadget-code/src/services/drone.ts index 90bfe7c..7a80330 100644 --- a/gadget-code/src/services/drone.ts +++ b/gadget-code/src/services/drone.ts @@ -80,6 +80,13 @@ class DroneService extends DtpService { return registration; } + async getForUser(user: IUser): Promise { + const registrations = await DroneRegistration.find({ user: user._id }) + .sort({ hostname: 1, workspaceDir: 1 }) + .populate(this.populateDroneRegistration); + return registrations; + } + async setStatus( registration: IDroneRegistration, status: DroneStatus, diff --git a/packages/api/src/interfaces/drone-registration.ts b/packages/api/src/interfaces/drone-registration.ts index 81e8a87..41cf513 100644 --- a/packages/api/src/interfaces/drone-registration.ts +++ b/packages/api/src/interfaces/drone-registration.ts @@ -18,6 +18,7 @@ export interface IDroneRegistration extends Document { updatedAt: Date; user: IUser | Types.ObjectId; hostname: string; + workspaceDir: string; status: DroneStatus; currentJobId?: string; }