import { IsNotEmpty, IsString, MaxLength } from 'class-validator'; import { MqttLogMessageDto } from '../../ingest/dto/mqtt-messages.dto'; // What the simulator UI sends the backend: a devices//log payload // (type: "log" persists a point, "status" is a live-only position update) // plus "serial", which lives in the topic rather than the wire payload. export class SimPublishPointDto extends MqttLogMessageDto { @IsString() @IsNotEmpty() @MaxLength(64) serial: string; }