package de.passau.uni.sec.compose.id.core.persistence.entities;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
@Entity
public class Membership extends AbstractEntity {
/**
* User in the membership.
* This entity should be retrieved automatically when the user is fetched from the database.
*/
@ManyToOne
@JoinColumn(name = "user_fk")
private User user;
/**
* Role for the entity
*/
@ManyToOne
@JoinColumn(name = "role_fk")
private Role role;
/**
* Group for the entity
*/
@ManyToOne
@JoinColumn(name = "group_fk")
private Group group;
/**
* Approval from group owner
*/
@Column
private boolean approvedByGroupOwner;
/**
* Approval from the user
*/
@Column
private boolean approvedByUser;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public Role getRole() {
return role;
}
public void setRole(Role role) {
this.role = role;
}
public Group getGroup() {
return group;
}
public void setGroup(Group group) {
this.group = group;
}
public boolean isApprovedByGroupOwner() {
return approvedByGroupOwner;
}
public void setApprovedByGroupOwner(boolean approvedByGroupOwner) {
this.approvedByGroupOwner = approvedByGroupOwner;
}
public boolean isApprovedByUser() {
return approvedByUser;
}
public void setApprovedByUser(boolean approvedByUser) {
this.approvedByUser = approvedByUser;
}
}