Skip to main content

relay_knowledge/api/operations/
repository_set.rs

1use serde::{Deserialize, Serialize};
2
3use crate::{
4    api::ApiMetadata,
5    domain::{
6        CodeRepositorySet, CodeRepositorySetAddMemberRequest, CodeRepositorySetCreateRequest,
7        CodeRepositorySetMember, CodeRepositorySetQueryHit, CodeRepositorySetQueryRequest,
8        CodeRepositorySetRefreshSummary, CodeRepositorySetRefreshTaskRecord,
9        CodeRepositorySetRemoveMemberRequest, CodeRepositorySetStatus,
10    },
11};
12
13/// Repository-set creation response.
14#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
15pub struct CodeRepositorySetCreateResponse {
16    pub metadata: ApiMetadata,
17    pub request: CodeRepositorySetCreateRequest,
18    pub repository_set: CodeRepositorySet,
19}
20
21/// Repository-set member addition response.
22#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
23pub struct CodeRepositorySetAddResponse {
24    pub metadata: ApiMetadata,
25    pub request: CodeRepositorySetAddMemberRequest,
26    pub member: CodeRepositorySetMember,
27    pub status: CodeRepositorySetStatus,
28}
29
30/// Repository-set member removal response.
31#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
32pub struct CodeRepositorySetRemoveResponse {
33    pub metadata: ApiMetadata,
34    pub request: CodeRepositorySetRemoveMemberRequest,
35    pub member: CodeRepositorySetMember,
36    pub status: CodeRepositorySetStatus,
37}
38
39/// Repository-set query response.
40#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
41pub struct CodeRepositorySetQueryResponse {
42    pub metadata: ApiMetadata,
43    pub request: CodeRepositorySetQueryRequest,
44    pub status: CodeRepositorySetStatus,
45    pub results: Vec<CodeRepositorySetQueryHit>,
46    pub truncated: bool,
47    #[serde(skip_serializing_if = "Option::is_none")]
48    pub degraded_reason: Option<String>,
49}
50
51/// Repository-set status response.
52#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
53pub struct CodeRepositorySetStatusResponse {
54    pub metadata: ApiMetadata,
55    pub status: CodeRepositorySetStatus,
56}
57
58/// Repository-set overlay refresh response.
59#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
60pub struct CodeRepositorySetRefreshResponse {
61    pub metadata: ApiMetadata,
62    pub status: CodeRepositorySetStatus,
63    #[serde(skip_serializing_if = "Option::is_none")]
64    pub summary: Option<CodeRepositorySetRefreshSummary>,
65    #[serde(skip_serializing_if = "Option::is_none")]
66    pub task: Option<CodeRepositorySetRefreshTaskRecord>,
67}