From ccb6d208204fb286e469e87ad9c85a8c8b7be72a Mon Sep 17 00:00:00 2001 From: PROINT <> Date: Wed, 22 Jul 2026 17:03:47 +0700 Subject: Added JournalEntryRepository --- src/types.rs | 113 ----------------------------------------------------------- 1 file changed, 113 deletions(-) delete mode 100644 src/types.rs (limited to 'src/types.rs') diff --git a/src/types.rs b/src/types.rs deleted file mode 100644 index 98af390..0000000 --- a/src/types.rs +++ /dev/null @@ -1,113 +0,0 @@ -use chrono::{DateTime, Utc}; -use ulid::Ulid; - -#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] -pub struct AccountId(Ulid); - -impl AccountId { - pub fn as_ulid(&self) -> Ulid { - self.0 - } -} - -#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] -pub struct PostingId(Ulid); - -impl PostingId { - pub fn as_ulid(&self) -> Ulid { - self.0 - } -} - -#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] -pub struct JournalEntryId(Ulid); - -impl JournalEntryId { - pub fn as_ulid(&self) -> Ulid { - self.0 - } -} - -#[derive(PartialEq)] -pub enum AccountType { - Asset, - Liability, - Equity, - Revenue, - Expense -} - -pub struct Account { - account_id: AccountId, - pub account_type: AccountType, - pub name: String, - pub description: String -} - -pub struct NewAccount { - pub account_type: AccountType, - pub name: String, - pub description: String -} - -impl NewAccount { - fn new(account_type: AccountType, name: impl Into, description: impl Into) -> NewAccount { - NewAccount { - account_type, - name: name.into(), - description: description.into() - } - } -} - -#[derive(PartialEq)] -pub enum PostingType { - Debit, - Credit -} - -pub struct Posting { - posting_id: PostingId, - pub posting_type: PostingType, - pub account_id: AccountId, - pub amount: u64 -} - -pub struct NewPosting { - pub posting_type: PostingType, - pub account_id: AccountId, - pub amount: u64 -} - -impl NewPosting { - fn new(posting_type: PostingType, account_id: AccountId, amount: u64) -> NewPosting { - NewPosting { - posting_type, - account_id, - amount - } - } -} - -pub struct JournalEntry { - journal_entry_id: JournalEntryId, - pub date: DateTime, - pub postings: Vec, - pub description: String -} - -pub struct NewJournalEntry { - pub date: DateTime, - pub postings: Vec, - pub description: String -} - -impl NewJournalEntry { - fn new(date: DateTime, postings: Vec, description: impl Into) -> NewJournalEntry { - NewJournalEntry { - date, - postings, - description: description.into() - } - } -} -- cgit v1.3