Skip to main content

cognee_database/entities/
data.rs

1use sea_orm::entity::prelude::*;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Serialize, Deserialize)]
5#[sea_orm(table_name = "data")]
6pub struct Model {
7    #[sea_orm(primary_key, auto_increment = false)]
8    pub id: String,
9    pub name: String,
10    pub raw_data_location: String,
11    pub original_data_location: String,
12    pub extension: String,
13    pub mime_type: String,
14    pub content_hash: String,
15    #[sea_orm(indexed)]
16    pub owner_id: String,
17    pub created_at: DateTimeUtc,
18    pub updated_at: Option<DateTimeUtc>,
19    pub label: Option<String>,
20    pub original_extension: Option<String>,
21    pub original_mime_type: Option<String>,
22    pub loader_engine: Option<String>,
23    pub raw_content_hash: Option<String>,
24    pub tenant_id: Option<String>,
25    pub external_metadata: Option<String>,
26    pub node_set: Option<String>,
27    pub pipeline_status: Option<String>,
28    pub token_count: i64,
29    pub data_size: i64,
30    pub last_accessed: Option<DateTimeUtc>,
31    pub importance_weight: Option<f64>,
32}
33
34#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
35pub enum Relation {}
36
37impl Related<super::dataset::Entity> for Entity {
38    fn to() -> RelationDef {
39        super::dataset_data::Relation::Dataset.def()
40    }
41    fn via() -> Option<RelationDef> {
42        Some(super::dataset_data::Relation::Data.def().rev())
43    }
44}
45
46impl ActiveModelBehavior for ActiveModel {}