first open api
This commit is contained in:
69
server/cli/src/main.rs
Normal file
69
server/cli/src/main.rs
Normal 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();
|
||||
}
|
||||
Reference in New Issue
Block a user