Opting for string keys in json db
This commit is contained in:
parent
61b3a5fe80
commit
150d34c38e
@ -8,23 +8,23 @@ use crate::CONFIG;
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
pub struct Row {
|
||||
pub id: i64,
|
||||
pub file: String,
|
||||
pub thumbnail: String
|
||||
}
|
||||
|
||||
type Data = HashMap<String, Row>;
|
||||
|
||||
pub fn get_video(id: i64) -> Option<Row> {
|
||||
|
||||
pub fn get_video(id: String) -> Option<Row> {
|
||||
// Used to fetch video information from the db for client's to request
|
||||
// video and thumbnail files from us
|
||||
let db_file = fs::read_to_string(CONFIG.db_file)
|
||||
.expect("Unable to read DB_FILE");
|
||||
let db_data: HashMap<i64, Row> = json::from_str(&db_file)
|
||||
let db_data: Data = json::from_str(&db_file)
|
||||
.expect("Unable to parse DB_FILE content");
|
||||
|
||||
match db_data.get(&id) {
|
||||
Some(video) => Some(Row {
|
||||
id,
|
||||
file: video.file.clone(),
|
||||
thumbnail: video.thumbnail.clone()
|
||||
}),
|
||||
|
@ -5,7 +5,7 @@ use rocket_dyn_templates::Template;
|
||||
use rocket_dyn_templates::context;
|
||||
|
||||
#[get("/<video_id>")]
|
||||
pub fn index(video_id: i64) -> Template {
|
||||
pub fn index(video_id: String) -> Template {
|
||||
// Read the db file we have to get the ID
|
||||
// Now we can fetch the row from the DB content
|
||||
match db::get_video(video_id) {
|
||||
|
Loading…
Reference in New Issue
Block a user