* Simplifying backend api by... alot
This commit is contained in:
parent
87b373bde8
commit
5b3f6efebf
@ -7,7 +7,6 @@ edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
rocket = "0.4"
|
||||
dblib = { version = "0.1.0", path = "../dblib" }
|
||||
serde = { version = "1.0", features = [ "derive" ] }
|
||||
|
||||
[dependencies.rocket_contrib]
|
17
api/src/main.rs
Normal file
17
api/src/main.rs
Normal file
@ -0,0 +1,17 @@
|
||||
#![feature(decl_macro)]
|
||||
#[macro_use] extern crate rocket;
|
||||
use std::env;
|
||||
|
||||
mod video;
|
||||
|
||||
fn main() {
|
||||
// emoji's crash my terminal
|
||||
env::set_var("ROCKET_CLI_COLORS", "off");
|
||||
/*
|
||||
* Some of the target vars that we look for
|
||||
* CLIP_DIR
|
||||
*/
|
||||
let _ = rocket::ignite()
|
||||
.mount("/api", routes![video::list_categories])
|
||||
.launch();
|
||||
}
|
30
api/src/video.rs
Normal file
30
api/src/video.rs
Normal file
@ -0,0 +1,30 @@
|
||||
use rocket_contrib::json;
|
||||
use rocket_contrib::json::JsonValue;
|
||||
use std::env;
|
||||
use std::fs;
|
||||
|
||||
|
||||
#[get("/categories")]
|
||||
pub fn list_categories() -> JsonValue {
|
||||
let dir = match env::var("CLIPS_DIR") {
|
||||
Ok(val) => val,
|
||||
Err(e) => "/media/clips/".to_string()
|
||||
};
|
||||
println!("Directory to search: {}", dir);
|
||||
|
||||
// Fucking hell this is going to be dumb
|
||||
let mut cats: Vec<String> = Vec::new();
|
||||
for file in fs::read_dir(dir).unwrap() {
|
||||
match file {
|
||||
Ok(file) => {
|
||||
match file.file_name().into_string() {
|
||||
Ok(s) => cats.push(s),
|
||||
_ => {}
|
||||
}
|
||||
},
|
||||
Err(_) => continue
|
||||
}
|
||||
}
|
||||
|
||||
json!({"categories": cats})
|
||||
}
|
Before Width: | Height: | Size: 160 KiB After Width: | Height: | Size: 160 KiB |
11
api/store.json
Normal file
11
api/store.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"keys":[
|
||||
{
|
||||
"name": "shockrah",
|
||||
"key": "asdf"
|
||||
}
|
||||
],
|
||||
"videos": {
|
||||
"video": { "name": "cool" }
|
||||
}
|
||||
}
|
3
api/target/CACHEDIR.TAG
Normal file
3
api/target/CACHEDIR.TAG
Normal file
@ -0,0 +1,3 @@
|
||||
Signature: 8a477f597d28d172789f06886806bc55
|
||||
# This file is a cache directory tag created by cargo.
|
||||
# For information about cache directory tags see https://bford.info/cachedir/
|
@ -1,36 +0,0 @@
|
||||
use rocket_contrib::json::Json;
|
||||
use rocket_contrib::json::JsonValue;
|
||||
use dblib::{DB, request::ApiKey};
|
||||
use dblib::KeyStore;
|
||||
use serde::Serialize;
|
||||
|
||||
#[derive(Serialize)]
|
||||
pub struct GenericResponse<'m> {
|
||||
msg: Option<&'m str>,
|
||||
err: bool
|
||||
}
|
||||
|
||||
#[get("/by-id")]
|
||||
pub fn get_vid_by_id(id: String) -> JsonValue {
|
||||
todo!()
|
||||
}
|
||||
|
||||
#[get("/by-name")]
|
||||
pub fn get_vid_by_name(name: String) -> JsonValue {
|
||||
todo!()
|
||||
}
|
||||
|
||||
#[update("/description?<id>&<new>")]
|
||||
pub fn update_description<'m>(key: ApiKey, id: String, desc: String) -> Json<GenericResponse<'m>> {
|
||||
todo!()
|
||||
}
|
||||
|
||||
#[delete("/video?<id>")]
|
||||
pub fn delete_video(key: ApiKey, id: String) -> Json<GenericResponse<'m>> {
|
||||
todo!()
|
||||
}
|
||||
|
||||
#[update("/name?<id>&<dest>")]
|
||||
pub fn update_vid_name<'m>(key: ApiKey, id: String, dest: String) -> Json<GenericResponse<'m>> {
|
||||
todo!()
|
||||
}
|
@ -1,28 +0,0 @@
|
||||
#![feature(decl_macro)]
|
||||
#[macro_use] extern crate rocket;
|
||||
use rocket_contrib::serve::StaticFiles;
|
||||
use std::env;
|
||||
|
||||
mod api;
|
||||
|
||||
#[get("/<id>")]
|
||||
fn video_page(id: u64) -> String {
|
||||
format!("Video id requested: {}", id)
|
||||
}
|
||||
|
||||
fn main() {
|
||||
// emoji's crash my terminal
|
||||
env::set_var("ROCKET_CLI_COLORS", "off");
|
||||
|
||||
let _ = rocket::ignite()
|
||||
.mount("/clip", routes![video_page])
|
||||
.mount("/video-api", routes![
|
||||
api::get_vid_by_id,
|
||||
api::get_vid_by_name,
|
||||
api::update_description,
|
||||
api::delete_video,
|
||||
api::update_vid_name,
|
||||
])
|
||||
.mount("/", StaticFiles::from("static"))
|
||||
.launch();
|
||||
}
|
Loading…
Reference in New Issue
Block a user