first open api
This commit is contained in:
@@ -30,7 +30,6 @@ let
|
||||
pkgs.rustc
|
||||
pkgs.rls
|
||||
pkgs.cargo
|
||||
pkgs.rustracer
|
||||
pkgs.clippy
|
||||
pkgs.rustfmt
|
||||
pkgs.rustup
|
||||
@@ -174,7 +173,7 @@ let
|
||||
'';
|
||||
in
|
||||
pkgs.mkShell {
|
||||
name = "dev-shell";
|
||||
name = "nixide-shell";
|
||||
buildInputs = theiaideBuildDependencies ++ projectDependencies ++ [run_ide_script clean_run_ide_script create_service_file] ;
|
||||
shellHook =
|
||||
''
|
||||
|
||||
1000
Cargo.lock
generated
1000
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -1,2 +1,2 @@
|
||||
[workspace]
|
||||
members = ["control/cli"]
|
||||
members = ["control/cli", "server/cli"]
|
||||
14
server/cli/Cargo.toml
Normal file
14
server/cli/Cargo.toml
Normal file
@@ -0,0 +1,14 @@
|
||||
[package]
|
||||
name = "nixideserver_cli"
|
||||
version = "0.1.0"
|
||||
authors = ["stubbfelnewpc <stubbfelnewpc@stubbe.rocks>"]
|
||||
edition = "2018"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
rocket = "0.4.5"
|
||||
rocket_contrib = "0.4.5"
|
||||
serde = "1.0"
|
||||
serde_json = "1.0"
|
||||
serde_derive = "1.0"
|
||||
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();
|
||||
}
|
||||
11
server/podman/env/podman-shell.nix
vendored
Normal file
11
server/podman/env/podman-shell.nix
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
pkgs ? import <nixpkgs> {}
|
||||
}:
|
||||
|
||||
pkgs.mkShell {
|
||||
name = "podman-shell";
|
||||
buildInputs = [
|
||||
pkgs.podmon
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user