pub trait ReviewRequestClient: Send + Sync {
// Required methods
fn detect_remote(
&self,
repo_url: String,
) -> Result<ForgeRemote, ReviewRequestError>;
fn find_by_source_branch(
&self,
remote: ForgeRemote,
source_branch: String,
) -> ForgeFuture<Result<Option<ReviewRequestSummary>, ReviewRequestError>>;
fn create_review_request(
&self,
remote: ForgeRemote,
input: CreateReviewRequestInput,
) -> ForgeFuture<Result<ReviewRequestSummary, ReviewRequestError>>;
fn refresh_review_request(
&self,
remote: ForgeRemote,
display_id: String,
) -> ForgeFuture<Result<ReviewRequestSummary, ReviewRequestError>>;
fn sync_review_request_metadata(
&self,
remote: ForgeRemote,
display_id: String,
input: UpdateReviewRequestInput,
) -> ForgeFuture<Result<ReviewRequestSummary, ReviewRequestError>>;
fn review_request_web_url(
&self,
review_request: &ReviewRequestSummary,
) -> Result<String, ReviewRequestError>;
fn fetch_review_comment_snapshot(
&self,
remote: ForgeRemote,
display_id: String,
) -> ForgeFuture<Result<ReviewCommentSnapshot, ReviewRequestError>>;
fn list_requested_reviews(
&self,
remote: ForgeRemote,
) -> ForgeFuture<Result<Vec<RequestedReview>, ReviewRequestError>>;
}Expand description
Async boundary used by app orchestration for forge review requests.
The app layer depends on this narrow contract so provider-specific request formats remain isolated inside concrete adapters.
Required Methods§
Sourcefn detect_remote(
&self,
repo_url: String,
) -> Result<ForgeRemote, ReviewRequestError>
fn detect_remote( &self, repo_url: String, ) -> Result<ForgeRemote, ReviewRequestError>
Detects whether repo_url belongs to one supported forge.
§Errors
Returns ReviewRequestError::UnsupportedRemote when the remote does
not map to a supported forge.
Sourcefn find_by_source_branch(
&self,
remote: ForgeRemote,
source_branch: String,
) -> ForgeFuture<Result<Option<ReviewRequestSummary>, ReviewRequestError>>
fn find_by_source_branch( &self, remote: ForgeRemote, source_branch: String, ) -> ForgeFuture<Result<Option<ReviewRequestSummary>, ReviewRequestError>>
Finds an existing review request for source_branch.
§Errors
Returns a provider-specific review-request error when the forge lookup cannot be completed.
Sourcefn create_review_request(
&self,
remote: ForgeRemote,
input: CreateReviewRequestInput,
) -> ForgeFuture<Result<ReviewRequestSummary, ReviewRequestError>>
fn create_review_request( &self, remote: ForgeRemote, input: CreateReviewRequestInput, ) -> ForgeFuture<Result<ReviewRequestSummary, ReviewRequestError>>
Creates a new review request from input.
§Errors
Returns a provider-specific review-request error when creation fails.
Sourcefn refresh_review_request(
&self,
remote: ForgeRemote,
display_id: String,
) -> ForgeFuture<Result<ReviewRequestSummary, ReviewRequestError>>
fn refresh_review_request( &self, remote: ForgeRemote, display_id: String, ) -> ForgeFuture<Result<ReviewRequestSummary, ReviewRequestError>>
Refreshes one existing review request by provider display id.
§Errors
Returns a provider-specific review-request error when refresh fails.
Sourcefn sync_review_request_metadata(
&self,
remote: ForgeRemote,
display_id: String,
input: UpdateReviewRequestInput,
) -> ForgeFuture<Result<ReviewRequestSummary, ReviewRequestError>>
fn sync_review_request_metadata( &self, remote: ForgeRemote, display_id: String, input: UpdateReviewRequestInput, ) -> ForgeFuture<Result<ReviewRequestSummary, ReviewRequestError>>
Syncs an existing review request title/body to input after checking
the current remote metadata.
§Errors
Returns a provider-specific review-request error when metadata lookup, update, or refresh fails.
Sourcefn review_request_web_url(
&self,
review_request: &ReviewRequestSummary,
) -> Result<String, ReviewRequestError>
fn review_request_web_url( &self, review_request: &ReviewRequestSummary, ) -> Result<String, ReviewRequestError>
Returns the browser-openable URL for one review request.
§Errors
Returns ReviewRequestError::OperationFailed when the summary does
not carry a web URL.
Sourcefn fetch_review_comment_snapshot(
&self,
remote: ForgeRemote,
display_id: String,
) -> ForgeFuture<Result<ReviewCommentSnapshot, ReviewRequestError>>
fn fetch_review_comment_snapshot( &self, remote: ForgeRemote, display_id: String, ) -> ForgeFuture<Result<ReviewCommentSnapshot, ReviewRequestError>>
Fetches the review-comment snapshot for one open review request.
Returns both inline threads and review-request-wide comments. Threads
are grouped by path and sorted by (path, line) by callers; adapters
return what the forge reports without enforcing an ordering.
§Errors
Returns a provider-specific review-request error when the snapshot fetch cannot be completed (including authentication and host failures).
Sourcefn list_requested_reviews(
&self,
remote: ForgeRemote,
) -> ForgeFuture<Result<Vec<RequestedReview>, ReviewRequestError>>
fn list_requested_reviews( &self, remote: ForgeRemote, ) -> ForgeFuture<Result<Vec<RequestedReview>, ReviewRequestError>>
Lists open review requests asking the current authenticated user to review the selected repository.
§Errors
Returns a provider-specific review-request error when the list fetch cannot be completed.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".