CreateUserRequest.java
package fr.tiogars.domaintemplate.domains.auth.user.models;
import java.util.Set;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
/** Request body used to create a user account. */
public record CreateUserRequest(
@Schema(
description = "Unique login name.",
example = "operator",
requiredMode = Schema.RequiredMode.REQUIRED)
@NotBlank
String username,
@Schema(
description = "Plain password, stored only as a BCrypt hash.",
requiredMode = Schema.RequiredMode.REQUIRED)
@NotBlank
String password,
@Schema(description = "Whether this account can authenticate.", example = "true")
Boolean enabled,
@Schema(
description = "Role codes assigned to this account.",
example = "[\"USER\"]",
requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty
Set<@NotBlank String> roles) {
}