first open api
This commit is contained in:
@@ -30,7 +30,6 @@ let
|
|||||||
pkgs.rustc
|
pkgs.rustc
|
||||||
pkgs.rls
|
pkgs.rls
|
||||||
pkgs.cargo
|
pkgs.cargo
|
||||||
pkgs.rustracer
|
|
||||||
pkgs.clippy
|
pkgs.clippy
|
||||||
pkgs.rustfmt
|
pkgs.rustfmt
|
||||||
pkgs.rustup
|
pkgs.rustup
|
||||||
@@ -174,7 +173,7 @@ let
|
|||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
pkgs.mkShell {
|
pkgs.mkShell {
|
||||||
name = "dev-shell";
|
name = "nixide-shell";
|
||||||
buildInputs = theiaideBuildDependencies ++ projectDependencies ++ [run_ide_script clean_run_ide_script create_service_file] ;
|
buildInputs = theiaideBuildDependencies ++ projectDependencies ++ [run_ide_script clean_run_ide_script create_service_file] ;
|
||||||
shellHook =
|
shellHook =
|
||||||
''
|
''
|
||||||
|
|||||||
1000
Cargo.lock
generated
1000
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -1,2 +1,2 @@
|
|||||||
[workspace]
|
[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