args-api 0.1.0

Shared API contract types and endpoint definitions for args.
Documentation
pub mod auth;
pub mod bug;
pub mod build;
pub mod metrics;
pub mod migration;
pub mod organization;
pub mod question;
pub mod repository;
pub mod review;
pub mod runner;
pub mod task;
pub mod user;
pub mod webhook;

use serde::{Serialize, de::DeserializeOwned};

use crate::ApiResource;

pub use bug::*;
pub use build::*;
pub use migration::*;
pub use organization::*;
pub use question::*;
pub use repository::*;
pub use review::*;
pub use runner::*;
pub use task::*;
pub use user::*;
pub use webhook::*;

pub trait Endpoint {
    const PATH: &'static str;
    const METHOD: http::Method;

    type Request: ApiRequest;
    type Response: ApiResource;
}

pub trait ApiRequest: Serialize + DeserializeOwned + Send {}

impl ApiRequest for () {}