Skip to main content

reddb_server/application/
ports_impls_vcs.rs

1use super::*;
2
3use crate::application::vcs::{
4    AsOfSpec, CheckoutInput, Commit, CommitHash, Conflict, CreateBranchInput, CreateCommitInput,
5    CreateTagInput, Diff, DiffInput, LogInput, MergeInput, MergeOutcome, Ref, ResetInput, Status,
6    StatusInput,
7};
8use crate::json::Value as JsonValue;
9use crate::storage::transaction::snapshot::Xid;
10
11impl RuntimeVcsPort for RedDBRuntime {
12    fn vcs_commit(&self, input: CreateCommitInput) -> RedDBResult<Commit> {
13        RedDBRuntime::vcs_commit(self, input)
14    }
15
16    fn vcs_branch_create(&self, input: CreateBranchInput) -> RedDBResult<Ref> {
17        RedDBRuntime::vcs_branch_create(self, input)
18    }
19
20    fn vcs_branch_delete(&self, name: &str) -> RedDBResult<()> {
21        RedDBRuntime::vcs_branch_delete(self, name)
22    }
23
24    fn vcs_tag_create(&self, input: CreateTagInput) -> RedDBResult<Ref> {
25        RedDBRuntime::vcs_tag_create(self, input)
26    }
27
28    fn vcs_list_refs(&self, prefix: Option<&str>) -> RedDBResult<Vec<Ref>> {
29        RedDBRuntime::vcs_list_refs(self, prefix)
30    }
31
32    fn vcs_checkout(&self, input: CheckoutInput) -> RedDBResult<Ref> {
33        RedDBRuntime::vcs_checkout(self, input)
34    }
35
36    fn vcs_merge(&self, input: MergeInput) -> RedDBResult<MergeOutcome> {
37        RedDBRuntime::vcs_merge(self, input)
38    }
39
40    fn vcs_cherry_pick(
41        &self,
42        connection_id: u64,
43        commit: &str,
44        author: crate::application::vcs::Author,
45    ) -> RedDBResult<MergeOutcome> {
46        RedDBRuntime::vcs_cherry_pick(self, connection_id, commit, author)
47    }
48
49    fn vcs_revert(
50        &self,
51        connection_id: u64,
52        commit: &str,
53        author: crate::application::vcs::Author,
54    ) -> RedDBResult<Commit> {
55        RedDBRuntime::vcs_revert(self, connection_id, commit, author)
56    }
57
58    fn vcs_reset(&self, input: ResetInput) -> RedDBResult<()> {
59        RedDBRuntime::vcs_reset(self, input)
60    }
61
62    fn vcs_log(&self, input: LogInput) -> RedDBResult<Vec<Commit>> {
63        RedDBRuntime::vcs_log(self, input)
64    }
65
66    fn vcs_diff(&self, input: DiffInput) -> RedDBResult<Diff> {
67        RedDBRuntime::vcs_diff(self, input)
68    }
69
70    fn vcs_status(&self, input: StatusInput) -> RedDBResult<Status> {
71        RedDBRuntime::vcs_status(self, input)
72    }
73
74    fn vcs_lca(&self, a: &str, b: &str) -> RedDBResult<Option<CommitHash>> {
75        RedDBRuntime::vcs_lca(self, a, b)
76    }
77
78    fn vcs_conflicts_list(&self, merge_state_id: &str) -> RedDBResult<Vec<Conflict>> {
79        RedDBRuntime::vcs_conflicts_list(self, merge_state_id)
80    }
81
82    fn vcs_conflict_resolve(&self, conflict_id: &str, resolved: JsonValue) -> RedDBResult<()> {
83        RedDBRuntime::vcs_conflict_resolve(self, conflict_id, resolved)
84    }
85
86    fn vcs_resolve_as_of(&self, spec: AsOfSpec) -> RedDBResult<Xid> {
87        RedDBRuntime::vcs_resolve_as_of(self, spec)
88    }
89
90    fn vcs_resolve_commitish(&self, spec: &str) -> RedDBResult<CommitHash> {
91        RedDBRuntime::vcs_resolve_commitish(self, spec)
92    }
93
94    fn vcs_set_versioned(&self, collection: &str, enabled: bool) -> RedDBResult<()> {
95        RedDBRuntime::vcs_set_versioned(self, collection, enabled)
96    }
97
98    fn vcs_list_versioned(&self) -> RedDBResult<Vec<String>> {
99        RedDBRuntime::vcs_list_versioned(self)
100    }
101
102    fn vcs_is_versioned(&self, collection: &str) -> RedDBResult<bool> {
103        RedDBRuntime::vcs_is_versioned(self, collection)
104    }
105}