feat: add state version to State
This commit is contained in:
parent
993ba8d408
commit
2678d2d3dd
12
Cargo.lock
generated
12
Cargo.lock
generated
@ -120,6 +120,7 @@ dependencies = [
|
|||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"server_fn",
|
"server_fn",
|
||||||
|
"smart-default",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tower 0.4.13",
|
"tower 0.4.13",
|
||||||
"tower-http 0.5.2",
|
"tower-http 0.5.2",
|
||||||
@ -2333,6 +2334,17 @@ version = "1.13.2"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
|
checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "smart-default"
|
||||||
|
version = "0.7.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0eb01866308440fc64d6c44d9e86c5cc17adfe33c4d6eed55da9145044d0ffc1"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "socket2"
|
name = "socket2"
|
||||||
version = "0.5.8"
|
version = "0.5.8"
|
||||||
|
@ -34,6 +34,7 @@ tracing-subscriber-wasm = "0.1.0"
|
|||||||
ron = { version = "0.8" }
|
ron = { version = "0.8" }
|
||||||
rand = { version = "0.8", optional = true }
|
rand = { version = "0.8", optional = true }
|
||||||
web-sys = { version = "0.3.76", features = ["File", "FileList"] }
|
web-sys = { version = "0.3.76", features = ["File", "FileList"] }
|
||||||
|
smart-default = "0.7.1"
|
||||||
|
|
||||||
[dev-dependencies.serde_json]
|
[dev-dependencies.serde_json]
|
||||||
version = "1"
|
version = "1"
|
||||||
|
@ -43,11 +43,14 @@ pub mod cli {
|
|||||||
pub mod state {
|
pub mod state {
|
||||||
//! Server state
|
//! Server state
|
||||||
|
|
||||||
|
const STATE_VERSION: u64 = 1;
|
||||||
|
|
||||||
use super::persistence::Persistent;
|
use super::persistence::Persistent;
|
||||||
use crate::models;
|
use crate::models;
|
||||||
use crate::models::Wall;
|
use crate::models::Wall;
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
use serde::Serialize;
|
use serde::Serialize;
|
||||||
|
use smart_default::SmartDefault;
|
||||||
use std::collections::BTreeSet;
|
use std::collections::BTreeSet;
|
||||||
|
|
||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
@ -55,8 +58,12 @@ pub mod state {
|
|||||||
pub persistent: Persistent<PersistentState>,
|
pub persistent: Persistent<PersistentState>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Clone, Debug, Default)]
|
#[derive(Serialize, Deserialize, Clone, Debug, SmartDefault)]
|
||||||
pub struct PersistentState {
|
pub struct PersistentState {
|
||||||
|
/// State schema version
|
||||||
|
#[default(STATE_VERSION)]
|
||||||
|
pub version: u64,
|
||||||
|
|
||||||
pub wall: Wall,
|
pub wall: Wall,
|
||||||
pub problems: Problems,
|
pub problems: Problems,
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user