feat: use of raw
This commit is contained in:
parent
de1ef085ba
commit
9cef4843f0
3 changed files with 982 additions and 20 deletions
965
Cargo.lock
generated
965
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
|
|
@ -6,6 +6,7 @@ edition = "2024"
|
|||
[dependencies]
|
||||
axum = "0.8.4"
|
||||
dotenv = "0.15.0"
|
||||
reqwest = { version = "0.12.23", features = ["json"] }
|
||||
serde = "1.0.219"
|
||||
serde_json = "1.0.143"
|
||||
tokio = { version = "1.47.1", features = ["full"] }
|
||||
|
|
|
|||
|
|
@ -1,26 +1,27 @@
|
|||
use std::{fs::File, io::Read};
|
||||
// use std::{fs::File, io::Read};
|
||||
|
||||
use axum::{Json, extract::Path};
|
||||
use serde_json::{Value, from_str, json};
|
||||
use serde_json::{Value, json};
|
||||
|
||||
// ===================
|
||||
// =====< UTILS >=====
|
||||
// ===================
|
||||
|
||||
fn read_json(path: &str) -> std::io::Result<String> {
|
||||
let mut file = File::open(path)?;
|
||||
let mut contents = String::new();
|
||||
file.read_to_string(&mut contents)?;
|
||||
Ok(contents)
|
||||
}
|
||||
// fn read_json(path: &str) -> std::io::Result<String> {
|
||||
// let mut file = File::open(path)?;
|
||||
// let mut contents = String::new();
|
||||
// file.read_to_string(&mut contents)?;
|
||||
// Ok(contents)
|
||||
// }
|
||||
|
||||
// ====================
|
||||
// =====< ROUTES >=====
|
||||
// ====================
|
||||
|
||||
pub async fn get_home(Path(lang): Path<String>) -> Json<Value> {
|
||||
if let Ok(file) = read_json(&format!("res/{lang}/home.json")) {
|
||||
Json(from_str(&file).unwrap())
|
||||
let raw_url = dotenv::var("RAW_URL").expect("http://localhost");
|
||||
if let Ok(response) = reqwest::get(format!("{raw_url}/res/{lang}/home.json")).await {
|
||||
Json(response.json().await.unwrap())
|
||||
} else {
|
||||
Json(
|
||||
json!({"title": "Error", "cards": [{ "title": "An error occured", "content": "Try reloading the page, or going back to the main page. Sorry !"}]}),
|
||||
|
|
@ -29,8 +30,9 @@ pub async fn get_home(Path(lang): Path<String>) -> Json<Value> {
|
|||
}
|
||||
|
||||
pub async fn get_projects(Path(lang): Path<String>) -> Json<Value> {
|
||||
if let Ok(file) = read_json(&format!("res/{lang}/projects.json")) {
|
||||
Json(from_str(&file).unwrap())
|
||||
let raw_url = dotenv::var("RAW_URL").expect("http://localhost");
|
||||
if let Ok(response) = reqwest::get(format!("{raw_url}/res/{lang}/projects.json")).await {
|
||||
Json(response.json().await.unwrap())
|
||||
} else {
|
||||
Json(
|
||||
json!({"title": "Error", "cards": [{ "title": "An error occured", "content": "Try reloading the page, or going back to the main page. Sorry !"}]}),
|
||||
|
|
@ -39,8 +41,9 @@ pub async fn get_projects(Path(lang): Path<String>) -> Json<Value> {
|
|||
}
|
||||
|
||||
pub async fn get_lessons(Path(lang): Path<String>) -> Json<Value> {
|
||||
if let Ok(file) = read_json(&format!("res/{lang}/lessons.json")) {
|
||||
Json(from_str(&file).unwrap())
|
||||
let raw_url = dotenv::var("RAW_URL").expect("http://localhost");
|
||||
if let Ok(response) = reqwest::get(format!("{raw_url}/res/{lang}/lessons.json")).await {
|
||||
Json(response.json().await.unwrap())
|
||||
} else {
|
||||
Json(
|
||||
json!({"title": "Error", "cards": [{ "title": "An error occured", "content": "Try reloading the page, or going back to the main page. Sorry !"}]}),
|
||||
|
|
@ -49,8 +52,9 @@ pub async fn get_lessons(Path(lang): Path<String>) -> Json<Value> {
|
|||
}
|
||||
|
||||
pub async fn get_lessons_by_id(Path((lang, id)): Path<(String, String)>) -> Json<Value> {
|
||||
if let Ok(file) = read_json(&format!("res/{lang}/lessons/{id}.json")) {
|
||||
Json(from_str(&file).unwrap())
|
||||
let raw_url = dotenv::var("RAW_URL").expect("http://localhost");
|
||||
if let Ok(response) = reqwest::get(format!("{raw_url}/res/{lang}/lessons/{id}.json")).await {
|
||||
Json(response.json().await.unwrap())
|
||||
} else {
|
||||
Json(
|
||||
json!({"title": "Error", "cards": [{ "title": "An error occured", "content": "Try reloading the page, or going back to the main page. Sorry !"}]}),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue