Skip to content
Extraits de code Groupes Projets
Valider 90329f22 rédigé par Mohamed Lemine BAILLAHI's avatar Mohamed Lemine BAILLAHI
Parcourir les fichiers

Merge branch 'feature/IA-589' into 'develop'

Resolve IA-589 "Add models and enums to subject management"

Closes IA-589

See merge request !39
parents 6a967038 24b57273
Branches
Étiquettes
1 requête de fusion!39Resolve IA-589 "Add models and enums to subject management"
Pipeline #19974 en échec avec les étapes
in 3 minutes et 38 secondes
Affichage de avec 136 ajouts et 0 suppression
......@@ -5,6 +5,7 @@
## [0.0.30-RELEASE]
### Added
-add entites assitant devoir
- Add models and enums to subject management
## [0.0.29-RELEASE]
### Added
......
package com.marketingconfort.brainboost_common.subjectmanagement.enums;
public enum ImprovementStatus {
NEW,
IN_PROGRESS,
RESOLVED,
REJECTED
}
package com.marketingconfort.brainboost_common.subjectmanagement.enums;
public enum ImprovementType {
PARENT,
CHILD,
ADMIN
}
package com.marketingconfort.brainboost_common.subjectmanagement.enums;
public enum MultimediaType {
IMAGE,
VIDEO,
AUDIO,
DOCUMENT
}
package com.marketingconfort.brainboost_common.subjectmanagement.mock;
import lombok.*;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
// TODO: Temporary mock for Exercise. Replace with Real entity when available.
public class Exercise {
private Long id;
private String title;
private Long chapterId;
}
package com.marketingconfort.brainboost_common.subjectmanagement.models;
import com.marketingconfort.brainboost_common.usermanagement.models.Admin;
import jakarta.persistence.*;
import lombok.*;
import java.util.*;
@Entity
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class Comment extends BaseEntity{
private String content;
@ManyToOne
@JoinColumn(name = "improvement_id")
private Improvement improvement;
@ManyToOne
@JoinColumn(name = "admin_id")
private Admin author;
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "comment_id")
private List<Multimedia> attachments;
}
package com.marketingconfort.brainboost_common.subjectmanagement.models;
import com.marketingconfort.brainboost_common.subjectmanagement.enums.ImprovementStatus;
import com.marketingconfort.brainboost_common.subjectmanagement.enums.ImprovementType;
import com.marketingconfort.brainboost_common.subjectmanagement.mock.Exercise;
import com.marketingconfort.brainboost_common.usermanagement.models.Admin;
import jakarta.persistence.*;
import lombok.*;
import java.util.*;
@Entity
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class Improvement extends BaseEntity{
private String title;
private String description;
@Enumerated(EnumType.STRING)
private ImprovementStatus status;
@Enumerated(EnumType.STRING)
private ImprovementType type;
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "improvement_id")
private List<Multimedia> attachments;
@OneToMany(mappedBy = "improvement", cascade = CascadeType.ALL)
private List<Comment> comments;
@ManyToOne
@JoinColumn(name = "level_id")
private Level level;
@ManyToOne
@JoinColumn(name = "subject_id")
private Subject subject;
@ManyToOne
@JoinColumn(name = "chapter_id")
private Chapter chapter;
@ManyToOne
@JoinColumn(name = "exercise_id")
private Exercise exercise;
@ManyToOne
@JoinColumn(name = "assignedby_id")
private Admin assignedBy;
@ManyToMany
@JoinTable(
name = "improvement_admin",
joinColumns = @JoinColumn(name = "improvement_id"),
inverseJoinColumns = @JoinColumn(name = "admin_id")
)
private List<Admin> assignedAdmins;
}
package com.marketingconfort.brainboost_common.subjectmanagement.models;
import com.marketingconfort.brainboost_common.subjectmanagement.enums.MultimediaType;
import jakarta.persistence.*;
import lombok.*;
import java.util.*;
@Entity
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class Multimedia extends BaseEntity{
private String name;
@Enumerated(EnumType.STRING)
private MultimediaType type;
private String format;
private Long size;
private String url;
@Temporal(TemporalType.TIMESTAMP)
private Date uploadedAt;
}
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