feat: add CreateExpenseListRequest DTO with validation to POST /create endpoint
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -58,9 +58,11 @@ public class ExpenseListController {
|
||||
}
|
||||
|
||||
@PostMapping("/create")
|
||||
public ResponseEntity<ExpenseList> create(@RequestBody ExpenseList expenseList,
|
||||
public ResponseEntity<ExpenseList> create(@RequestBody @Valid CreateExpenseListRequest request,
|
||||
Authentication authentication) {
|
||||
AppUser authenticatedUser = authenticatedUserResolver.resolveCurrentUser(authentication);
|
||||
ExpenseList expenseList = new ExpenseList();
|
||||
expenseList.setName(request.getName());
|
||||
expenseList.setOwner(authenticatedUser);
|
||||
XpenselyStandardCategories standardCategories = categoryService.getDefaultCategories();
|
||||
expenseList.setXpenselyStandardCategories(standardCategories);
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package de.zendric.app.xpensely_server.model;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Size;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class CreateExpenseListRequest {
|
||||
|
||||
@NotBlank(message = "List name is required")
|
||||
@Size(max = 100, message = "List name must not exceed 100 characters")
|
||||
private String name;
|
||||
}
|
||||
Reference in New Issue
Block a user