Skip to main content

args_api/endpoint/migration/github/
create_github_installation.rs

1use serde::{Deserialize, Serialize};
2
3use crate::{endpoint::Endpoint, resource::migration::GitHubInstallationResource};
4
5pub struct CreateGitHubInstallation;
6
7impl Endpoint for CreateGitHubInstallation {
8    const PATH: &'static str = "/migration/github/{installation_id}";
9    const METHOD: http::Method = http::Method::POST;
10
11    type Request = CreateGitHubInstallationRequest;
12    type Response = CreateGitHubInstallationResponse;
13}
14
15#[derive(ApiRequest, Debug, Serialize, Deserialize)]
16pub struct CreateGitHubInstallationRequest {
17    pub state: String,
18    pub code: String,
19}
20
21#[derive(ApiResource, Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
22pub struct CreateGitHubInstallationResponse {
23    pub installation: GitHubInstallationResource,
24    pub action: String,
25}