lago_types/models/
activity_log.rs1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3use serde_json::Value;
4use strum_macros::EnumString;
5use uuid::Uuid;
6
7#[derive(Debug, Clone, Serialize, Deserialize)]
12pub struct ActivityLogObject {
13 pub activity_id: Uuid,
14 pub activity_type: String,
15 pub activity_source: ActivitySource,
16 pub logged_at: DateTime<Utc>,
17 pub created_at: DateTime<Utc>,
18 pub user_email: Option<String>,
19 pub resource_id: Option<Uuid>,
20 pub resource_type: Option<String>,
21 pub external_customer_id: Option<String>,
22 pub external_subscription_id: Option<String>,
23 pub activity_object: Option<Value>,
24}
25
26#[derive(Debug, Clone, Serialize, Deserialize, EnumString, PartialEq, Eq)]
28#[serde(rename_all = "lowercase")]
29#[strum(serialize_all = "lowercase")]
30pub enum ActivitySource {
31 Api,
32 Front,
33 System,
34}