diff --git a/src/main/java/com/box/library/book/Book.java b/src/main/java/com/box/library/book/Book.java index 9d2456d..b8ef761 100644 --- a/src/main/java/com/box/library/book/Book.java +++ b/src/main/java/com/box/library/book/Book.java @@ -3,15 +3,15 @@ import com.box.library.author.Author; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import jakarta.persistence.*; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; +import lombok.*; import java.util.List; @Getter @Setter @NoArgsConstructor +@AllArgsConstructor +@Builder @Entity @Table(name = "books") public class Book { @@ -34,16 +34,9 @@ public class Book { private String publisher; private String ISBN; - + @Builder.Default @Column(nullable = false) @Enumerated(EnumType.STRING) private BookStatus status = BookStatus.AVAILABLE; - public Book(String title, List authors, String publisher, String ISBN) { - this.title = title; - this.authors = authors; - this.publisher = publisher; - this.ISBN = ISBN; - } - } diff --git a/src/main/java/com/box/library/book/BookService.java b/src/main/java/com/box/library/book/BookService.java index 5610b7b..f77c755 100644 --- a/src/main/java/com/box/library/book/BookService.java +++ b/src/main/java/com/box/library/book/BookService.java @@ -23,7 +23,14 @@ public BookService(BookRepository repository, AuthorService authorService) { public Book create(CreateBookRequest request) { var authors = authorService.findAllByIds(request.authorsIds()); - var book = new Book(request.title(), authors, request.publisher(), request.ISBN()); + + var book = Book.builder() + .title(request.title()) + .authors(authors) + .publisher(request.publisher()) + .ISBN(request.ISBN()) + .build(); + return repository.save(book); } diff --git a/src/main/java/com/box/library/loan/Loan.java b/src/main/java/com/box/library/loan/Loan.java index 50e6b81..92ea008 100644 --- a/src/main/java/com/box/library/loan/Loan.java +++ b/src/main/java/com/box/library/loan/Loan.java @@ -1,10 +1,16 @@ package com.box.library.loan; import jakarta.persistence.*; +import lombok.*; import java.time.LocalDate; import java.util.List; +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor +@Builder @Entity @Table(name = "loans") public class Loan { @@ -22,9 +28,7 @@ public class Loan { private LocalDate returnDate; private LoanStatus status; - public Loan() { - } - + @Builder public Loan(Long userId, List booksIds) { this.userId = userId; this.booksIds = booksIds; @@ -33,59 +37,4 @@ public Loan(Long userId, List booksIds) { this.status = LoanStatus.ACTIVE; } - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getUserId() { - return userId; - } - - public void setUserId(Long userId) { - this.userId = userId; - } - - public List getBooksIds() { - return booksIds; - } - - public void setBooksIds(List booksIds) { - this.booksIds = booksIds; - } - - public LocalDate getLoanDate() { - return loanDate; - } - - public void setLoanDate(LocalDate loanDate) { - this.loanDate = loanDate; - } - - public LocalDate getExpectedReturnDate() { - return expectedReturnDate; - } - - public void setExpectedReturnDate(LocalDate expectedReturnDate) { - this.expectedReturnDate = expectedReturnDate; - } - - public LocalDate getReturnDate() { - return returnDate; - } - - public void setReturnDate(LocalDate returnDate) { - this.returnDate = returnDate; - } - - public LoanStatus getStatus() { - return status; - } - - public void setStatus(LoanStatus status) { - this.status = status; - } } diff --git a/src/main/java/com/box/library/user/LibraryUser.java b/src/main/java/com/box/library/user/LibraryUser.java index bb51ed0..27d939e 100644 --- a/src/main/java/com/box/library/user/LibraryUser.java +++ b/src/main/java/com/box/library/user/LibraryUser.java @@ -1,7 +1,12 @@ package com.box.library.user; import jakarta.persistence.*; +import lombok.*; +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor @Entity @Table(name = "users") public class LibraryUser { @@ -11,24 +16,5 @@ public class LibraryUser { private Long id; private String username; - - public LibraryUser() { - } - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } }