feat: support for userId in categories

This commit is contained in:
effe 2024-09-14 11:20:23 -04:00
parent 8d0823a206
commit d3e0490eee
2 changed files with 7 additions and 5 deletions

View file

@ -26,7 +26,8 @@ public class CategoryService {
return categoryRepository.findByUserId(userId); return categoryRepository.findByUserId(userId);
} }
public void update(Category category) { public void update(Category category, Long userId) {
category.setUserId(userId);
categoryRepository.save(category ); categoryRepository.save(category );
} }

View file

@ -53,10 +53,12 @@ public class CategoriesView extends Div implements BeforeEnterObserver {
private final CategoryService categoryService; private final CategoryService categoryService;
private final UserService userService; private final UserService userService;
private TextField name; private TextField name;
private TextArea description;
public CategoriesView(CategoryService categoryService, UserService userService) { public CategoriesView(CategoryService categoryService, UserService userService) {
this.categoryService = categoryService; this.categoryService = categoryService;
this.userService = userService; this.userService = userService;
final var userId = this.userService.getLoggedInUser().getId();
addClassNames("expenses-view"); addClassNames("expenses-view");
// Create UI // Create UI
@ -70,7 +72,7 @@ public class CategoriesView extends Div implements BeforeEnterObserver {
grid.addColumn(Category::getDescription).setHeader("Description").setSortable(true); grid.addColumn(Category::getDescription).setHeader("Description").setSortable(true);
grid.getColumns().forEach(col -> col.setAutoWidth(true)); grid.getColumns().forEach(col -> col.setAutoWidth(true));
grid.setItems(this.categoryService.findAllByUserId(this.userService.getLoggedInUser().getId())); grid.setItems(this.categoryService.findAllByUserId(userId));
grid.addThemeVariants(GridVariant.LUMO_NO_BORDER); grid.addThemeVariants(GridVariant.LUMO_NO_BORDER);
// when a row is selected or deselected, populate form // when a row is selected or deselected, populate form
@ -103,7 +105,7 @@ public class CategoriesView extends Div implements BeforeEnterObserver {
this.category = new Category(); this.category = new Category();
} }
binder.writeBean(this.category); binder.writeBean(this.category);
categoryService.update(this.category); categoryService.update(this.category, userId);
clearForm(); clearForm();
refreshGrid(); refreshGrid();
Notification.show("Data updated"); Notification.show("Data updated");
@ -155,7 +157,6 @@ public class CategoriesView extends Div implements BeforeEnterObserver {
} }
private void createEditorLayout(SplitLayout splitLayout) { private void createEditorLayout(SplitLayout splitLayout) {
TextArea description;
Div editorLayoutDiv = new Div(); Div editorLayoutDiv = new Div();
editorLayoutDiv.setClassName("editor-layout"); editorLayoutDiv.setClassName("editor-layout");