fastcomments_sdk/client/src/models/
api_audit_log.rs1use crate::client::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ApiAuditLog {
16 #[serde(rename = "_id")]
17 pub _id: String,
18 #[serde(rename = "userId", skip_serializing_if = "Option::is_none")]
19 pub user_id: Option<String>,
20 #[serde(rename = "username", skip_serializing_if = "Option::is_none")]
21 pub username: Option<String>,
22 #[serde(rename = "resourceName")]
23 pub resource_name: String,
24 #[serde(rename = "crudType")]
25 pub crud_type: CrudType,
26 #[serde(rename = "from", skip_serializing_if = "Option::is_none")]
27 pub from: Option<From>,
28 #[serde(rename = "url", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
29 pub url: Option<Option<String>>,
30 #[serde(rename = "ip", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
31 pub ip: Option<Option<String>>,
32 #[serde(rename = "when", skip_serializing_if = "Option::is_none")]
33 pub when: Option<String>,
34 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
35 pub description: Option<String>,
36 #[serde(rename = "serverStartDate", skip_serializing_if = "Option::is_none")]
37 pub server_start_date: Option<String>,
38 #[serde(rename = "objectDetails", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
40 pub object_details: Option<Option<std::collections::HashMap<String, serde_json::Value>>>,
41}
42
43impl ApiAuditLog {
44 pub fn new(_id: String, resource_name: String, crud_type: CrudType) -> ApiAuditLog {
45 ApiAuditLog {
46 _id,
47 user_id: None,
48 username: None,
49 resource_name,
50 crud_type,
51 from: None,
52 url: None,
53 ip: None,
54 when: None,
55 description: None,
56 server_start_date: None,
57 object_details: None,
58 }
59 }
60}
61#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
63pub enum CrudType {
64 #[serde(rename = "c")]
65 C,
66 #[serde(rename = "r")]
67 R,
68 #[serde(rename = "u")]
69 U,
70 #[serde(rename = "d")]
71 D,
72 #[serde(rename = "login")]
73 Login,
74}
75
76impl Default for CrudType {
77 fn default() -> CrudType {
78 Self::C
79 }
80}
81#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
83pub enum From {
84 #[serde(rename = "ui")]
85 Ui,
86 #[serde(rename = "api")]
87 Api,
88 #[serde(rename = "cron")]
89 Cron,
90}
91
92impl Default for From {
93 fn default() -> From {
94 Self::Ui
95 }
96}
97