Skip to content

Commit 711b1d6

Browse files
committed
feat: impl serialization/deserialization of types
Signed-off-by: Martin <martin@hotmail.com.br>
1 parent d372770 commit 711b1d6

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

src/domain/transaction.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
use crate::AnyResult;
22
use compact_str::CompactString;
33
use eyre::bail;
4-
use serde::Serialize;
4+
use serde::{Deserialize, Serialize};
55
use std::num::NonZeroI32;
66
use time::OffsetDateTime;
77

8-
#[derive(Debug, Serialize)]
8+
#[derive(Debug, Serialize, Deserialize)]
99
pub struct Transaction {
1010
pub valor: NonZeroI32,
1111
pub tipo: TransactionKind,
1212
pub descricao: TransactionDescription,
1313
pub realizada_em: OffsetDateTime,
1414
}
1515

16-
#[derive(Debug, Copy, Clone, Serialize)]
16+
#[derive(Debug, Copy, Clone, Serialize, Deserialize)]
1717
pub enum TransactionKind {
1818
Credit,
1919
Debit,
2020
}
2121

22-
#[derive(Serialize, Debug, PartialEq, Eq)]
23-
pub struct TransactionDescription(CompactString);
22+
#[derive(Serialize, Deserialize, Debug, PartialEq, Eq)]
23+
pub struct TransactionDescription(pub CompactString);
2424

2525
impl TransactionDescription {
2626
pub fn new(description: &str) -> AnyResult<Self> {

src/lib.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ pub mod domain;
77
pub mod application;
88
pub mod infrastructure;
99

10-
use serde::{Deserialize, Serialize};
10+
use serde::Deserialize;
1111
use time::OffsetDateTime;
1212

13-
#[derive(Debug, Copy, Clone, Deserialize, Serialize)]
13+
#[derive(Debug, Copy, Clone, Deserialize)]
1414
pub struct Statement {
15-
pub total: i32,
16-
pub data_extrato: OffsetDateTime,
17-
pub limite: u32,
15+
pub balance: i32,
16+
pub time_of_statement: OffsetDateTime,
17+
pub credit_limit: u32,
1818
}
1919

2020
pub type AnyResult<T> = eyre::Result<T>;

0 commit comments

Comments
 (0)