ForkliftRequest.java
package com.v1rex.liftnexus.forklift.dto;
import com.v1rex.liftnexus.forklift.domain.OperationalStatus;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
@Schema(description = "Request payload for registering a new forklift")
public record ForkliftRequest(
@NotBlank
@Schema(description = "Unique fleet number identifying the forklift", example = "FL-0042")
String fleetNumber,
@NotNull @Schema(description = "ID of the forklift type/model", example = "1")
Long forkliftTypeId,
@Schema(
description = "ID of the storage bin where the forklift is currently located",
example = "5",
nullable = true)
Long currentStorageBinId,
@Schema(description = "Initial operational status", example = "ACTIVE", nullable = true)
OperationalStatus status,
@Schema(
description = "Current battery level as a percentage (0-100)",
example = "85.5",
nullable = true)
Double currentBatteryPercentage) {}