mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-20 17:41:37 +00:00
DESIGN doc, stub out /write endpoint
This commit is contained in:
parent
6ee9a48e20
commit
0f78eb933a
3 changed files with 36 additions and 2 deletions
|
|
@ -1,6 +1,6 @@
|
|||
use std::collections::HashMap;
|
||||
|
||||
#[derive(Debug, Serialize)]
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct RbxItem {
|
||||
pub name: String,
|
||||
|
|
@ -9,7 +9,7 @@ pub struct RbxItem {
|
|||
pub properties: HashMap<String, RbxValue>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize)]
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "camelCase", tag = "type")]
|
||||
pub enum RbxValue {
|
||||
String {
|
||||
|
|
|
|||
14
src/web.rs
14
src/web.rs
|
|
@ -40,6 +40,13 @@ struct ChangesResult<'a> {
|
|||
current_time: f64,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
struct WriteSpecifier {
|
||||
route: String,
|
||||
item: RbxItem,
|
||||
}
|
||||
|
||||
fn json<T: serde::Serialize>(value: T) -> rouille::Response {
|
||||
let data = serde_json::to_string(&value).unwrap();
|
||||
rouille::Response::from_data("application/json", data)
|
||||
|
|
@ -181,6 +188,13 @@ pub fn start(config: Config, project: Project, vfs: Arc<Mutex<Vfs>>) {
|
|||
},
|
||||
|
||||
(POST) (/write) => {
|
||||
let _plugin_chain = PLUGIN_CHAIN.lock().unwrap();
|
||||
|
||||
let _write_request: Vec<WriteSpecifier> = match read_json(&request) {
|
||||
Some(v) => v,
|
||||
None => return rouille::Response::empty_400(),
|
||||
};
|
||||
|
||||
rouille::Response::empty_404()
|
||||
},
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue