mirror of
https://github.com/acedanger/finance.git
synced 2025-12-05 14:40:13 -08:00
This commit resolves an issue where the Update button in the transaction form would remain disabled when attempting to edit a transaction. The problem was in how the transactionStore was managing state updates during transaction editing. Key changes: - Enhanced startEditingTransaction function in transactionStore.ts to ensure proper reactivity - Added clean copy creation of transaction objects to avoid reference issues - Implemented a state update cycle with null value first to force reactivity - Added a small timeout to ensure state changes are properly detected by components The Transaction form now correctly enables the Update button when in edit mode, regardless of account selection state.
74 lines
1.6 KiB
Plaintext
74 lines
1.6 KiB
Plaintext
// prisma/schema.prisma
|
|
|
|
generator client {
|
|
provider = "prisma-client-js"
|
|
}
|
|
|
|
datasource db {
|
|
provider = "postgresql"
|
|
url = env("DATABASE_URL")
|
|
}
|
|
|
|
model Account {
|
|
id String @id @default(uuid())
|
|
bankName String
|
|
accountNumber String @db.VarChar(6) // Last 6 digits
|
|
name String // Friendly name
|
|
type AccountType @default(CHECKING)
|
|
status AccountStatus @default(ACTIVE)
|
|
currency String @default("USD")
|
|
balance Decimal @default(0) @db.Decimal(10, 2)
|
|
notes String?
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
transactions Transaction[]
|
|
|
|
@@index([status])
|
|
@@map("accounts")
|
|
}
|
|
|
|
model Transaction {
|
|
id String @id @default(uuid())
|
|
accountId String
|
|
account Account @relation(fields: [accountId], references: [id])
|
|
date DateTime
|
|
description String
|
|
amount Decimal @db.Decimal(10, 2)
|
|
category String?
|
|
status TransactionStatus @default(CLEARED)
|
|
type TransactionType @default(UNSPECIFIED)
|
|
notes String?
|
|
tags String? // Comma-separated values for tags
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
|
|
@@index([accountId])
|
|
@@index([date])
|
|
@@index([category])
|
|
@@map("transactions")
|
|
}
|
|
|
|
enum AccountType {
|
|
CHECKING
|
|
SAVINGS
|
|
CREDIT_CARD
|
|
INVESTMENT
|
|
OTHER
|
|
}
|
|
|
|
enum AccountStatus {
|
|
ACTIVE
|
|
CLOSED
|
|
}
|
|
|
|
enum TransactionStatus {
|
|
PENDING
|
|
CLEARED
|
|
}
|
|
|
|
enum TransactionType {
|
|
DEPOSIT
|
|
WITHDRAWAL
|
|
TRANSFER
|
|
UNSPECIFIED
|
|
} |