package io.lumify.sql.model.workspace;
import io.lumify.web.clientapi.model.WorkspaceAccess;
import io.lumify.sql.model.user.SqlUser;
import javax.persistence.*;
@Entity
@Table(name = "workspace_user")
@AssociationOverrides({@AssociationOverride(name = "sqlWorkspaceUser.user", joinColumns = @JoinColumn(name = "user_id")),
@AssociationOverride(name = "sqlWorkspaceUser.workspace", joinColumns = @JoinColumn(name = "workspace_id"))})
public class SqlWorkspaceUser {
@EmbeddedId
private SqlWorkspaceUserId sqlWorkspaceUser = new SqlWorkspaceUserId();
@Column(name = "access")
private String workspaceAccess;
public SqlWorkspaceUser() {
}
public SqlWorkspaceUserId getSqlWorkspaceUser() {
return sqlWorkspaceUser;
}
public void setSqlWorkspaceUser(SqlWorkspaceUserId sqlWorkspaceUser) {
this.sqlWorkspaceUser = sqlWorkspaceUser;
}
public String getWorkspaceAccess() {
return workspaceAccess;
}
public void setWorkspaceAccess(WorkspaceAccess workspaceAccess) {
this.workspaceAccess = workspaceAccess.name();
}
@Transient
public SqlWorkspace getWorkspace() {
return getSqlWorkspaceUser().getWorkspace();
}
public void setWorkspace(SqlWorkspace workspace) {
getSqlWorkspaceUser().setWorkspace(workspace);
}
@Transient
public SqlUser getUser() {
return getSqlWorkspaceUser().getUser();
}
public void setUser(SqlUser user) {
getSqlWorkspaceUser().setUser(user);
}
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
SqlWorkspaceUser sqlWorkspaceUser = (SqlWorkspaceUser) o;
if (getSqlWorkspaceUser() != null ? !getSqlWorkspaceUser().equals(sqlWorkspaceUser.getSqlWorkspaceUser()) : sqlWorkspaceUser.getSqlWorkspaceUser() != null) {
return false;
}
return true;
}
public int hashCode() {
return (getSqlWorkspaceUser() != null ? getSqlWorkspaceUser().hashCode() : 0);
}
}