package org.onap.portal.domain.db.fn;
+import java.io.Serializable;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Table;
import javax.validation.constraints.Digits;
import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Getter;
import org.onap.portal.domain.db.ep.EpRoleNotification;
import org.onap.portal.domain.db.ep.EpUserRolesRequestDet;
import org.onap.portal.domain.db.ep.EpWidgetCatalogRole;
+import org.onap.portal.domain.dto.DomainVo;
/*
CREATE TABLE `fn_role` (
query = "FROM FnRole where role_id =:roleId and app_id is null"),
@NamedQuery(
name = "FnRole.retrieveAppRoleByAppRoleIdAndByAppId",
- query = "FROM FnRole where app_role_id =:appRoleId and app_id =:appId"),
+ query = "FROM FnRole where appRoleId =:appRoleId and appId =:appId"),
@NamedQuery(
name = "FnRole.retrieveAppRoleByRoleIdAndAppId",
query = "FROM FnRole where role_id =:roleId and app_id =:appId"),
name = "FnRole.retrieveActiveRolesOfApplication",
query = "from FnRole where active_yn = 'Y' and app_id=:appId"),
@NamedQuery(name = "FnRole.retrieveRoleToUpdateInExternalAuthSystem",
- query = "FROM FnRole where role_name =:roleName and app_id =:appId")
-})
+ query = "FROM FnRole where role_name =:roleName and app_id =:appId"),
+ @NamedQuery(
+ name = "FnRole.getUserRoleOnUserIdAndAppId",
+ query = " FROM"
+ + " FnRole fr,\n"
+ + " FnUserRole fur\n"
+ + " WHERE\n"
+ + " fr.roleId = fur.roleId\n"
+ + " AND fur.userId = :userId"
+ + " AND fur.appId = :appId\n"
+ + " AND fr.activeYn = 'y'")
+ })
@Table(name = "fn_role", indexes = {
@Index(name = "fn_role_name_app_id_idx", columnList = "role_name, app_id", unique = true)
@Getter
@Setter
@Entity
-public class FnRole {
+public class FnRole extends DomainVo implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@SafeHtml
private String roleName;
@Column(name = "active_yn", length = 1, columnDefinition = "character varying(1) default 'y'", nullable = false)
- @Pattern(regexp = "[YNyn]")
- @Size(max = 1)
@NotNull
- @SafeHtml
- private String activeYn;
+ private Boolean activeYn;
@Column(name = "priority", length = 4, columnDefinition = "decimal(4,0) DEFAULT NULL")
@Digits(integer = 4, fraction = 0)
private Long priority;