Skip to main content

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}