Skip to content

Commit

Permalink
Merge branch 'create-global-exception-handler' of github.com:jv-jun23…
Browse files Browse the repository at this point in the history
…-team5/car-sharing-app into create-global-exception-handler
  • Loading branch information
DmytroV95 committed Oct 3, 2023
2 parents 4e65744 + 3bd3c5b commit 00ca1f0
Show file tree
Hide file tree
Showing 7 changed files with 176 additions and 10 deletions.
2 changes: 1 addition & 1 deletion src/main/java/com/project/carsharingapp/model/Car.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public class Car {
@PositiveOrZero
@Column(nullable = false)
private BigDecimal dailyFee;
@Column(nullable = false)
@Column(name = "is_deleted", nullable = false)
private boolean isDeleted;

public enum CarType {
Expand Down
51 changes: 51 additions & 0 deletions src/main/java/com/project/carsharingapp/model/Payment.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package com.project.carsharingapp.model;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.OneToOne;
import jakarta.persistence.Table;
import java.math.BigDecimal;
import lombok.Getter;
import lombok.Setter;

@Entity
@Setter
@Getter
@Table(name = "payments")
public class Payment {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Enumerated(value = EnumType.STRING)
@Column(nullable = false)
private Status status;
@Enumerated(value = EnumType.STRING)
@Column(nullable = false)
private Type type;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "rental_id", nullable = false)
private Rental rentalId;
@Column(name = "session_url", nullable = false)
private String sessionUrl;
@Column(name = "session_id", nullable = false)
private String sessionId;
@Column(nullable = false)
private BigDecimal amount;

public enum Status {
PENDING,
PAID
}

public enum Type {
PAYMENT,
FINE
}
}
21 changes: 15 additions & 6 deletions src/main/java/com/project/carsharingapp/model/Rental.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,42 @@

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.OneToOne;
import jakarta.persistence.Table;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;

@Entity
@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;
@Column(name = "rental_date", nullable = false)
private LocalDateTime rentalDate;
@Column(name = "return_date", nullable = false)
private LocalDateTime returnDate;
@Column(name = "actual_return_date")
private LocalDateTime actualReturnDate;
//@OneToOne(fetch = FetchType.LAZY)
//private Car car;
// @ManyToOne(fetch = FetchType.LAZY)
// private User user;
@Column(nullable = false)
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "car_id", nullable = false)
private Car car;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id", nullable = false)
private User user;
@Column(name = "is_deleted",nullable = false)
private boolean isDeleted;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.project.carsharingapp.repository;

import com.project.carsharingapp.model.Payment;
import org.springframework.data.jpa.repository.JpaRepository;

public interface PaymentRepository extends JpaRepository<Payment, Long> {

}
47 changes: 47 additions & 0 deletions src/main/resources/db/changelog/changes/create-payments-table.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
databaseChangeLog:
- changeSet:
id: create-payments-table
author: ivan-diatliuk
changes:
- createTable:
tableName: payments
columns:
- column:
name: id
type: bigint
autoIncrement: true
constraints:
nullable: false
primaryKey: true
- column:
name: status
type: varchar(255)
constraints:
nullable: false
- column:
name: type
type: varchar(255)
constraints:
nullable: false
- column:
name: rental_id
type: bigint
constraints:
nullable: false
foreignKeyName: fk_rental_id
references: rentals(id)
- column:
name: session_url
type: varchar(255)
constraints:
nullable: false
- column:
name: session_id
type: varchar(255)
constraints:
nullable: false
- column:
name: amount
type: decimal
constraints:
nullable: false
48 changes: 48 additions & 0 deletions src/main/resources/db/changelog/changes/create-rentals-table.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
databaseChangeLog:
- changeSet:
id: create-rentals-table
author: ivan-diatliuk
changes:
- createTable:
tableName: rentals
columns:
- column:
name: id
type: bigint
autoIncrement: true
constraints:
nullable: false
primaryKey: true
- column:
name: rental_date
type: timestamp
constraints:
nullable: false
- column:
name: return_date
type: timestamp
constraints:
nullable: false
- column:
name: actual_return_date
type: timestamp
- column:
name: car_id
type: bigint
constraints:
nullable: false
foreignKeyName: fk_car_id
references: cars(id)
- column:
name: user_id
type: bigint
constraints:
nullable: false
foreignKeyName: fk_user_id
references: users(id)
- column:
name: is_deleted
type: boolean
defaultValueBoolean: false
constraints:
nullable: false
9 changes: 6 additions & 3 deletions src/main/resources/db/changelog/db.changelog-master.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@ databaseChangeLog:
- include:
file: db/changelog/changes/create-roles-table.yaml
- include:
file: /db/changelog/changes/create-users-table.yaml
file: db/changelog/changes/create-users-table.yaml
- include:
file: /db/changelog/changes/create-user-roles-table.yaml

file: db/changelog/changes/create-user-roles-table.yaml
- include:
file: db/changelog/changes/create-rentals-table.yaml
- include:
file: db/changelog/changes/create-payments-table.yaml

0 comments on commit 00ca1f0

Please sign in to comment.