mirror of
https://git.ngram.ca/OpenJam/rc-servers
synced 2026-08-23 23:08:52 +00:00
Implement most of clans functionality; close #89
This commit is contained in:
@@ -29,6 +29,7 @@ async fn main() -> std::io::Result<()> {
|
||||
.service(robocraft::user_avatar::get)
|
||||
.service(robocraft::user_avatar::post)
|
||||
.service(robocraft::clan_avatar::get)
|
||||
.service(robocraft::clan_avatar::post)
|
||||
.service(robocraft::brawl_data::get)
|
||||
.service(robocraft::campaign_data::get)
|
||||
.service(robocraft::factory::arc::get)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use actix_web::{get, web::{Data, Path}, Responder};
|
||||
use actix_web::{get, post, web::{Data, Path, Bytes}, Responder};
|
||||
|
||||
#[get("/clanavatar/Live/{name}")]
|
||||
pub async fn get(cli: Data<crate::cli::CliArgs>, name: Path<String>) -> impl Responder {
|
||||
@@ -11,3 +11,12 @@ pub async fn get(cli: Data<crate::cli::CliArgs>, name: Path<String>) -> impl Res
|
||||
actix_files::NamedFile::open_async(std::path::PathBuf::from(&cli.assets_robocraft).join(super::DEFAULT_IMAGE)).await
|
||||
}
|
||||
}
|
||||
|
||||
#[post("/clanavatar/Live/{name}")]
|
||||
pub async fn post(cli: Data<crate::cli::CliArgs>, auth: Data<crate::robocraft::IntercomAuth>, name: Path<String>, body: Bytes, req: actix_web::HttpRequest) -> Result<actix_web::HttpResponse, super::IntercomOpError> {
|
||||
auth.validate(&req, &name)?;
|
||||
let path = std::path::PathBuf::from(&cli.data_robocraft).join("clanavatar").join(format!("{}.jpg", *name));
|
||||
log::debug!("Saving clanavatar for {} to {}: {}B", name, path.display(), body.len());
|
||||
std::fs::write(path, &body).map_err(super::IntercomOpError::Io)?;
|
||||
Ok(actix_web::HttpResponse::NoContent().finish())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user