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
9
10 public class TaskValidators {
11
12
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
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
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
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
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
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 }