Menu
Public repository / master
AkurAI-Notes / crates/notes-core/src/metadata/mod.rs
Latest change 21fd83f4a6eb769a0ee34aa30f721b5cdc6881af - Fix IDP OAuth: split public issuer vs internal loopback URL for token exchange 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,
},
],
},
]
}
}