(feat) auth

This commit is contained in:
Rorik Star Platinum 2025-11-07 11:27:12 +03:00
parent 15b92ba3a4
commit 0977d47ec2
17 changed files with 711 additions and 58 deletions

View file

@ -6,14 +6,14 @@ use serde::{Deserialize, Serialize};
use chrono::{DateTime, Utc, NaiveDate};
// --- Generic API Wrappers ---
#[derive(Debug, Deserialize, Clone)]
#[derive(Debug, Deserialize, Serialize, Clone)] // Added Serialize here
pub struct ApiResponse<T> {
pub data: T,
pub links: Links,
pub meta: Meta,
}
#[derive(Debug, Deserialize, Clone)]
#[derive(Debug, Deserialize, Serialize, Clone)] // Added Serialize here
#[serde(rename_all = "camelCase")]
pub struct Links {
#[serde(rename = "self")]
@ -22,7 +22,7 @@ pub struct Links {
pub prev: Option<String>,
}
#[derive(Debug, Deserialize, Clone)]
#[derive(Debug, Deserialize, Serialize, Clone)] // Added Serialize here
#[serde(rename_all = "camelCase")]
pub struct Meta {
pub total_pages: Option<i32>,
@ -42,7 +42,7 @@ pub struct ConsentRequestBody {
pub requesting_bank_name: String,
}
#[derive(Debug, Deserialize, Clone)]
#[derive(Debug, Deserialize, Serialize, Clone)] // Added Serialize here
#[serde(rename_all = "snake_case")]
pub struct ConsentResponse {
pub request_id: String,
@ -54,12 +54,12 @@ pub struct ConsentResponse {
}
// --- Account & Transaction Models ---
#[derive(Debug, Deserialize, Clone)]
#[derive(Debug, Deserialize, Serialize, Clone)] // Added Serialize here
pub struct AccountData {
pub account: Vec<Account>,
}
#[derive(Debug, Deserialize, Clone)]
#[derive(Debug, Deserialize, Serialize, Clone)] // Added Serialize here
#[serde(rename_all = "camelCase")]
pub struct Account {
pub account_id: String,
@ -73,7 +73,7 @@ pub struct Account {
pub account: Option<Vec<AccountIdentification>>,
}
#[derive(Debug, Deserialize, Clone)]
#[derive(Debug, Deserialize, Serialize, Clone)] // Added Serialize here
#[serde(rename_all = "camelCase")]
pub struct AccountIdentification {
pub scheme_name: String,
@ -81,12 +81,12 @@ pub struct AccountIdentification {
pub name: String,
}
#[derive(Debug, Deserialize, Clone)]
#[derive(Debug, Deserialize, Serialize, Clone)] // Added Serialize here
pub struct BalanceData {
pub balance: Vec<Balance>,
}
#[derive(Debug, Deserialize, Clone)]
#[derive(Debug, Deserialize, Serialize, Clone)] // Added Serialize here
#[serde(rename_all = "camelCase")]
pub struct Balance {
pub account_id: String,
@ -97,13 +97,13 @@ pub struct Balance {
pub credit_debit_indicator: String,
}
#[derive(Debug, Deserialize, Clone)]
#[derive(Debug, Deserialize, Serialize, Clone)] // Added Serialize here
#[serde(rename_all = "camelCase")]
pub struct TransactionData {
pub transaction: Vec<Transaction>,
}
#[derive(Debug, Deserialize, Clone)]
#[derive(Debug, Deserialize, Serialize, Clone)] // Added Serialize here
#[serde(rename_all = "camelCase")]
pub struct Transaction {
pub account_id: String,
@ -117,14 +117,13 @@ pub struct Transaction {
pub bank_transaction_code: Option<BankTransactionCode>,
}
#[derive(Debug, Deserialize, Clone)]
#[derive(Debug, Deserialize, Serialize, Clone)] // Added Serialize here
pub struct Amount {
pub amount: String,
pub currency: String,
}
#[derive(Debug, Deserialize, Clone)]
#[derive(Debug, Deserialize, Serialize, Clone)] // Added Serialize here
pub struct BankTransactionCode {
pub code: String,
}