fixed type and page action serialization

This commit is contained in:
2026-05-18 19:46:29 -04:00
parent 4874c09fb5
commit 9cefc225fc
4 changed files with 16 additions and 20 deletions

12
src/database/action.rs Normal file
View File

@ -0,0 +1,12 @@
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(default)]
pub struct Action {
#[serde(skip_serializing_if = "Option::is_none")]
pub punc: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub navigate: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub launch: Option<String>,
}

View File

@ -1,3 +1,4 @@
pub mod action;
pub mod compile; pub mod compile;
pub mod edge; pub mod edge;
pub mod r#enum; pub mod r#enum;

View File

@ -1,7 +1,8 @@
use crate::database::action::Action;
use crate::database::schema::Schema; use crate::database::schema::Schema;
use indexmap::IndexMap;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use serde_json::Value; use serde_json::Value;
use indexmap::IndexMap;
use std::sync::Arc; use std::sync::Arc;
use std::sync::OnceLock; use std::sync::OnceLock;
@ -219,14 +220,6 @@ pub enum SchemaTypeOrArray {
Multiple(Vec<String>), Multiple(Vec<String>),
} }
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Action {
#[serde(skip_serializing_if = "Option::is_none")]
pub navigate: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub punc: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)] #[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(untagged)] #[serde(untagged)]
pub enum Dependency { pub enum Dependency {

View File

@ -1,3 +1,4 @@
use crate::database::action::Action;
use indexmap::IndexMap; use indexmap::IndexMap;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
@ -22,14 +23,3 @@ pub struct Sidebar {
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
pub priority: Option<i32>, pub priority: Option<i32>,
} }
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(default)]
pub struct Action {
#[serde(skip_serializing_if = "Option::is_none")]
pub punc: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub navigate: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub present: Option<String>,
}