-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
14 changed files
with
283 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
13 changes: 13 additions & 0 deletions
13
src/main/java/com/project/carsharingapp/config/MapperConfig.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
package com.project.carsharingapp.config; | ||
|
||
import org.mapstruct.InjectionStrategy; | ||
import org.mapstruct.NullValueCheckStrategy; | ||
|
||
@org.mapstruct.MapperConfig( | ||
componentModel = "spring", | ||
injectionStrategy = InjectionStrategy.CONSTRUCTOR, | ||
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS, | ||
implementationPackage = "<PACKAGE_NAME>.impl" | ||
) | ||
public class MapperConfig { | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,17 @@ | ||
package com.project.carsharingapp.dto.car; | ||
|
||
|
||
import com.project.carsharingapp.model.Car; | ||
import java.math.BigDecimal; | ||
import lombok.Getter; | ||
import lombok.Setter; | ||
|
||
@Getter | ||
@Setter | ||
public class CarDto { | ||
private Long id; | ||
private String model; | ||
private String brand; | ||
private Integer inventory; | ||
private Car.CarType carType; | ||
private BigDecimal dailyFee; | ||
} |
29 changes: 26 additions & 3 deletions
29
src/main/java/com/project/carsharingapp/dto/car/CreateCarRequestDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,31 @@ | ||
package com.project.carsharingapp.dto.car; | ||
|
||
import lombok.Data; | ||
import com.project.carsharingapp.model.Car; | ||
import java.math.BigDecimal; | ||
import javax.validation.constraints.Min; | ||
import javax.validation.constraints.NotBlank; | ||
import javax.validation.constraints.NotNull; | ||
import lombok.Getter; | ||
import lombok.Setter; | ||
import org.hibernate.validator.constraints.Length; | ||
|
||
@Data | ||
@Getter | ||
@Setter | ||
public class CreateCarRequestDto { | ||
|
||
@NotNull | ||
@Length(min = 1, max = 255) | ||
private String model; | ||
@NotNull | ||
@Length(min = 1, max = 255) | ||
private String brand; | ||
@NotBlank | ||
@NotNull | ||
@Min(0) | ||
private Integer inventory; | ||
@NotBlank | ||
@NotNull | ||
private Car.CarType carType; | ||
@NotBlank | ||
@Min(0) | ||
private BigDecimal dailyFee; | ||
} |
22 changes: 22 additions & 0 deletions
22
src/main/java/com/project/carsharingapp/dto/car/UpdateCarRequestDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,31 @@ | ||
package com.project.carsharingapp.dto.car; | ||
|
||
import com.project.carsharingapp.model.Car; | ||
import java.math.BigDecimal; | ||
import javax.validation.constraints.Min; | ||
import javax.validation.constraints.NotBlank; | ||
import javax.validation.constraints.NotNull; | ||
import lombok.Getter; | ||
import lombok.Setter; | ||
import org.hibernate.validator.constraints.Length; | ||
|
||
@Getter | ||
@Setter | ||
public class UpdateCarRequestDto { | ||
@NotNull | ||
@Length(min = 1, max = 255) | ||
private String model; | ||
@NotNull | ||
@Length(min = 1, max = 255) | ||
private String brand; | ||
@NotBlank | ||
@NotNull | ||
@Min(0) | ||
private Integer inventory; | ||
@NotBlank | ||
@NotNull | ||
private Car.CarType carType; | ||
@NotBlank | ||
@Min(0) | ||
private BigDecimal dailyFee; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
package com.project.carsharingapp.model; | ||
|
||
import jakarta.persistence.Column; | ||
import jakarta.persistence.Entity; | ||
import jakarta.persistence.EnumType; | ||
import jakarta.persistence.Enumerated; | ||
import jakarta.persistence.GeneratedValue; | ||
import jakarta.persistence.GenerationType; | ||
import jakarta.persistence.Id; | ||
import jakarta.persistence.Table; | ||
import java.math.BigDecimal; | ||
import javax.validation.constraints.PositiveOrZero; | ||
import lombok.Getter; | ||
import lombok.Setter; | ||
import org.hibernate.annotations.SQLDelete; | ||
import org.hibernate.annotations.Where; | ||
|
||
@Entity | ||
@Getter | ||
@Setter | ||
@SQLDelete(sql = "UPDATE cars SET is_deleted = true WHERE id = ?") | ||
@Where(clause = "is_deleted=false") | ||
@Table(name = "cars") | ||
public class Car { | ||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
@Column(nullable = false) | ||
private String model; | ||
@Column(nullable = false) | ||
private String brand; | ||
@PositiveOrZero | ||
private Integer inventory; | ||
@Enumerated(value = EnumType.STRING) | ||
private CarType carType; | ||
@PositiveOrZero | ||
@Column(nullable = false) | ||
private BigDecimal dailyFee; | ||
@Column(nullable = false) | ||
private boolean isDeleted; | ||
|
||
public enum CarType { | ||
SEDAN, | ||
SUV, | ||
HATCHBACK, | ||
UNIVERSAL | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
package com.project.carsharingapp.model; | ||
|
||
import jakarta.persistence.Column; | ||
import jakarta.persistence.Entity; | ||
import jakarta.persistence.GeneratedValue; | ||
import jakarta.persistence.GenerationType; | ||
import jakarta.persistence.Id; | ||
import jakarta.persistence.Table; | ||
import java.time.LocalDateTime; | ||
import lombok.Getter; | ||
import lombok.Setter; | ||
import org.hibernate.annotations.SQLDelete; | ||
import org.hibernate.annotations.Where; | ||
|
||
@Getter | ||
@Setter | ||
@SQLDelete(sql = "UPDATE rentals SET is_deleted = true WHERE id = ?") | ||
@Where(clause = "is_deleted=false") | ||
@Entity | ||
@Table(name = "rentals") | ||
public class Rental { | ||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
private Long id; | ||
private LocalDateTime rentalDate; | ||
private LocalDateTime returnDate; | ||
private LocalDateTime actualReturnDate; | ||
//@OneToOne(fetch = FetchType.LAZY) | ||
//private Car car; | ||
// @ManyToOne(fetch = FetchType.LAZY) | ||
// private User user; | ||
@Column(nullable = false) | ||
private boolean isDeleted; | ||
} |
9 changes: 9 additions & 0 deletions
9
src/main/java/com/project/carsharingapp/repository/CarRepository.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
package com.project.carsharingapp.repository; | ||
|
||
import com.project.carsharingapp.model.Car; | ||
import org.springframework.data.jpa.repository.JpaRepository; | ||
import org.springframework.stereotype.Repository; | ||
|
||
@Repository | ||
public interface CarRepository extends JpaRepository<Car, Long> { | ||
} |
9 changes: 9 additions & 0 deletions
9
src/main/java/com/project/carsharingapp/repository/RentalRepository.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
package com.project.carsharingapp.repository; | ||
|
||
import com.project.carsharingapp.model.Rental; | ||
import org.springframework.data.jpa.repository.JpaRepository; | ||
import org.springframework.stereotype.Repository; | ||
|
||
@Repository | ||
public interface RentalRepository extends JpaRepository<Rental, Long> { | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
46 changes: 46 additions & 0 deletions
46
src/main/resources/db/changelog/changes/create-cars-table.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
databaseChangeLog: | ||
- changeSet: | ||
id: create-cars-table | ||
author: Anton Zhdanov | ||
changes: | ||
- createTable: | ||
tableName: cars | ||
columns: | ||
- column: | ||
name: id | ||
type: bigint | ||
autoIncrement: true | ||
constraints: | ||
primaryKey: true | ||
nullable: false | ||
- column: | ||
name: model | ||
type: varchar(255) | ||
constraints: | ||
nullable: false | ||
- column: | ||
name: brand | ||
type: varchar(255) | ||
constraints: | ||
nullable: false | ||
- column: | ||
name: inventory | ||
type: int | ||
constraints: | ||
nullable: true | ||
- column: | ||
name: car_type | ||
type: varchar(255) | ||
constraints: | ||
nullable: true | ||
- column: | ||
name: daily_fee | ||
type: decimal(38, 2) | ||
constraints: | ||
nullable: false | ||
- column: | ||
name: is_deleted | ||
type: boolean | ||
defaultValueBoolean: false | ||
constraints: | ||
nullable: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,10 @@ | ||
databaseChangeLog: | ||
- include: | ||
file: db/changelog/changes/create-roles-table.yaml | ||
- include: | ||
file: /db/changelog/changes/create-users-table.yaml | ||
- include: | ||
file: /db/changelog/changes/create-user-roles-table.yaml | ||
databaseChangeLog: | ||
- include: | ||
file: db/changelog/changes/create-cars-table.yaml | ||
- include: | ||
file: db/changelog/changes/create-roles-table.yaml | ||
- include: | ||
file: /db/changelog/changes/create-users-table.yaml | ||
- include: | ||
file: /db/changelog/changes/create-user-roles-table.yaml | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
url=jdbc:mysql://localhost:3306/car_sharing_db?serverTimezone=UTC | ||
username=root | ||
password=gjujlf123$_0 | ||
changeLogFile=/db.changelog/db.changelog-master.yaml | ||
url=jdbc:mysql://localhost:3306/car_sharing_db?serverTimezone=UTC | ||
username=root | ||
password=gjujlf123$_0 | ||
changeLogFile=/db.changelog/db.changelog-master.yaml |