authentik_rust/models/
reputation.rs

1/*
2 * authentik
3 *
4 * Making authentication simple.
5 *
6 * The version of the OpenAPI document: 2024.2.1
7 * Contact: hello@goauthentik.io
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12
13/// Reputation : Reputation Serializer
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Reputation {
16    #[serde(rename = "pk", skip_serializing_if = "Option::is_none")]
17    pub pk: Option<uuid::Uuid>,
18    #[serde(rename = "identifier")]
19    pub identifier: String,
20    #[serde(rename = "ip")]
21    pub ip: String,
22    #[serde(rename = "ip_geo_data", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
23    pub ip_geo_data: Option<Option<serde_json::Value>>,
24    #[serde(rename = "ip_asn_data", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
25    pub ip_asn_data: Option<Option<serde_json::Value>>,
26    #[serde(rename = "score", skip_serializing_if = "Option::is_none")]
27    pub score: Option<i64>,
28    #[serde(rename = "updated")]
29    pub updated: String,
30}
31
32impl Reputation {
33    /// Reputation Serializer
34    pub fn new(identifier: String, ip: String, updated: String) -> Reputation {
35        Reputation {
36            pk: None,
37            identifier,
38            ip,
39            ip_geo_data: None,
40            ip_asn_data: None,
41            score: None,
42            updated,
43        }
44    }
45}
46