Menu
Public repository / 5591f87904dfed6a2e00c83c31b44e5e0b8063e1
AkurAI-Notes / crates/notes-core/src/metadata/mod.rs
Latest change 3f3c3218239131fdc60fb9196283c9a0162898a9 - E04: notes-core entities + CRUD handlers + collections schema + seed data by Claude Code
pub struct ObjectMetadata {
pub name: &'static str,
pub fields: Vec<FieldMetadata>,
}
pub struct FieldMetadata {
pub name: &'static str,
pub field_type: &'static str,
pub required: bool,
pub embed: bool,
}
impl ObjectMetadata {
pub fn standard_objects() -> Vec<Self> {
vec![
ObjectMetadata {
name: "notes",
fields: vec![
FieldMetadata { name: "title", field_type: "text", required: true, embed: true },
FieldMetadata { name: "body", field_type: "text", required: false, embed: true },
FieldMetadata { name: "format", field_type: "text", required: false, embed: false },
FieldMetadata { name: "notebookId", field_type: "int", required: false, embed: false },
FieldMetadata { name: "ownerSub", field_type: "text", required: true, embed: false },
FieldMetadata { name: "tagIds", field_type: "text", required: false, embed: false },
FieldMetadata { name: "createdAt", field_type: "int", required: false, embed: false },
FieldMetadata { name: "updatedAt", field_type: "int", required: false, embed: false },
FieldMetadata { name: "archived", field_type: "bool", required: false, embed: false },
],
},
ObjectMetadata {
name: "notebooks",
fields: vec![
FieldMetadata { name: "name", field_type: "text", required: true, embed: true },
FieldMetadata { name: "description", field_type: "text", required: false, embed: false },
FieldMetadata { name: "ownerSub", field_type: "text", required: true, embed: false },
FieldMetadata { name: "color", field_type: "text", required: false, embed: false },
FieldMetadata { name: "createdAt", field_type: "int", required: false, embed: false },
],
},
ObjectMetadata {
name: "tags",
fields: vec![
FieldMetadata { name: "name", field_type: "text", required: true, embed: true },
FieldMetadata { name: "ownerSub", field_type: "text", required: true, embed: false },
FieldMetadata { name: "color", field_type: "text", required: false, embed: false },
FieldMetadata { name: "createdAt", field_type: "int", required: false, embed: false },
],
},
]
}
}