cognee_database/entities/
session_model_usage.rs1use sea_orm::entity::prelude::*;
14use serde::{Deserialize, Serialize};
15
16#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Serialize, Deserialize)]
17#[sea_orm(table_name = "session_model_usage")]
18pub struct Model {
19 #[sea_orm(primary_key, auto_increment = false)]
20 pub session_id: String,
21 #[sea_orm(primary_key, auto_increment = false)]
23 pub user_id: String,
24 #[sea_orm(primary_key, auto_increment = false)]
25 pub model: String,
26
27 pub tokens_in: i32,
28 pub tokens_out: i32,
29 pub cost_usd: f64,
30
31 pub updated_at: DateTimeUtc,
32}
33
34#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
35pub enum Relation {}
36
37impl ActiveModelBehavior for ActiveModel {}
38
39impl Model {
40 pub fn to_dict(&self) -> serde_json::Value {
43 serde_json::json!({
44 "session_id": self.session_id,
45 "user_id": self.user_id,
46 "model": self.model,
47 "tokens_in": self.tokens_in,
48 "tokens_out": self.tokens_out,
49 "cost_usd": self.cost_usd,
50 "updated_at": self.updated_at.to_rfc3339(),
51 })
52 }
53}