Skip to main content

LocalAsyncVersioningService

Trait LocalAsyncVersioningService 

Source
pub trait LocalAsyncVersioningService {
Show 18 methods // Required methods fn create_branch( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, request: CreateBranchRequest, ) -> impl Future<Output = Result<Branch, Error>>; fn create_tag( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, request: CreateTagRequest, ) -> impl Future<Output = Result<Tag, Error>>; fn get_commit( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, commit_id: CommitId, ) -> impl Future<Output = Result<Commit, Error>>; fn batch_get_commits( &self, auth_: BearerToken, resource_and_commit_ids: BTreeSet<ResourceAndCommitId>, ) -> impl Future<Output = Result<BTreeSet<Commit>, Error>>; fn get_commit_by_branch( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, branch_name: BranchName, ) -> impl Future<Output = Result<Commit, Error>>; fn get_commit_by_tag( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, tag_name: TagName, ) -> impl Future<Output = Result<Commit, Error>>; fn get_least_common_ancestor( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, request: GetLeastCommonAncestorRequest, ) -> impl Future<Output = Result<CommitId, Error>>; fn get_commit_history( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, commit_id: CommitId, page_size: Option<i32>, next_page_token: Option<String>, ) -> impl Future<Output = Result<CommitHistory, Error>>; fn persist_commits( &self, auth_: BearerToken, request: BTreeSet<ResourceAndCommitId>, ) -> impl Future<Output = Result<(), Error>>; fn get_branch( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, branch_name: BranchName, ) -> impl Future<Output = Result<Branch, Error>>; fn get_branches( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, ) -> impl Future<Output = Result<Vec<Branch>, Error>>; fn batch_get_branches( &self, auth_: BearerToken, resource_and_branches: BTreeSet<ResourceAndBranchName>, ) -> impl Future<Output = Result<BTreeSet<Branch>, Error>>; fn get_tag( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, tag_name: TagName, ) -> impl Future<Output = Result<Tag, Error>>; fn batch_get_tags( &self, auth_: BearerToken, resource_and_commits: BTreeSet<ResourceAndCommitId>, ) -> impl Future<Output = Result<BTreeSet<Tag>, Error>>; fn get_tags_by_resource( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, ) -> impl Future<Output = Result<Vec<Tag>, Error>>; fn delete_branch( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, branch_name: BranchName, ) -> impl Future<Output = Result<(), Error>>; fn delete_branches( &self, auth_: BearerToken, resource_and_branches: BTreeSet<ResourceAndBranchName>, ) -> impl Future<Output = Result<(), Error>>; fn delete_tag( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, tag_name: TagName, ) -> impl Future<Output = Result<(), Error>>;
}
Expand description

This is the external-facing portion of VersioningService which gives clients access to functionality that doesn’t create new commits. The creation of new commits should be done via the resource-specific services.

Required Methods§

Source

fn create_branch( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, request: CreateBranchRequest, ) -> impl Future<Output = Result<Branch, Error>>

Creates a mutable pointer to the provided commit. “Saves”/“commits” can be performed on this pointer. Throws if the name is already used as a commit pointer for this resource. Throws if the provided commit doesn’t exist.

Source

fn create_tag( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, request: CreateTagRequest, ) -> impl Future<Output = Result<Tag, Error>>

Creates an immutable pointer to the provided commit. Throws if the name is already used as a commit pointer for this resource. Throws if the provided commit doesn’t exist.

Source

fn get_commit( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, commit_id: CommitId, ) -> impl Future<Output = Result<Commit, Error>>

Throws if the commit doesn’t exist.

Source

fn batch_get_commits( &self, auth_: BearerToken, resource_and_commit_ids: BTreeSet<ResourceAndCommitId>, ) -> impl Future<Output = Result<BTreeSet<Commit>, Error>>

Filters out resources that are not authorized.

Source

fn get_commit_by_branch( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, branch_name: BranchName, ) -> impl Future<Output = Result<Commit, Error>>

Returns the commit pointed to by the branch. Throws if the branch doesn’t exist.

Source

fn get_commit_by_tag( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, tag_name: TagName, ) -> impl Future<Output = Result<Commit, Error>>

Returns the commit pointed to by the tag. Throws if the tag doesn’t exist.

Source

fn get_least_common_ancestor( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, request: GetLeastCommonAncestorRequest, ) -> impl Future<Output = Result<CommitId, Error>>

Returns the least common ancestor of the two commits. Throws if either commit doesn’t exist.

Source

fn get_commit_history( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, commit_id: CommitId, page_size: Option<i32>, next_page_token: Option<String>, ) -> impl Future<Output = Result<CommitHistory, Error>>

Returns the commit history sorted by creation time descending. Excludes working state commits. Throws if the commit doesn’t exist.

Source

fn persist_commits( &self, auth_: BearerToken, request: BTreeSet<ResourceAndCommitId>, ) -> impl Future<Output = Result<(), Error>>

Persists the commits so that they are not compacted. This operation is atomic - either all commits are persisted or none are (in the case of an error).

Source

fn get_branch( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, branch_name: BranchName, ) -> impl Future<Output = Result<Branch, Error>>

Throws if the branch doesn’t exist.

Source

fn get_branches( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, ) -> impl Future<Output = Result<Vec<Branch>, Error>>

Returns all branches for the resource in order of most recently updated.

Source

fn batch_get_branches( &self, auth_: BearerToken, resource_and_branches: BTreeSet<ResourceAndBranchName>, ) -> impl Future<Output = Result<BTreeSet<Branch>, Error>>

Omits branches that are not authorized.

Source

fn get_tag( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, tag_name: TagName, ) -> impl Future<Output = Result<Tag, Error>>

Throws if the tag doesn’t exist.

Source

fn batch_get_tags( &self, auth_: BearerToken, resource_and_commits: BTreeSet<ResourceAndCommitId>, ) -> impl Future<Output = Result<BTreeSet<Tag>, Error>>

Omits tags that are not authorized.

Source

fn get_tags_by_resource( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, ) -> impl Future<Output = Result<Vec<Tag>, Error>>

Returns all tags for the resource in order of most recently created.

Source

fn delete_branch( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, branch_name: BranchName, ) -> impl Future<Output = Result<(), Error>>

Deletes the branch pointer. Throws if the branch doesn’t exist. Throws if you attempt to delete the “main” branch.

Source

fn delete_branches( &self, auth_: BearerToken, resource_and_branches: BTreeSet<ResourceAndBranchName>, ) -> impl Future<Output = Result<(), Error>>

Deletes the branch pointers. Throws if any resource or branch is non-existent or unauthorized. Throws if any attempt is made to delete “main”.

Source

fn delete_tag( &self, auth_: BearerToken, resource_rid: ResourceIdentifier, tag_name: TagName, ) -> impl Future<Output = Result<(), Error>>

Deletes the tag pointer. Throws if the tag doesn’t exist.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§