public IndividualAclEntry.IndividualPermissions getIndividualPermission() { if (this.type == INDIVIDUAL) { return IndividualAclEntry.IndividualPermissions.valueOf(this.permission); } return null; }
public ClinicalAnalysisAclEntry.ClinicalAnalysisPermissions getClinicalAnalysisPermission() { if (this.type == CLINICAL_ANALYSIS) { return ClinicalAnalysisAclEntry.ClinicalAnalysisPermissions.valueOf(this.permission); } return null; } }
public JobAclEntry.JobPermissions getJobPermission() { if (this.type == JOB) { return JobAclEntry.JobPermissions.valueOf(this.permission); } return null; }
@Override public QueryResult groupBy(Query query, String field, QueryOptions options, String user) throws CatalogDBException, CatalogAuthorizationException { Document studyDocument = getStudyDocument(query); Document queryForAuthorisedEntries = getQueryForAuthorisedEntries(studyDocument, user, StudyAclEntry.StudyPermissions.VIEW_CLINICAL_ANALYSIS.name(), ClinicalAnalysisAclEntry.ClinicalAnalysisPermissions.VIEW.name(), Entity.CLINICAL_ANALYSIS.name()); filterOutDeleted(query); Bson bsonQuery = parseQuery(query, false, queryForAuthorisedEntries); return groupBy(clinicalCollection, bsonQuery, field, QueryParams.ID.key(), options); }
@Override public QueryResult groupBy(Query query, List<String> fields, QueryOptions options, String user) throws CatalogDBException, CatalogAuthorizationException { Document studyDocument = getStudyDocument(query); Document queryForAuthorisedEntries = getQueryForAuthorisedEntries(studyDocument, user, StudyAclEntry.StudyPermissions.VIEW_JOBS.name(), JobAclEntry.JobPermissions.VIEW.name(), Entity.JOB.name()); filterOutDeleted(query); Bson bsonQuery = parseQuery(query, false, queryForAuthorisedEntries); return groupBy(jobCollection, bsonQuery, fields, QueryParams.NAME.key(), options); }
@Override public QueryResult groupBy(Query query, List<String> fields, QueryOptions options, String user) throws CatalogDBException, CatalogAuthorizationException { Document studyDocument = getStudyDocument(query); Document queryForAuthorisedEntries = getQueryForAuthorisedEntries(studyDocument, user, StudyAclEntry.StudyPermissions.VIEW_PANELS.name(), PanelAclEntry.PanelPermissions.VIEW.name(), Entity.PANEL.name()); filterOutDeleted(query); Bson bsonQuery = parseQuery(query, false, queryForAuthorisedEntries); return groupBy(panelCollection, bsonQuery, fields, QueryParams.ID.key(), options); }
@Override public DBIterator<Individual> iterator(Query query, QueryOptions options, String user) throws CatalogDBException, CatalogAuthorizationException { Document studyDocument = getStudyDocument(query); MongoCursor<Document> mongoCursor = getMongoCursor(query, options, studyDocument, user); Function<Document, Document> iteratorFilter = (d) -> filterAnnotationSets(studyDocument, d, user, StudyAclEntry.StudyPermissions.VIEW_INDIVIDUAL_ANNOTATIONS.name(), IndividualAclEntry.IndividualPermissions.VIEW_ANNOTATIONS.name()); return new IndividualMongoDBIterator<>(mongoCursor, individualConverter, iteratorFilter, dbAdaptorFactory, query.getLong(PRIVATE_STUDY_ID), user, options); }
public SampleAclEntry.SamplePermissions getSamplePermission() { if (this.type == SAMPLE) { return SampleAclEntry.SamplePermissions.valueOf(this.permission); } return null; }
public FamilyAclEntry(String member, ObjectMap permissions) { super(member, EnumSet.noneOf(FamilyPermissions.class)); EnumSet<FamilyPermissions> aux = EnumSet.allOf(FamilyPermissions.class); for (FamilyPermissions permission : aux) { if (permissions.containsKey(permission.name()) && permissions.getBoolean(permission.name())) { this.permissions.add(permission); } } }
public JobAclEntry(String member, ObjectMap permissions) { super(member, EnumSet.noneOf(JobPermissions.class)); EnumSet<JobPermissions> aux = EnumSet.allOf(JobPermissions.class); for (JobPermissions permission : aux) { if (permissions.containsKey(permission.name()) && permissions.getBoolean(permission.name())) { this.permissions.add(permission); } } }
public DatasetAclEntry.DatasetPermissions getDatasetPermission() { if (this.type == DATASET) { return DatasetAclEntry.DatasetPermissions.valueOf(this.permission); } return null; }
public FileAclEntry.FilePermissions getFilePermission() { if (this.type == FILE) { return FileAclEntry.FilePermissions.valueOf(this.permission); } return null; }
public FamilyAclEntry.FamilyPermissions getFamilyPermission() { if (this.type == FAMILY) { return FamilyAclEntry.FamilyPermissions.valueOf(this.permission); } return null; }
public CohortAclEntry.CohortPermissions getCohortPermission() { if (this.type == COHORT) { return CohortAclEntry.CohortPermissions.valueOf(this.permission); } return null; }
public PanelAclEntry.PanelPermissions getPanelPermission() { if (this.type == DISEASE_PANEL) { return PanelAclEntry.PanelPermissions.valueOf(this.permission); } return null; }
@Override public void checkStudyPermission(long studyId, String userId, StudyAclEntry.StudyPermissions permission) throws CatalogException { checkStudyPermission(studyId, userId, permission, permission.toString()); }
public DatasetAclEntry(String member, ObjectMap permissions) { super(member, EnumSet.noneOf(DatasetPermissions.class)); EnumSet<DatasetPermissions> aux = EnumSet.allOf(DatasetPermissions.class); for (DatasetPermissions permission : aux) { if (permissions.containsKey(permission.name()) && permissions.getBoolean(permission.name())) { this.permissions.add(permission); } } }
@Override public QueryResult groupBy(Query query, List<String> fields, QueryOptions options, String user) throws CatalogDBException, CatalogAuthorizationException { Document studyDocument = getStudyDocument(query); Document queryForAuthorisedEntries = getQueryForAuthorisedEntries(studyDocument, user, StudyAclEntry.StudyPermissions.VIEW_CLINICAL_ANALYSIS.name(), ClinicalAnalysisAclEntry.ClinicalAnalysisPermissions.VIEW.name(), Entity.CLINICAL_ANALYSIS.name()); filterOutDeleted(query); Bson bsonQuery = parseQuery(query, false, queryForAuthorisedEntries); return groupBy(clinicalCollection, bsonQuery, fields, SampleDBAdaptor.QueryParams.ID.key(), options); }
@Override public QueryResult groupBy(Query query, String field, QueryOptions options, String user) throws CatalogDBException, CatalogAuthorizationException { Document studyDocument = getStudyDocument(query); Document queryForAuthorisedEntries = getQueryForAuthorisedEntries(studyDocument, user, StudyAclEntry.StudyPermissions.VIEW_JOBS.name(), JobAclEntry.JobPermissions.VIEW.name(), Entity.JOB.name()); filterOutDeleted(query); Bson bsonQuery = parseQuery(query, false, queryForAuthorisedEntries); return groupBy(jobCollection, bsonQuery, field, QueryParams.NAME.key(), options); }
@Override public QueryResult groupBy(Query query, String field, QueryOptions options, String user) throws CatalogDBException, CatalogAuthorizationException { Document studyDocument = getStudyDocument(query); Document queryForAuthorisedEntries = getQueryForAuthorisedEntries(studyDocument, user, StudyAclEntry.StudyPermissions.VIEW_PANELS.name(), PanelAclEntry.PanelPermissions.VIEW.name(), Entity.PANEL.name()); filterOutDeleted(query); Bson bsonQuery = parseQuery(query, false, queryForAuthorisedEntries); return groupBy(panelCollection, bsonQuery, field, QueryParams.ID.key(), options); }