koprogo_api/application/dto/
consent_dto.rs

1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3
4/// Request to record user consent (GDPR Art. 7)
5#[derive(Debug, Deserialize)]
6pub struct RecordConsentRequest {
7    pub consent_type: String,
8    pub policy_version: Option<String>,
9}
10
11/// Response after recording consent
12#[derive(Debug, Serialize)]
13pub struct ConsentRecordedResponse {
14    pub message: String,
15    pub consent_type: String,
16    pub accepted_at: DateTime<Utc>,
17    pub policy_version: String,
18}
19
20/// Response for consent status query
21#[derive(Debug, Serialize)]
22pub struct ConsentStatusResponse {
23    pub privacy_policy_accepted: bool,
24    pub terms_accepted: bool,
25    pub privacy_policy_accepted_at: Option<DateTime<Utc>>,
26    pub terms_accepted_at: Option<DateTime<Utc>>,
27    pub privacy_policy_version: Option<String>,
28    pub terms_version: Option<String>,
29}