Skip to main content

ReviewRequestClient

Trait ReviewRequestClient 

Source
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 review_request_web_url(
        &self,
        review_request: &ReviewRequestSummary,
    ) -> Result<String, 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 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 GitHub or GitLab.

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

Implementors§