summaryrefslogtreecommitdiff
path: root/makima/src/daemon/api/contract.rs
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-01-21 17:32:49 +0000
committersoryu <soryu@soryu.co>2026-01-21 17:32:59 +0000
commit9e286c146e29e714b3b209b4d948d75cce179b05 (patch)
treee833c5314cfc089f9cd2c34dff8376cb083cbaad /makima/src/daemon/api/contract.rs
parent94e5604e770d6589f786ea71e51738e21492f301 (diff)
downloadsoryu-9e286c146e29e714b3b209b4d948d75cce179b05.tar.gz
soryu-9e286c146e29e714b3b209b4d948d75cce179b05.zip
Enforce phaseguard
Diffstat (limited to 'makima/src/daemon/api/contract.rs')
-rw-r--r--makima/src/daemon/api/contract.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/makima/src/daemon/api/contract.rs b/makima/src/daemon/api/contract.rs
index 50fd64f..12ebe95 100644
--- a/makima/src/daemon/api/contract.rs
+++ b/makima/src/daemon/api/contract.rs
@@ -247,4 +247,29 @@ impl ApiClient {
self.get(&format!("/api/v1/settings/repository-history/suggestions{}", query_string))
.await
}
+
+ /// Add a remote repository to a contract.
+ pub async fn add_remote_repository(
+ &self,
+ contract_id: Uuid,
+ name: &str,
+ repository_url: &str,
+ is_primary: bool,
+ ) -> Result<JsonValue, ApiError> {
+ let req = AddRemoteRepositoryRequest {
+ name: name.to_string(),
+ repository_url: repository_url.to_string(),
+ is_primary,
+ };
+ self.post(&format!("/api/v1/contracts/{}/repositories/remote", contract_id), &req)
+ .await
+ }
+}
+
+#[derive(Serialize)]
+#[serde(rename_all = "camelCase")]
+struct AddRemoteRepositoryRequest {
+ name: String,
+ repository_url: String,
+ is_primary: bool,
}