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§
Sourcefn submit_study_access_request(
&mut self,
submission: &AccessRequestSubmission,
) -> Result<AccessRequestSubmissionOutcome, PgMetaError>
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.
Sourcefn list_requester_study_access_requests(
&mut self,
scope: &RequesterStudyAccessRequestScope,
) -> Result<Vec<RequesterStudyAccessRequest>, PgMetaError>
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.
Sourcefn get_requester_study_access_request(
&mut self,
scope: &RequesterStudyAccessRequestScope,
request_id: AccessRequestId,
) -> Result<Option<RequesterStudyAccessRequest>, PgMetaError>
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.
Sourcefn withdraw_requester_study_access_request(
&mut self,
scope: &RequesterStudyAccessRequestScope,
request_id: AccessRequestId,
) -> Result<AccessRequestWithdrawalOutcome, PgMetaError>
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.
Sourcefn list_custodian_study_access_requests(
&mut self,
datastore_id: AccessRequestDatastoreId,
status: CustodianStudyAccessRequestStatusFilter,
) -> Result<Vec<CustodianStudyAccessRequest>, PgMetaError>
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.
Sourcefn reject_custodian_study_access_request(
&mut self,
rejection: &CustodianStudyAccessRequestRejection,
) -> Result<AccessRequestCustodianDecisionOutcome, PgMetaError>
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.
Sourcefn inspect_custodian_study_access_request(
&mut self,
scope: &CustodianStudyAccessRequestScope,
) -> Result<AccessRequestCustodianInspection, PgMetaError>
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.
Sourcefn approve_custodian_study_access_request(
&mut self,
approval: &CustodianStudyAccessRequestApproval,
) -> Result<AccessRequestCustodianApprovalOutcome, PgMetaError>
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.