relay_knowledge/storage/contracts/code/
repository_set.rs1use crate::domain::{
2 CodeRepositoryCrossEdge, CodeRepositorySet, CodeRepositorySetMember,
3 CodeRepositorySetRefreshSummary, CodeRepositorySetRefreshTaskRecord, CodeRepositorySetStatus,
4};
5
6use super::super::{StorageError, StorageFuture};
7use super::{
8 CodeRepositorySetEdgeSelector, CodeRepositorySetMemberSeed,
9 CodeRepositorySetRefreshPublication, CodeRepositorySetRefreshTaskClaimRequest,
10 CodeRepositorySetRefreshTaskCompletion, CodeRepositorySetRefreshTaskFailure,
11 CodeRepositorySetRefreshTaskSeed, CodeRepositorySetSeed,
12};
13
14pub trait CodeRepositorySetStore: Send + Sync {
16 fn create_code_repository_set(
17 &self,
18 _seed: CodeRepositorySetSeed,
19 ) -> StorageFuture<'_, CodeRepositorySet> {
20 Box::pin(async {
21 Err(StorageError::InvalidInput(
22 "repository set storage is unavailable".to_owned(),
23 ))
24 })
25 }
26
27 fn add_code_repository_set_member(
28 &self,
29 _seed: CodeRepositorySetMemberSeed,
30 ) -> StorageFuture<'_, CodeRepositorySetMember> {
31 Box::pin(async {
32 Err(StorageError::InvalidInput(
33 "repository set member storage is unavailable".to_owned(),
34 ))
35 })
36 }
37
38 fn remove_code_repository_set_member(
39 &self,
40 _set_alias: String,
41 _repository_alias: String,
42 ) -> StorageFuture<'_, CodeRepositorySetMember> {
43 Box::pin(async {
44 Err(StorageError::InvalidInput(
45 "repository set member storage is unavailable".to_owned(),
46 ))
47 })
48 }
49
50 fn code_repository_set(
51 &self,
52 set_alias: String,
53 ) -> StorageFuture<'_, Option<CodeRepositorySet>> {
54 Box::pin(async move {
55 Err(StorageError::InvalidInput(format!(
56 "repository set lookup for '{set_alias}' is unavailable"
57 )))
58 })
59 }
60
61 fn code_repository_set_status(
62 &self,
63 set_alias: String,
64 ) -> StorageFuture<'_, Option<CodeRepositorySetStatus>> {
65 Box::pin(async move {
66 Err(StorageError::InvalidInput(format!(
67 "repository set status for '{set_alias}' is unavailable"
68 )))
69 })
70 }
71
72 fn refresh_code_repository_set_overlay(
73 &self,
74 _set_alias: String,
75 _publication: CodeRepositorySetRefreshPublication,
76 ) -> StorageFuture<'_, CodeRepositorySetRefreshSummary> {
77 Box::pin(async {
78 Err(StorageError::InvalidInput(
79 "repository set overlay refresh is unavailable".to_owned(),
80 ))
81 })
82 }
83
84 fn code_repository_set_cross_edges(
85 &self,
86 set_id: String,
87 ) -> StorageFuture<'_, Vec<CodeRepositoryCrossEdge>> {
88 Box::pin(async move {
89 Err(StorageError::InvalidInput(format!(
90 "repository set cross edges for '{set_id}' are unavailable"
91 )))
92 })
93 }
94
95 fn code_repository_set_cross_edges_for_selector(
96 &self,
97 set_id: String,
98 _selector: CodeRepositorySetEdgeSelector,
99 ) -> StorageFuture<'_, Vec<CodeRepositoryCrossEdge>> {
100 self.code_repository_set_cross_edges(set_id)
101 }
102
103 fn queue_code_repository_set_refresh_task(
104 &self,
105 _task: CodeRepositorySetRefreshTaskSeed,
106 ) -> StorageFuture<'_, CodeRepositorySetRefreshTaskRecord> {
107 Box::pin(async {
108 Err(StorageError::InvalidInput(
109 "repository set refresh task storage is unavailable".to_owned(),
110 ))
111 })
112 }
113
114 fn claim_code_repository_set_refresh_task(
115 &self,
116 _request: CodeRepositorySetRefreshTaskClaimRequest,
117 ) -> StorageFuture<'_, Option<CodeRepositorySetRefreshTaskRecord>> {
118 Box::pin(async {
119 Err(StorageError::InvalidInput(
120 "repository set refresh task claim is unavailable".to_owned(),
121 ))
122 })
123 }
124
125 fn complete_code_repository_set_refresh_task(
126 &self,
127 _request: CodeRepositorySetRefreshTaskCompletion,
128 ) -> StorageFuture<'_, CodeRepositorySetRefreshTaskRecord> {
129 Box::pin(async {
130 Err(StorageError::InvalidInput(
131 "repository set refresh task storage is unavailable".to_owned(),
132 ))
133 })
134 }
135
136 fn fail_code_repository_set_refresh_task(
137 &self,
138 _request: CodeRepositorySetRefreshTaskFailure,
139 ) -> StorageFuture<'_, CodeRepositorySetRefreshTaskRecord> {
140 Box::pin(async {
141 Err(StorageError::InvalidInput(
142 "repository set refresh task storage is unavailable".to_owned(),
143 ))
144 })
145 }
146}