cognee_database/entities/
edge.rs1use sea_orm::entity::prelude::*;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Debug, PartialEq, Eq, DeriveEntityModel, Serialize, Deserialize)]
5#[sea_orm(table_name = "edges")]
6pub struct Model {
7 #[sea_orm(primary_key, auto_increment = false)]
8 pub id: String,
9 pub slug: String,
10 pub user_id: String,
11 #[sea_orm(indexed)]
12 pub data_id: String,
13 #[sea_orm(indexed)]
14 pub dataset_id: String,
15 pub source_node_id: String,
16 pub destination_node_id: String,
17 #[sea_orm(column_type = "Text")]
18 pub relationship_name: String,
19 #[sea_orm(column_type = "Text", nullable)]
20 pub label: Option<String>,
21 #[sea_orm(column_type = "Json", nullable)]
22 pub attributes: Option<Json>,
23 pub created_at: DateTimeUtc,
24}
25
26#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
27pub enum Relation {
28 #[sea_orm(
29 belongs_to = "super::node::Entity",
30 from = "Column::SourceNodeId",
31 to = "super::node::Column::Id"
32 )]
33 SourceNode,
34 #[sea_orm(
35 belongs_to = "super::node::Entity",
36 from = "Column::DestinationNodeId",
37 to = "super::node::Column::Id"
38 )]
39 DestinationNode,
40 #[sea_orm(
41 belongs_to = "super::dataset::Entity",
42 from = "Column::DatasetId",
43 to = "super::dataset::Column::Id"
44 )]
45 Dataset,
46}
47
48impl ActiveModelBehavior for ActiveModel {}