// src/models/drone-registration.ts // Copyright (C) 2026 Robert Colbert // All Rights Reserved import { Schema, model } from "mongoose"; import { DroneStatus, IDroneRegistration } from "@gadget/api"; export const DroneRegistrationSchema = new Schema({ createdAt: { type: Date, required: true }, 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, default: DroneStatus.Starting, required: true, }, currentJobId: { type: String, required: false }, }); DroneRegistrationSchema.index({ user: 1, status: 1, }); export const DroneRegistration = model( "DroneRegistration", DroneRegistrationSchema, ); export default DroneRegistration; (async () => { await DroneRegistration.syncIndexes(); })();