82 lines
2.2 KiB
Rust
82 lines
2.2 KiB
Rust
|
use crate::db::{Dao, TenebrousDbConn};
|
||
|
use crate::errors::Error;
|
||
|
use crate::models::characters::{Character, CharacterDataType, DynCharacterData, Visibility};
|
||
|
use crate::models::proto::{cofd::*, Proto};
|
||
|
use crate::models::users::User;
|
||
|
use rocket_contrib::templates::Template;
|
||
|
use serde::Serialize;
|
||
|
use std::collections::HashMap;
|
||
|
|
||
|
pub(crate) fn routes() -> Vec<rocket::Route> {
|
||
|
routes![
|
||
|
cofd::update_basic_info,
|
||
|
cofd::update_attributes,
|
||
|
cofd::update_attribute,
|
||
|
cofd::update_skills,
|
||
|
cofd::add_condition,
|
||
|
cofd::remove_condition
|
||
|
]
|
||
|
}
|
||
|
|
||
|
/// Protobuf-based REST endpoints for editing a character.
|
||
|
mod cofd {
|
||
|
use super::*;
|
||
|
use crate::models::proto::{cofd::api::*, cofd::*, Proto};
|
||
|
|
||
|
#[post("/cofd/<owner>/<character_id>/basic-info", data = "<info>")]
|
||
|
pub(super) fn update_basic_info<'a>(
|
||
|
owner: String,
|
||
|
character_id: i32,
|
||
|
info: Proto<BasicInfo>,
|
||
|
) -> &'a str {
|
||
|
"lol"
|
||
|
}
|
||
|
|
||
|
#[post("/cofd/<owner>/<character_id>/attributes", data = "<info>")]
|
||
|
pub(super) fn update_attributes<'a>(
|
||
|
owner: String,
|
||
|
character_id: i32,
|
||
|
info: Proto<Attributes>,
|
||
|
) -> &'a str {
|
||
|
"lol"
|
||
|
}
|
||
|
|
||
|
#[post("/cofd/<owner>/<character_id>/attribute/<attribute>", data = "<info>")]
|
||
|
pub(super) fn update_attribute<'a>(
|
||
|
owner: String,
|
||
|
character_id: i32,
|
||
|
attribute: String,
|
||
|
info: Proto<Attribute>,
|
||
|
) -> &'a str {
|
||
|
println!("incoming request is {:#?}", info);
|
||
|
"lol"
|
||
|
}
|
||
|
|
||
|
#[post("/cofd/<owner>/<character_id>/skills", data = "<info>")]
|
||
|
pub(super) fn update_skills<'a>(
|
||
|
owner: String,
|
||
|
character_id: i32,
|
||
|
info: Proto<Skills>,
|
||
|
) -> &'a str {
|
||
|
"lol"
|
||
|
}
|
||
|
|
||
|
#[put("/cofd/<owner>/<character_id>/conditions", data = "<info>")]
|
||
|
pub(super) fn add_condition<'a>(
|
||
|
owner: String,
|
||
|
character_id: i32,
|
||
|
info: Proto<Condition>,
|
||
|
) -> &'a str {
|
||
|
"lol"
|
||
|
}
|
||
|
|
||
|
#[delete("/cofd/<owner>/<character_id>/conditions", data = "<info>")]
|
||
|
pub(super) fn remove_condition<'a>(
|
||
|
owner: String,
|
||
|
character_id: i32,
|
||
|
info: Proto<Condition>,
|
||
|
) -> &'a str {
|
||
|
"lol"
|
||
|
}
|
||
|
}
|