Skip to main content

ephemeris_forge_forgejo/api/operations/
deploy_keys.rs

1use ephemeris_forge::RepoRef;
2
3use crate::api::error::ForgeError;
4use crate::api::model::DeployKey;
5use crate::api::request::CreateKeyOption;
6
7/// The deploy key operations of the Forgejo API.
8pub trait DeployKeysApi {
9    /// `POST /repos/{owner}/{repo}/keys`.
10    fn create_deploy_key(
11        &self,
12        repo: &RepoRef,
13        body: &CreateKeyOption,
14    ) -> impl Future<Output = Result<(), ForgeError>> + Send;
15
16    /// `DELETE /repos/{owner}/{repo}/keys/{id}`.
17    fn delete_deploy_key(
18        &self,
19        repo: &RepoRef,
20        id: i64,
21    ) -> impl Future<Output = Result<(), ForgeError>> + Send;
22
23    /// `GET /repos/{owner}/{repo}/keys`, every page.
24    fn deploy_keys(
25        &self,
26        repo: &RepoRef,
27    ) -> impl Future<Output = Result<Vec<DeployKey>, ForgeError>> + Send;
28}