Skip to main content

VersioningService

Trait VersioningService 

Source
pub trait VersioningService<I: Iterator<Item = Result<Bytes, Error>>> {
Show 18 methods // Required methods fn create_branch( &self, auth_: &BearerToken, resource_rid: &ResourceIdentifier, request: &CreateBranchRequest, ) -> Result<Branch, Error>; fn create_tag( &self, auth_: &BearerToken, resource_rid: &ResourceIdentifier, request: &CreateTagRequest, ) -> Result<Tag, Error>; fn get_commit( &self, auth_: &BearerToken, resource_rid: &ResourceIdentifier, commit_id: &CommitId, ) -> Result<Commit, Error>; fn batch_get_commits( &self, auth_: &BearerToken, resource_and_commit_ids: &BTreeSet<ResourceAndCommitId>, ) -> Result<BTreeSet<Commit>, Error>; fn get_commit_by_branch( &self, auth_: &BearerToken, resource_rid: &ResourceIdentifier, branch_name: &BranchName, ) -> Result<Commit, Error>; fn get_commit_by_tag( &self, auth_: &BearerToken, resource_rid: &ResourceIdentifier, tag_name: &TagName, ) -> Result<Commit, Error>; fn get_least_common_ancestor( &self, auth_: &BearerToken, resource_rid: &ResourceIdentifier, request: &GetLeastCommonAncestorRequest, ) -> Result<CommitId, Error>; fn get_commit_history( &self, auth_: &BearerToken, resource_rid: &ResourceIdentifier, commit_id: &CommitId, page_size: Option<i32>, next_page_token: Option<&str>, ) -> Result<CommitHistory, Error>; fn persist_commits( &self, auth_: &BearerToken, request: &BTreeSet<ResourceAndCommitId>, ) -> Result<(), Error>; fn get_branch( &self, auth_: &BearerToken, resource_rid: &ResourceIdentifier, branch_name: &BranchName, ) -> Result<Branch, Error>; fn get_branches( &self, auth_: &BearerToken, resource_rid: &ResourceIdentifier, ) -> Result<Vec<Branch>, Error>; fn batch_get_branches( &self, auth_: &BearerToken, resource_and_branches: &BTreeSet<ResourceAndBranchName>, ) -> Result<BTreeSet<Branch>, Error>; fn get_tag( &self, auth_: &BearerToken, resource_rid: &ResourceIdentifier, tag_name: &TagName, ) -> Result<Tag, Error>; fn batch_get_tags( &self, auth_: &BearerToken, resource_and_commits: &BTreeSet<ResourceAndCommitId>, ) -> Result<BTreeSet<Tag>, Error>; fn get_tags_by_resource( &self, auth_: &BearerToken, resource_rid: &ResourceIdentifier, ) -> Result<Vec<Tag>, Error>; fn delete_branch( &self, auth_: &BearerToken, resource_rid: &ResourceIdentifier, branch_name: &BranchName, ) -> Result<(), Error>; fn delete_branches( &self, auth_: &BearerToken, resource_and_branches: &BTreeSet<ResourceAndBranchName>, ) -> Result<(), Error>; fn delete_tag( &self, auth_: &BearerToken, resource_rid: &ResourceIdentifier, tag_name: &TagName, ) -> 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, ) -> 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, ) -> 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, ) -> Result<Commit, Error>

Throws if the commit doesn’t exist.

Source

fn batch_get_commits( &self, auth_: &BearerToken, resource_and_commit_ids: &BTreeSet<ResourceAndCommitId>, ) -> 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, ) -> 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, ) -> 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, ) -> 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<&str>, ) -> 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>, ) -> 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, ) -> Result<Branch, Error>

Throws if the branch doesn’t exist.

Source

fn get_branches( &self, auth_: &BearerToken, resource_rid: &ResourceIdentifier, ) -> 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>, ) -> Result<BTreeSet<Branch>, Error>

Omits branches that are not authorized.

Source

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

Throws if the tag doesn’t exist.

Source

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

Omits tags that are not authorized.

Source

fn get_tags_by_resource( &self, auth_: &BearerToken, resource_rid: &ResourceIdentifier, ) -> 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, ) -> 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>, ) -> 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, ) -> Result<(), Error>

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

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§

Source§

impl<I: Iterator<Item = Result<Bytes, Error>>, __C> VersioningService<I> for VersioningServiceClient<__C>
where __C: Client<ResponseBody = I>,