Skip to main content

StudyAccessRequestMetadataExecutor

Trait StudyAccessRequestMetadataExecutor 

Source
pub trait StudyAccessRequestMetadataExecutor {
    // Required methods
    fn submit_study_access_request(
        &mut self,
        submission: &AccessRequestSubmission,
    ) -> Result<AccessRequestSubmissionOutcome, PgMetaError>;
    fn list_requester_study_access_requests(
        &mut self,
        scope: &RequesterStudyAccessRequestScope,
    ) -> Result<Vec<RequesterStudyAccessRequest>, PgMetaError>;
    fn get_requester_study_access_request(
        &mut self,
        scope: &RequesterStudyAccessRequestScope,
        request_id: AccessRequestId,
    ) -> Result<Option<RequesterStudyAccessRequest>, PgMetaError>;
    fn withdraw_requester_study_access_request(
        &mut self,
        scope: &RequesterStudyAccessRequestScope,
        request_id: AccessRequestId,
    ) -> Result<AccessRequestWithdrawalOutcome, PgMetaError>;
    fn list_custodian_study_access_requests(
        &mut self,
        datastore_id: AccessRequestDatastoreId,
        status: CustodianStudyAccessRequestStatusFilter,
    ) -> Result<Vec<CustodianStudyAccessRequest>, PgMetaError>;
    fn reject_custodian_study_access_request(
        &mut self,
        rejection: &CustodianStudyAccessRequestRejection,
    ) -> Result<AccessRequestCustodianDecisionOutcome, PgMetaError>;
    fn inspect_custodian_study_access_request(
        &mut self,
        scope: &CustodianStudyAccessRequestScope,
    ) -> Result<AccessRequestCustodianInspection, PgMetaError>;
    fn approve_custodian_study_access_request(
        &mut self,
        approval: &CustodianStudyAccessRequestApproval,
    ) -> Result<AccessRequestCustodianApprovalOutcome, PgMetaError>;
}
Expand description

Typed Study access-request operations supported by metadata connections.

Both direct PostgreSQL and OAuth/libpq connections use the same query definitions and return the same adapter-owned records.

Required Methods§

Source

fn submit_study_access_request( &mut self, submission: &AccessRequestSubmission, ) -> Result<AccessRequestSubmissionOutcome, PgMetaError>

Submits a pending access request after checking the selected Study and an existing pending request for the same requester.

Source

fn list_requester_study_access_requests( &mut self, scope: &RequesterStudyAccessRequestScope, ) -> Result<Vec<RequesterStudyAccessRequest>, PgMetaError>

Lists access requests owned by a requester in the selected datastore.

Source

fn get_requester_study_access_request( &mut self, scope: &RequesterStudyAccessRequestScope, request_id: AccessRequestId, ) -> Result<Option<RequesterStudyAccessRequest>, PgMetaError>

Finds an access request owned by a requester in the selected datastore.

Source

fn withdraw_requester_study_access_request( &mut self, scope: &RequesterStudyAccessRequestScope, request_id: AccessRequestId, ) -> Result<AccessRequestWithdrawalOutcome, PgMetaError>

Atomically withdraws a pending access request owned by a requester in the selected datastore.

Source

fn list_custodian_study_access_requests( &mut self, datastore_id: AccessRequestDatastoreId, status: CustodianStudyAccessRequestStatusFilter, ) -> Result<Vec<CustodianStudyAccessRequest>, PgMetaError>

Lists access requests in one supported status visible to the current custodian actor.

Source

fn reject_custodian_study_access_request( &mut self, rejection: &CustodianStudyAccessRequestRejection, ) -> Result<AccessRequestCustodianDecisionOutcome, PgMetaError>

Rejects a pending request when the current database actor custodians its Study.

Source

fn inspect_custodian_study_access_request( &mut self, scope: &CustodianStudyAccessRequestScope, ) -> Result<AccessRequestCustodianInspection, PgMetaError>

Inspects a request before a caller provisions workflow entry for its requester and attempts a governed approval.

Source

fn approve_custodian_study_access_request( &mut self, approval: &CustodianStudyAccessRequestApproval, ) -> Result<AccessRequestCustodianApprovalOutcome, PgMetaError>

Grants the preflighted requester access to the request’s Study and records an audited approval in one governed database statement.

Implementations on Foreign Types§

Source§

impl StudyAccessRequestMetadataExecutor for LibpqOAuthConnection

Implementors§