Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
/**/application-local.properties

### STS ###
.apt_generated
Expand Down
18 changes: 18 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,19 @@
<scope>provided</scope>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we already have this

<version>3.2.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.7.3</version>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
Expand All @@ -41,6 +54,11 @@
<artifactId>spring-boot-starter-thymeleaf</artifactId>
<version>3.2.4</version>
</dependency>
<dependency>
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we already have this in the project

<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>3.2.4</version>
</dependency>


</dependencies>
Expand Down
17 changes: 8 additions & 9 deletions src/main/java/com/example/demo1/model/Review.java
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
package com.example.demo1.model;

import lombok.AllArgsConstructor;
import lombok.Builder;
import jakarta.persistence.*;
import lombok.Data;
import lombok.Getter;
import lombok.experimental.SuperBuilder;

import java.time.LocalDate;
import java.util.Date;
import java.time.LocalDateTime;

@Entity
@Table(name = "reviews")
@Data
@SuperBuilder
public class Review {
private int id;

@GeneratedValue(strategy = GenerationType.IDENTITY)
@Id
private Integer id;
private String reviewMsg;
private LocalDate date;

private LocalDateTime date;
private String userName;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be a User entrity and a relation like ManyToOne


public Review() {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can use lomboks' @DaTa

Expand Down
31 changes: 31 additions & 0 deletions src/main/java/com/example/demo1/model/dto/ReviewDto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.example.demo1.model.dto;

import com.example.demo1.model.Review;
import lombok.Data;

import java.time.LocalDateTime;

@Data
public class ReviewDto {
private String reviewMsg;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these fields should be validated (maybe @NotNull or minimum size?)

private LocalDateTime date;
private String userName;

public Review toObject(ReviewDto reviewDto) {
Review review = new Review();
review.setReviewMsg(reviewDto.getReviewMsg());
review.setDate(reviewDto.getDate());
review.setUserName(reviewDto.getUserName());
return review;
}

public ReviewDto toDto(Review review) {
ReviewDto reviewDto = new ReviewDto();
reviewDto.setReviewMsg(review.getReviewMsg());
reviewDto.setDate(review.getDate());
reviewDto.setUserName(review.getUserName());
return reviewDto;

}
// BeanUtils.copyProperties(delivery, deliveryDto);
}
33 changes: 33 additions & 0 deletions src/main/java/com/example/demo1/model/dto/ReviewReturnDto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.example.demo1.model.dto;

import com.example.demo1.model.Review;
import lombok.Data;

import java.time.LocalDateTime;

@Data
public class ReviewReturnDto {
private Integer id;
private String reviewMsg;
private LocalDateTime date;
private String userName;

public static Review toObject(ReviewReturnDto reviewDto) {
Review review = new Review();
review.setId(reviewDto.getId());
review.setReviewMsg(reviewDto.getReviewMsg());
review.setDate(reviewDto.getDate());
review.setUserName(reviewDto.getUserName());
return review;

}

public static ReviewReturnDto toDto(Review review) {
ReviewReturnDto reviewDto = new ReviewReturnDto();
reviewDto.setId(review.getId());
reviewDto.setReviewMsg(review.getReviewMsg());
reviewDto.setDate(review.getDate());
reviewDto.setUserName(review.getUserName());
return reviewDto;
}
}
33 changes: 33 additions & 0 deletions src/main/java/com/example/demo1/model/dto/ReviewUpdateDto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.example.demo1.model.dto;

import com.example.demo1.model.Review;
import lombok.Data;

import java.time.LocalDateTime;

@Data
public class ReviewUpdateDto {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

validation

private Integer id;
private String reviewMsg;
private LocalDateTime date;
private String userName;

public static Review toObject(ReviewUpdateDto reviewDto) {
Review review = new Review();
review.setId(reviewDto.getId());
review.setReviewMsg(reviewDto.getReviewMsg());
review.setDate(reviewDto.getDate());
review.setUserName(reviewDto.getUserName());
return review;

}

public static ReviewUpdateDto toDto(Review review) {
ReviewUpdateDto reviewDto = new ReviewUpdateDto();
reviewDto.setId(review.getId());
reviewDto.setReviewMsg(review.getReviewMsg());
reviewDto.setDate(review.getDate());
reviewDto.setUserName(review.getUserName());
return reviewDto;
}
}
11 changes: 0 additions & 11 deletions src/main/java/com/example/demo1/repository/CarsRepository.java

This file was deleted.

15 changes: 15 additions & 0 deletions src/main/java/com/example/demo1/repository/ReviewsRepository.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.example.demo1.repository;


import com.example.demo1.model.Review;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface ReviewsRepository extends JpaRepository<Review, Integer> {
List<Review> getAllByUser(String userName);

void deleteAllByUser(String userName);
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

deleteAllByUser_name or something similar will work but you need to have the OneToOne/ OneToMany relation set up correctly

}
15 changes: 15 additions & 0 deletions src/main/resources/application-local.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
spring.application.name=demo1
server.port=8080
service.version=not set
language=not set
numbers.separator=n

logging.level.root=info
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't commit this file :) git rm --cached


##TODO install postgres, create database eshop, set user postgres password

spring.datasource.url=jdbc:postgresql://localhost:5432/eshop
spring.datasource.username=postgres
spring.datasource.password=1897
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.show-sql=true
8 changes: 8 additions & 0 deletions src/main/resources/application.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,11 @@ language=not set
numbers.separator=n

logging.level.root=info

##TODO install postgres, create database eshop, set user postgres password

spring.datasource.url=jdbc:postgresql://localhost:5432/eshop
spring.datasource.username=postgres
spring.datasource.password=mypassword
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.show-sql=true