1
0
mirror of https://git.ngram.ca/OpenJam/rc-servers synced 2026-08-23 23:08:52 +00:00

Add default image to CDN, favicon to registration, create logo

This commit is contained in:
NG (Graham)
2025-06-01 17:51:12 -04:00
parent 297a2ab246
commit 6ddea92a87
14 changed files with 495 additions and 7 deletions

View File

@@ -29,6 +29,7 @@ async fn main() -> std::io::Result<()> {
.service(robocraft::brawl_data::get)
.service(robocraft::campaign_data::get)
.service(robocraft::factory::arc::get)
.service(robocraft::favicon::get)
})
.bind((cli_args.ip, cli_args.port))?
.run()

View File

@@ -4,5 +4,10 @@ use actix_web::{get, web::{Data, Path}, Responder};
pub async fn get(cli: Data<crate::cli::CliArgs>, name: Path<String>) -> impl Responder {
let path = std::path::PathBuf::from(&cli.data_robocraft).join("brawldata").join(format!("{}.jpg", *name));
log::debug!("RC asset at {} (exists? {})", path.display(), path.exists());
actix_files::NamedFile::open_async(path).await
if path.exists() {
actix_files::NamedFile::open_async(path).await
} else {
log::info!("Not found /brawldata/Live/{} -> {}, using default image", name, path.display());
actix_files::NamedFile::open_async(std::path::PathBuf::from(&cli.assets_robocraft).join(super::DEFAULT_IMAGE)).await
}
}

View File

@@ -4,5 +4,10 @@ use actix_web::{get, web::{Data, Path}, Responder};
pub async fn get(cli: Data<crate::cli::CliArgs>, name: Path<String>) -> impl Responder {
let path = std::path::PathBuf::from(&cli.data_robocraft).join("campaigndata").join(format!("{}.jpg", *name));
log::debug!("RC asset at {} (exists? {})", path.display(), path.exists());
actix_files::NamedFile::open_async(path).await
if path.exists() {
actix_files::NamedFile::open_async(path).await
} else {
log::info!("Not found /campaigndata/Live/{} -> {}, using default image", name, path.display());
actix_files::NamedFile::open_async(std::path::PathBuf::from(&cli.assets_robocraft).join(super::DEFAULT_IMAGE)).await
}
}

View File

@@ -4,5 +4,10 @@ use actix_web::{get, web::{Data, Path}, Responder};
pub async fn get(cli: Data<crate::cli::CliArgs>, name: Path<String>) -> impl Responder {
let path = std::path::PathBuf::from(&cli.data_robocraft).join("clanavatar").join(format!("{}.jpg", *name));
log::debug!("RC asset at {} (exists? {})", path.display(), path.exists());
actix_files::NamedFile::open_async(path).await
if path.exists() {
actix_files::NamedFile::open_async(path).await
} else {
log::info!("Not found /clanavatar/Live/{} -> {}, using default image", name, path.display());
actix_files::NamedFile::open_async(std::path::PathBuf::from(&cli.assets_robocraft).join(super::DEFAULT_IMAGE)).await
}
}

View File

@@ -0,0 +1,7 @@
use actix_web::{get, Responder, web::Data};
#[get("/robocraft/favicon")]
pub async fn get(cli: Data<crate::cli::CliArgs>) -> impl Responder {
let path = std::path::PathBuf::from(&cli.assets_robocraft).join("favicon.jpg");
actix_files::NamedFile::open_async(path).await
}

View File

@@ -4,3 +4,6 @@ pub mod clan_avatar;
pub mod brawl_data;
pub mod campaign_data;
pub mod factory;
pub mod favicon;
pub(self) const DEFAULT_IMAGE: &str = "default.jpg";

View File

@@ -4,5 +4,10 @@ use actix_web::{get, web::{Data, Path}, Responder};
pub async fn get(cli: Data<crate::cli::CliArgs>, name: Path<String>) -> impl Responder {
let path = std::path::PathBuf::from(&cli.data_robocraft).join("customavatars").join(format!("{}.jpg", *name));
log::debug!("RC asset at {} (exists? {})", path.display(), path.exists());
actix_files::NamedFile::open_async(path).await
if path.exists() {
actix_files::NamedFile::open_async(path).await
} else {
log::info!("Not found /customavatar/Live/{} -> {}, using default image", name, path.display());
actix_files::NamedFile::open_async(std::path::PathBuf::from(&cli.assets_robocraft).join(super::DEFAULT_IMAGE)).await
}
}