first open api

This commit is contained in:
stubbfelnewpc
2020-06-25 00:15:44 +02:00
parent 5fe65239c5
commit d7084e0f7f
6 changed files with 1092 additions and 7 deletions

69
server/cli/src/main.rs Normal file
View File

@@ -0,0 +1,69 @@
#![feature(proc_macro_hygiene, decl_macro)]
#[macro_use] extern crate rocket;
#[macro_use] extern crate serde_derive;
use rocket::response::status;
use rocket_contrib::json::Json;
// podman create --name test -p 3000:3000 -v $PWD:/nixide -w /nixide docker.io/nixos/nix nix-shell --pure start-ide.nix --run run_ide.sh
#[derive(Serialize)]
pub struct OpenGitParam
{
inquirer: String,
clone_url: String,
ref_name: String
}
#[get("/open/<inquirer>/git?<clone_url>&<ref_name>")]
fn v1_open_inquirer_git(inquirer: String, clone_url: String, ref_name: String) -> status::Accepted<Json<OpenGitParam>> {
let param = OpenGitParam {
inquirer,
clone_url,
ref_name
};
status::Accepted(Some(Json(param)))
}
#[get("/open/<inquirer>/gitea?<clone_url>&<ref_name>")]
fn v1_open_inquirer_gitea(inquirer: String, clone_url: String, ref_name: String) -> status::Accepted<Json<OpenGitParam>> {
let param = OpenGitParam {
inquirer,
clone_url,
ref_name
};
status::Accepted(Some(Json(param)))
}
#[get("/open/<inquirer>/gitlab?<clone_url>&<ref_name>")]
fn v1_open_inquirer_gitlab(inquirer: String, clone_url: String, ref_name: String) -> status::Accepted<Json<OpenGitParam>> {
let param = OpenGitParam {
inquirer,
clone_url,
ref_name
};
status::Accepted(Some(Json(param)))
}
#[get("/open/<inquirer>/github?<clone_url>&<ref_name>")]
fn v1_open_inquirer_github(inquirer: String, clone_url: String, ref_name: String) -> status::Accepted<Json<OpenGitParam>> {
let param = OpenGitParam {
inquirer,
clone_url,
ref_name
};
status::Accepted(Some(Json(param)))
}
#[get("/open/gitlab?<clone_url>&<ref_name>")]
fn v1_open_gitlab(clone_url: String, ref_name: String) -> status::Accepted<Json<OpenGitParam>> {
let param = OpenGitParam {
inquirer : "foo".to_owned(),
clone_url,
ref_name
};
status::Accepted(Some(Json(param)))
}
fn main() {
rocket::ignite().mount("/api/v1/", routes![v1_open_inquirer_git, v1_open_inquirer_gitea, v1_open_gitlab, v1_open_inquirer_github, v1_open_inquirer_gitlab]).launch();
}