Add base migration and Entitty and Dto
This commit is contained in:
parent
f52378a1c7
commit
a8d7eeea56
17
pom.xml
17
pom.xml
@ -33,15 +33,14 @@
|
|||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-web</artifactId>
|
<artifactId>spring-boot-starter-web</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- <dependency>-->
|
<dependency>
|
||||||
<!-- <groupId>org.flywaydb</groupId>-->
|
<groupId>org.flywaydb</groupId>
|
||||||
<!-- <artifactId>flyway-core</artifactId>-->
|
<artifactId>flyway-core</artifactId>
|
||||||
<!-- </dependency>-->
|
</dependency>
|
||||||
<!-- <dependency>-->
|
<dependency>
|
||||||
<!-- <groupId>org.flywaydb</groupId>-->
|
<groupId>org.flywaydb</groupId>
|
||||||
<!-- <artifactId>flyway-database-postgresql</artifactId>-->
|
<artifactId>flyway-database-postgresql</artifactId>
|
||||||
<!-- </dependency>-->
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.postgresql</groupId>
|
<groupId>org.postgresql</groupId>
|
||||||
<artifactId>postgresql</artifactId>
|
<artifactId>postgresql</artifactId>
|
||||||
|
|||||||
15
src/main/java/ru/tubryansk/tdms/dto/DiplomaTopicDTO.java
Normal file
15
src/main/java/ru/tubryansk/tdms/dto/DiplomaTopicDTO.java
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package ru.tubryansk.tdms.dto;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class DiplomaTopicDTO {
|
||||||
|
private Integer id;
|
||||||
|
private String name;
|
||||||
|
}
|
||||||
15
src/main/java/ru/tubryansk/tdms/dto/RoleDTO.java
Normal file
15
src/main/java/ru/tubryansk/tdms/dto/RoleDTO.java
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package ru.tubryansk.tdms.dto;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class RoleDTO {
|
||||||
|
private Integer id;
|
||||||
|
private String name;
|
||||||
|
}
|
||||||
30
src/main/java/ru/tubryansk/tdms/dto/StudentDTO.java
Normal file
30
src/main/java/ru/tubryansk/tdms/dto/StudentDTO.java
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
package ru.tubryansk.tdms.dto;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class StudentDTO {
|
||||||
|
private Integer id;
|
||||||
|
private Boolean form;
|
||||||
|
private Integer protectionOrder;
|
||||||
|
private String magistracy;
|
||||||
|
private Boolean digitalFormatPresent;
|
||||||
|
private Integer markComment;
|
||||||
|
private Integer markPractice;
|
||||||
|
private String predefenceComment;
|
||||||
|
private String normalControl;
|
||||||
|
private Integer antiPlagiarism;
|
||||||
|
private String note;
|
||||||
|
private Boolean recordBookReturned;
|
||||||
|
private String work;
|
||||||
|
private Integer userId;
|
||||||
|
private Integer diplomaTopicId;
|
||||||
|
private Integer mentorUserId;
|
||||||
|
private Integer groupId;
|
||||||
|
}
|
||||||
26
src/main/java/ru/tubryansk/tdms/dto/UserDTO.java
Normal file
26
src/main/java/ru/tubryansk/tdms/dto/UserDTO.java
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
package ru.tubryansk.tdms.dto;
|
||||||
|
|
||||||
|
|
||||||
|
import jakarta.persistence.Column;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.time.ZonedDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class UserDTO {
|
||||||
|
private Integer id;
|
||||||
|
private String login;
|
||||||
|
private String password;
|
||||||
|
private String fullName;
|
||||||
|
private String mail;
|
||||||
|
private String numberPhone;
|
||||||
|
private ZonedDateTime createAt;
|
||||||
|
private ZonedDateTime updateAt;
|
||||||
|
List<Integer> roleId;
|
||||||
|
}
|
||||||
24
src/main/java/ru/tubryansk/tdms/entity/DiplomaTopic.java
Normal file
24
src/main/java/ru/tubryansk/tdms/entity/DiplomaTopic.java
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
package ru.tubryansk.tdms.entity;
|
||||||
|
|
||||||
|
|
||||||
|
import jakarta.persistence.*;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Table(name = "diploma_topic", schema = "vkr")
|
||||||
|
public class DiplomaTopic {
|
||||||
|
@Id
|
||||||
|
@Column(name = "id")
|
||||||
|
@GeneratedValue(strategy = GenerationType.SEQUENCE)
|
||||||
|
private Integer id;
|
||||||
|
@Column(name = "name", nullable = false)
|
||||||
|
private String name;
|
||||||
|
}
|
||||||
27
src/main/java/ru/tubryansk/tdms/entity/Group.java
Normal file
27
src/main/java/ru/tubryansk/tdms/entity/Group.java
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
package ru.tubryansk.tdms.entity;
|
||||||
|
|
||||||
|
|
||||||
|
import jakarta.persistence.*;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Table(name = "group", schema = "vkr")
|
||||||
|
public class Group {
|
||||||
|
@Id
|
||||||
|
@Column(name = "id")
|
||||||
|
@GeneratedValue(strategy = GenerationType.SEQUENCE)
|
||||||
|
private Integer id;
|
||||||
|
@Column(name = "name", nullable = false)
|
||||||
|
private String name;
|
||||||
|
@ManyToOne()
|
||||||
|
@JoinColumn(name = "principal_user_id", nullable = false)
|
||||||
|
private User principalUser;
|
||||||
|
}
|
||||||
24
src/main/java/ru/tubryansk/tdms/entity/Role.java
Normal file
24
src/main/java/ru/tubryansk/tdms/entity/Role.java
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
package ru.tubryansk.tdms.entity;
|
||||||
|
|
||||||
|
|
||||||
|
import jakarta.persistence.*;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Table(name = "role", schema = "vkr")
|
||||||
|
public class Role {
|
||||||
|
@Id
|
||||||
|
@Column(name = "id")
|
||||||
|
@GeneratedValue(strategy = GenerationType.SEQUENCE)
|
||||||
|
private Integer id;
|
||||||
|
@Column(name = "name", nullable = false)
|
||||||
|
private String name;
|
||||||
|
}
|
||||||
53
src/main/java/ru/tubryansk/tdms/entity/Student.java
Normal file
53
src/main/java/ru/tubryansk/tdms/entity/Student.java
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
package ru.tubryansk.tdms.entity;
|
||||||
|
|
||||||
|
|
||||||
|
import jakarta.persistence.*;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Entity
|
||||||
|
@Table(name = "student", schema = "vkr")
|
||||||
|
public class Student {
|
||||||
|
@Id
|
||||||
|
@Column(name = "id")
|
||||||
|
@GeneratedValue(strategy = GenerationType.SEQUENCE)
|
||||||
|
private Integer id;
|
||||||
|
@Column(name = "form")
|
||||||
|
private Boolean form;
|
||||||
|
@Column(name = "protection_order" , nullable = false)
|
||||||
|
private Integer protectionOrder;
|
||||||
|
@Column(name = "magistracy" )
|
||||||
|
private String magistracy;
|
||||||
|
@Column(name = "digital_format_present")
|
||||||
|
private Boolean digitalFormatPresent;
|
||||||
|
@Column(name = "mark_comment")
|
||||||
|
private Integer markComment;
|
||||||
|
@Column(name = "mark_practice")
|
||||||
|
private Integer markPractice;
|
||||||
|
@Column(name = "predefence_comment")
|
||||||
|
private String predefenceComment;
|
||||||
|
@Column(name = "normal_control")
|
||||||
|
private String normalControl;
|
||||||
|
@Column(name = "anti_plagiarism")
|
||||||
|
private Integer antiPlagiarism;
|
||||||
|
@Column(name = "note")
|
||||||
|
private String note;
|
||||||
|
@Column(name = "record_book_returned")
|
||||||
|
private Boolean recordBookReturned;
|
||||||
|
@Column(name = "work")
|
||||||
|
private String work;
|
||||||
|
@OneToOne
|
||||||
|
@JoinColumn(name = "user_id", nullable = false)
|
||||||
|
private User user;
|
||||||
|
@ManyToOne
|
||||||
|
@JoinColumn(name = "diploma_topic_id", nullable = false)
|
||||||
|
private DiplomaTopic diplomaTopic;
|
||||||
|
@ManyToOne
|
||||||
|
@JoinColumn(name = "mentor_user_id", nullable = false)
|
||||||
|
private User mentorUser;
|
||||||
|
@ManyToOne
|
||||||
|
@JoinColumn(name = "group_id", nullable = false)
|
||||||
|
private Group group;
|
||||||
|
|
||||||
|
}
|
||||||
45
src/main/java/ru/tubryansk/tdms/entity/User.java
Normal file
45
src/main/java/ru/tubryansk/tdms/entity/User.java
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
package ru.tubryansk.tdms.entity;
|
||||||
|
|
||||||
|
|
||||||
|
import jakarta.persistence.*;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
import java.time.ZonedDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Table(name = "user", schema = "vkr")
|
||||||
|
public class User {
|
||||||
|
@Id
|
||||||
|
@Column(name = "id")
|
||||||
|
@GeneratedValue(strategy = GenerationType.SEQUENCE)
|
||||||
|
private Integer id;
|
||||||
|
@Column(name = "login", nullable = false, unique = true)
|
||||||
|
private String login;
|
||||||
|
@Column(name = "password", nullable = false)
|
||||||
|
private String password;
|
||||||
|
@Column(name = "full_name", nullable = false)
|
||||||
|
private String fullName;
|
||||||
|
@Column(name = "mail", nullable = false, unique = true)
|
||||||
|
private String mail;
|
||||||
|
@Column(name = "number_phone", nullable = false, unique = true)
|
||||||
|
private String numberPhone;
|
||||||
|
@Column(name = "create_at", nullable = false)
|
||||||
|
private ZonedDateTime createAt;
|
||||||
|
@Column(name = "update_at")
|
||||||
|
private ZonedDateTime updateAt;
|
||||||
|
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
|
||||||
|
@JoinTable(name = "user_role",schema = "vkr",
|
||||||
|
joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"),
|
||||||
|
inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id"))
|
||||||
|
private List<Role> userLoyaltyLevels;
|
||||||
|
|
||||||
|
}
|
||||||
@ -6,7 +6,6 @@ spring:
|
|||||||
username: root
|
username: root
|
||||||
password: root
|
password: root
|
||||||
driver-class-name: org.postgresql.Driver
|
driver-class-name: org.postgresql.Driver
|
||||||
|
|
||||||
jpa:
|
jpa:
|
||||||
open-in-view: false
|
open-in-view: false
|
||||||
show-sql: true
|
show-sql: true
|
||||||
@ -14,3 +13,9 @@ spring:
|
|||||||
properties.hibernate:
|
properties.hibernate:
|
||||||
pretty_print: true
|
pretty_print: true
|
||||||
format_sql: true
|
format_sql: true
|
||||||
|
flyway:
|
||||||
|
user: root
|
||||||
|
password: root
|
||||||
|
schemas: vkr
|
||||||
|
locations: db.migration
|
||||||
|
url: jdbc:postgresql://localhost:5432/db
|
||||||
|
|||||||
@ -0,0 +1,5 @@
|
|||||||
|
create table vkr.role
|
||||||
|
(
|
||||||
|
id integer primary key generated by default as identity,
|
||||||
|
name text not null unique
|
||||||
|
)
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
create table vkr.user
|
||||||
|
(
|
||||||
|
id integer primary key generated by default as identity,
|
||||||
|
login text not null unique,
|
||||||
|
password text not null,
|
||||||
|
full_name text not null,
|
||||||
|
mail text not null unique,
|
||||||
|
number_phone text not null unique,
|
||||||
|
create_at timestamp(6) with time zone not null,
|
||||||
|
update_at timestamp(6) with time zone
|
||||||
|
|
||||||
|
)
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
create table vkr.user_role
|
||||||
|
(
|
||||||
|
user_id integer not null,
|
||||||
|
role_id integer not null,
|
||||||
|
foreign key (user_id) references vkr.user (id)
|
||||||
|
on delete cascade,
|
||||||
|
foreign key (role_id) references vkr.role (id)
|
||||||
|
on delete cascade
|
||||||
|
)
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
create table vkr.diploma_topic
|
||||||
|
(
|
||||||
|
id integer primary key generated by default as identity,
|
||||||
|
name text not null unique
|
||||||
|
)
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
create table vkr.group
|
||||||
|
(
|
||||||
|
id integer primary key generated by default as identity,
|
||||||
|
name text not null unique,
|
||||||
|
principal_user_id integer not null,
|
||||||
|
foreign key (principal_user_id) references vkr.user (id)
|
||||||
|
on delete cascade
|
||||||
|
|
||||||
|
)
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
create table vkr.student
|
||||||
|
(
|
||||||
|
id integer primary key generated by default as identity,
|
||||||
|
form boolean,
|
||||||
|
protection_order integer not null,
|
||||||
|
magistracy text,
|
||||||
|
digital_format_present boolean,
|
||||||
|
mark_comment integer,
|
||||||
|
mark_practice integer,
|
||||||
|
predefence_comment text,
|
||||||
|
normal_control text,
|
||||||
|
anti_plagiarism int,
|
||||||
|
note text,
|
||||||
|
record_book_returned boolean,
|
||||||
|
work text,
|
||||||
|
user_id integer not null,
|
||||||
|
diploma_topic_id integer not null,
|
||||||
|
mentor_user_id integer not null,
|
||||||
|
group_id integer not null,
|
||||||
|
foreign key (user_id) references vkr.user (id) on delete cascade,
|
||||||
|
foreign key (diploma_topic_id) references vkr.diploma_topic (id) on delete cascade,
|
||||||
|
foreign key (mentor_user_id) references vkr.user (id) on delete cascade,
|
||||||
|
foreign key (group_id) references vkr.group (id) on delete cascade
|
||||||
|
)
|
||||||
Loading…
Reference in New Issue
Block a user