ruve/types.rs
1use serde::{Deserialize, Serialize};
2use uuid::Uuid;
3
4#[derive(Debug, Serialize, Deserialize)]
5pub struct Record {
6 pub id: String,
7 pub vector: Vec<f32>,
8 pub metadata: Option<String>,
9}
10
11impl Record {
12 pub fn new(vector: Vec<f32>, metadata: Option<String>, id: Option<String>) -> Self {
13 Record {
14 id: match id {
15 Some(id) => id,
16 _ => Uuid::now_v7().to_string()
17 },
18 vector,
19 metadata
20 }
21 }
22}