View Javadoc
1   package com.guinetik.hexafun.examples.tasks;
2   
3   import com.guinetik.hexafun.fun.Result;
4   
5   import static com.guinetik.hexafun.examples.tasks.TaskInputs.*;
6   
7   /**
8    * Validation functions for task inputs.
9    */
10  public class TaskValidators {
11  
12      // --- CreateTask validators ---
13  
14      public static Result<CreateTask> validateCreateTitle(CreateTask input) {
15          if (input.title() == null || input.title().isBlank()) {
16              return Result.fail("Title cannot be empty");
17          }
18          return Result.ok(input);
19      }
20  
21      public static Result<CreateTask> validateCreateTitleLength(CreateTask input) {
22          if (input.title().length() > 100) {
23              return Result.fail("Title cannot exceed 100 characters");
24          }
25          return Result.ok(input);
26      }
27  
28      // --- StartTask validators ---
29  
30      public static Result<StartTask> validateStartTaskId(StartTask input) {
31          if (input.taskId() == null || input.taskId().isBlank()) {
32              return Result.fail("Task ID cannot be empty");
33          }
34          return Result.ok(input);
35      }
36  
37      // --- CompleteTask validators ---
38  
39      public static Result<CompleteTask> validateCompleteTaskId(CompleteTask input) {
40          if (input.taskId() == null || input.taskId().isBlank()) {
41              return Result.fail("Task ID cannot be empty");
42          }
43          return Result.ok(input);
44      }
45  
46      // --- UpdateTask validators ---
47  
48      public static Result<UpdateTask> validateUpdateTaskId(UpdateTask input) {
49          if (input.taskId() == null || input.taskId().isBlank()) {
50              return Result.fail("Task ID cannot be empty");
51          }
52          return Result.ok(input);
53      }
54  
55      public static Result<UpdateTask> validateUpdateTitle(UpdateTask input) {
56          if (input.title() == null || input.title().isBlank()) {
57              return Result.fail("Title cannot be empty");
58          }
59          return Result.ok(input);
60      }
61  
62      // --- DeleteTask validators ---
63  
64      public static Result<DeleteTask> validateDeleteTaskId(DeleteTask input) {
65          if (input.taskId() == null || input.taskId().isBlank()) {
66              return Result.fail("Task ID cannot be empty");
67          }
68          return Result.ok(input);
69      }
70  
71      // --- FindTask validators ---
72  
73      public static Result<FindTask> validateFindTaskId(FindTask input) {
74          if (input.taskId() == null || input.taskId().isBlank()) {
75              return Result.fail("Task ID cannot be empty");
76          }
77          return Result.ok(input);
78      }
79  }