View Javadoc
1   package fr.tiogars.chat.domains.task.models;
2   
3   import io.swagger.v3.oas.annotations.media.Schema;
4   import jakarta.validation.constraints.NotBlank;
5   
6   /** Defines the mutable business data of a Task. */
7   @Schema(description = "Mutable business data of a Task.")
8   public record UpdateTaskRequest(
9           @Schema(example = "Customer", requiredMode = Schema.RequiredMode.REQUIRED)
10          @NotBlank String label,
11          @Schema(example = "Updated customer Task")
12          String description,
13          TaskStatus status,
14          TaskPriority priority,
15          java.time.LocalDate dueDate,
16          String assignedTo,
17          java.util.List<@jakarta.validation.constraints.NotNull @jakarta.validation.constraints.Positive Long> tagIds,
18          @jakarta.validation.constraints.Positive Long nomenclatureId
19  ) {
20      public UpdateTaskRequest {
21          status = status == null ? TaskStatus.TODO : status;
22          priority = priority == null ? TaskPriority.NORMAL : priority;
23          tagIds = tagIds == null ? java.util.List.of() : java.util.List.copyOf(tagIds);
24      }
25  
26      public UpdateTaskRequest(String label, String description) {
27          this(label, description, TaskStatus.TODO, TaskPriority.NORMAL, null, null, java.util.List.of(), null);
28      }
29  }