Skip to content
Extraits de code Groupes Projets
Valider d4064feb rédigé par bouslim-saloua's avatar bouslim-saloua
Parcourir les fichiers

EDL-254: fixed user models

parent 15399b18
Branches
Étiquettes
1 requête de fusion!6EDL-254/ Fixed user's models
Affichage de
avec 57 ajouts et 63 suppressions
......@@ -10,7 +10,7 @@
</parent>
<groupId>com.marketingconfort</groupId>
<artifactId>checkandgo-common</artifactId>
<version>0.0.2-SNAPSHOT</version>
<version>0.0.4-SNAPSHOT</version>
<name>checkandgo-common</name>
<description>Check And Go common project </description>
<url/>
......
......@@ -4,5 +4,6 @@ public enum UserStatus {
ACTIVE,
BLOCKED,
SUSPENDED,
DELETED
DELETED,
PENDING
}
......@@ -4,6 +4,7 @@ import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import java.time.LocalDateTime;
......@@ -21,7 +22,6 @@ public abstract class BaseEntity {
@Column(updatable = false)
private LocalDateTime createdAt;
@Column(updatable = true)
@LastModifiedDate
private LocalDateTime updatedAt;
}
package com.marketingconfort.checkandgo_common.User.models;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Entity;
import jakarta.persistence.OneToMany;
import jakarta.persistence.PrimaryKeyJoinColumn;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
......@@ -19,16 +16,17 @@ import java.util.List;
@PrimaryKeyJoinColumn(name="user_id")
public class Collaborator extends User {
private String position;
@OneToMany(mappedBy = "collaborator", cascade = CascadeType.ALL, orphanRemoval = true)
private List<TeamManagement> managedTeams;
@OneToMany(mappedBy = "collaborator", cascade = CascadeType.ALL, orphanRemoval = true)
@OneToMany(mappedBy = "collaborator", cascade = CascadeType.ALL)
private List<TeamMembers> memberTeams;
@OneToMany(mappedBy = "collaborator", cascade = CascadeType.ALL, orphanRemoval = true)
private List<RoleAssignment> assignments;
@OneToMany(mappedBy = "manager", cascade = CascadeType.ALL)
private List<Team> managedTeams;
@OneToMany(mappedBy = "collaborator", cascade = CascadeType.ALL, orphanRemoval = true)
private List<PermissionRequest> permissionRequests;
@ManyToOne
private Role role;
@OneToMany(mappedBy = "collaborator", cascade = CascadeType.ALL)
private List<PermissionPermit> permissionPermits;
}
\ No newline at end of file
......@@ -23,7 +23,7 @@ public class Driver extends User {
private Date contractEndDate;
private Boolean knowsRGPD;
@OneToMany(mappedBy = "driver", cascade = CascadeType.ALL, orphanRemoval = true)
@OneToMany(mappedBy = "driver", cascade = CascadeType.ALL)
private List<File> drivingLicenseFiles;
}
package com.marketingconfort.checkandgo_common.User.models;
import com.marketingconfort.checkandgo_common.User.enums.ModuleEnum;
import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@Entity
@Getter
@Setter
......@@ -17,4 +19,7 @@ import lombok.Setter;
public class Module extends BaseEntity {
@Enumerated(EnumType.STRING)
private ModuleEnum moduleEnum;
@OneToMany(mappedBy = "module", cascade = CascadeType.ALL)
private Set<ModulePermission> modulePermissions = new HashSet<>();
}
......@@ -8,21 +8,17 @@ import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDate;
@Entity
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class RoleAssignment extends BaseEntity {
private LocalDate assignmentDate;
public class ModulePermission extends BaseEntity {
@ManyToOne
@JoinColumn(name = "role_id")
private Role role ;
@JoinColumn(name = "module_id")
private Module module;
@ManyToOne
@JoinColumn(name = "collaborator_id")
private Collaborator collaborator;
@JoinColumn(name = "permission_id")
private Permission permission;
}
......@@ -7,7 +7,9 @@ import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@Entity
@Getter
......@@ -16,19 +18,9 @@ import java.util.List;
@AllArgsConstructor
public class Permission extends BaseEntity {
@ManyToOne
@JoinColumn(name = "role_id")
private Role role;
@Enumerated(EnumType.STRING)
private PermissionType permissionType;
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(
name = "permission_modules",
joinColumns = @JoinColumn(name = "permission_id"),
inverseJoinColumns = @JoinColumn(name = "module_id") )
private List<Module> modules;
@OneToMany(mappedBy = "permission", cascade = CascadeType.ALL)
private Set<ModulePermission> permissionModules = new HashSet<>();
}
......@@ -16,15 +16,15 @@ import java.time.LocalDate;
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class PermissionRequest extends BaseEntity {
public class PermissionPermit extends BaseEntity {
private LocalDate requestDate;
private LocalDate assignmentDate;
private String requestDuration;
private String comment;
private PermissionRequestStatus status;
private String rejectionReason;
@ManyToOne
@JoinColumn(name = "collaborator_id")
private Collaborator Collaborator;
private Collaborator collaborator;
}
......@@ -23,9 +23,11 @@ public class Role extends BaseEntity {
private String name;
private String description;
@OneToMany(mappedBy = "role", cascade = CascadeType.ALL, orphanRemoval = true)
private List<RoleAssignment> assignments;
@OneToMany(mappedBy = "role")
private Set<RoleModule> roleModules = new HashSet<>();
@OneToMany(mappedBy = "role", cascade = CascadeType.ALL, orphanRemoval = true)
private Set<Permission> permissions = new HashSet<>();
@Override
public String toString() {
return name;
}
}
......@@ -8,21 +8,16 @@ import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDateTime;
@Entity
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class TeamManagement extends BaseEntity{
private LocalDateTime integrationDate;
public class RoleModule extends BaseEntity{
@ManyToOne
@JoinColumn(name = "team_id")
private Team team;
@JoinColumn(name="role_id")
private Role role;
@ManyToOne
@JoinColumn(name = "collaborator_id")
private Collaborator collaborator;
@JoinColumn(name="module_id")
private Module module;
}
......@@ -21,9 +21,10 @@ public class Team extends BaseEntity {
@Enumerated(EnumType.STRING)
private TeamStatus status;
@OneToMany(mappedBy = "team", cascade = CascadeType.ALL, orphanRemoval = true)
private List<TeamManagement> managers;
@ManyToOne
@JoinColumn(name="manager_id")
private Collaborator manager;
@OneToMany(mappedBy = "team", cascade = CascadeType.ALL, orphanRemoval = true)
@OneToMany(mappedBy = "team", cascade = CascadeType.ALL)
private List<TeamMembers> members;
}
......@@ -5,6 +5,7 @@ import com.marketingconfort.checkandgo_common.User.enums.UserStatus;
import jakarta.persistence.*;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.AllArgsConstructor;
import lombok.Getter;
......@@ -16,6 +17,7 @@ import java.util.List;
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name = "app_user")
@Getter
@Setter
@NoArgsConstructor
......@@ -29,17 +31,17 @@ public abstract class User extends BaseEntity {
@Email
private String email;
private String image;
@NotBlank
@NotNull(message = "La date de naissance est obligatoire")
private LocalDate birthDate;
private String department;
private Boolean is2faEnabled;
@NotBlank
@NotNull
@Enumerated(EnumType.STRING)
private UserStatus status;
@Enumerated(EnumType.STRING)
private DoubleFAMethod DoubleFaMethod;
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL, orphanRemoval = true)
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL)
private List<UserSession> userSessions;
@OneToOne(cascade = CascadeType.ALL)
......
......@@ -6,6 +6,7 @@ import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDate;
import java.util.List;
@Entity
......@@ -16,6 +17,7 @@ import java.util.List;
public class UserSession extends BaseEntity {
private String deviceInfo;
private Boolean isActive;
private LocalDate lastLogin;
@ManyToOne
@JoinColumn(name = "user_id")
......
0% ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter