Skip to main content

ReviewRequestClient

Trait ReviewRequestClient 

Source
pub trait ReviewRequestClient: Send + Sync {
Show 13 methods // Required methods fn list_assigned_issues( &self, remote: ForgeRemote, ) -> ForgeFuture<Result<Vec<AssignedIssue>, ReviewRequestError>>; fn fetch_issue_detail( &self, remote: ForgeRemote, display_id: String, ) -> ForgeFuture<Result<IssueDetail, ReviewRequestError>>; 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 review_request_metadata( &self, remote: ForgeRemote, display_id: String, ) -> ForgeFuture<Result<ReviewRequestMetadata, 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 reply_to_thread( &self, remote: ForgeRemote, display_id: String, thread_id: String, body: String, ) -> ForgeFuture<Result<(), ReviewRequestError>>; fn resolve_thread( &self, remote: ForgeRemote, display_id: String, thread_id: String, ) -> ForgeFuture<Result<(), 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§

Source

fn list_assigned_issues( &self, remote: ForgeRemote, ) -> ForgeFuture<Result<Vec<AssignedIssue>, ReviewRequestError>>

Lists open GitHub issues assigned to the authenticated user in remote.

§Errors

Returns a GitHub CLI error when the issue search cannot be completed.

Source

fn fetch_issue_detail( &self, remote: ForgeRemote, display_id: String, ) -> ForgeFuture<Result<IssueDetail, ReviewRequestError>>

Fetches base details for one GitHub issue without comments.

§Errors

Returns a GitHub CLI error when the issue lookup cannot be completed.

Source

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.

Source

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.

Source

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.

Source

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.

Source

fn review_request_metadata( &self, remote: ForgeRemote, display_id: String, ) -> ForgeFuture<Result<ReviewRequestMetadata, ReviewRequestError>>

Loads the current title and body of one existing review request.

§Errors

Returns a provider-specific review-request error when metadata lookup fails.

Source

fn sync_review_request_metadata( &self, remote: ForgeRemote, display_id: String, input: UpdateReviewRequestInput, ) -> ForgeFuture<Result<ReviewRequestSummary, ReviewRequestError>>

Best-effort syncs reconciled metadata after rechecking that the remote fields match the values used during evaluation.

The provider CLI update is not atomic with the recheck, so a later concurrent manual edit can still be overwritten.

§Errors

Returns a provider-specific review-request error when metadata lookup, update, or refresh fails.

Source

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.

Source

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).

Source

fn reply_to_thread( &self, remote: ForgeRemote, display_id: String, thread_id: String, body: String, ) -> ForgeFuture<Result<(), ReviewRequestError>>

Adds one reply to an existing review thread.

§Errors

Returns a provider-specific review-request error when the reply cannot be posted.

Source

fn resolve_thread( &self, remote: ForgeRemote, display_id: String, thread_id: String, ) -> ForgeFuture<Result<(), ReviewRequestError>>

Marks one existing review thread resolved.

§Errors

Returns a provider-specific review-request error when the thread cannot be resolved.

Source

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".

Implementors§