Skip to content

Commit 5cf26be

Browse files
committed
❇️ [refactor][backend] Rename Payment model to Event
1 parent ac7567f commit 5cf26be

14 files changed

Lines changed: 71 additions & 48 deletions

File tree

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
"""rename payment table to event
2+
3+
Revision ID: 7365aeb08d01
4+
Revises: 9ef5b1dd411f
5+
Create Date: 2026-06-23 22:59:21.548939
6+
7+
"""
8+
9+
from alembic import op
10+
11+
# revision identifiers, used by Alembic.
12+
revision = "7365aeb08d01"
13+
down_revision = "9ef5b1dd411f"
14+
branch_labels = None
15+
depends_on = None
16+
17+
18+
def upgrade():
19+
op.rename_table("payment", "event")
20+
21+
22+
def downgrade():
23+
op.rename_table("event", "payment")

backend/kayman/crud/payment.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,18 @@
33

44
from sqlmodel import Session, func, select
55

6-
from kayman.schemas.payment import (
7-
Payment,
8-
PaymentBase,
9-
PaymentCreate,
6+
from kayman.schemas.event import (
7+
Event,
8+
EventBase,
9+
EventCreate,
1010
PaymentEntry,
1111
)
1212

1313

1414
def create_payment(
15-
session: Session, payment: PaymentCreate, commit: bool = True
16-
) -> PaymentBase:
17-
db_payment = Payment.model_validate(payment)
15+
session: Session, payment: EventCreate, commit: bool = True
16+
) -> EventBase:
17+
db_payment = Event.model_validate(payment)
1818
session.add(db_payment)
1919
if commit:
2020
session.commit()
@@ -24,16 +24,16 @@ def create_payment(
2424
return db_payment
2525

2626

27-
def read_payment(session: Session, payment_id: int) -> Payment | None:
28-
return session.get(Payment, payment_id)
27+
def read_payment(session: Session, payment_id: int) -> Event | None:
28+
return session.get(Event, payment_id)
2929

3030

3131
def read_payments(
3232
session: Session, payment_date: date | None = None, category_id: int | None = None
33-
) -> Sequence[Payment]:
34-
scalar = select(Payment).distinct()
33+
) -> Sequence[Event]:
34+
scalar = select(Event).distinct()
3535
if payment_date:
36-
scalar = scalar.where(func.date(Payment.timestamp) == payment_date)
36+
scalar = scalar.where(func.date(Event.timestamp) == payment_date)
3737
if category_id:
3838
scalar = scalar.join(PaymentEntry).where(
3939
PaymentEntry.category_id == category_id

backend/kayman/crud/payment_entry.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from sqlmodel import Session
44

5-
from kayman.schemas.payment import PaymentEntry, PaymentEntryBase
5+
from kayman.schemas.event import PaymentEntry, PaymentEntryBase
66

77

88
def create_payment_entries(

backend/kayman/logics/payment.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from decimal import Decimal
22

33
from kayman.schemas.api_models import PaymentCreateDetailed
4-
from kayman.schemas.payment import PaymentType
4+
from kayman.schemas.event import PaymentType
55

66

77
def validate_total(details: PaymentCreateDetailed) -> None:

backend/kayman/routers/payment.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717
from kayman.logics.account import update_balances_with_transactions
1818
from kayman.logics.payment import validate_total
1919
from kayman.schemas.api_models import PaymentCreateDetailed, PaymentReadDetailed
20-
from kayman.schemas.payment import (
21-
Payment,
22-
PaymentBase,
20+
from kayman.schemas.event import (
21+
Event,
22+
EventBase,
23+
EventRead,
2324
PaymentEntryBase,
24-
PaymentRead,
2525
)
2626
from kayman.schemas.transaction import TransactionBase
2727

@@ -257,7 +257,7 @@ def create(
257257
*,
258258
session: Session = Depends(get_session),
259259
body: PaymentCreateDetailed = Body(openapi_examples=EXAMPLES["create"]),
260-
) -> PaymentBase:
260+
) -> EventBase:
261261
# Validate total
262262
try:
263263
validate_total(body)
@@ -266,7 +266,7 @@ def create(
266266

267267
# Store payment
268268
db_payment = create_payment(session, body.payment, commit=False)
269-
payment_id = PaymentRead.model_validate(db_payment).id
269+
payment_id = EventRead.model_validate(db_payment).id
270270

271271
# Store entries
272272
entries = []
@@ -313,7 +313,7 @@ def create(
313313
@payment_router.get(
314314
"/{payment_id}", name="Read Payment", response_model=PaymentReadDetailed
315315
)
316-
def read(*, session: Session = Depends(get_session), payment_id: int) -> PaymentBase:
316+
def read(*, session: Session = Depends(get_session), payment_id: int) -> EventBase:
317317
payment = read_payment(session, payment_id)
318318
if payment is None:
319319
raise HTTPException(status_code=404, detail="Payment not found")
@@ -326,12 +326,12 @@ def reads(
326326
session: Session = Depends(get_session),
327327
payment_date: date | None = None,
328328
category_id: int | None = None,
329-
) -> Sequence[PaymentBase]:
329+
) -> Sequence[EventBase]:
330330
return read_payments(session, payment_date, category_id)
331331

332332

333-
@payment_router.patch("", name="Update Payment", response_model=PaymentRead)
334-
def update(*, session: Session = Depends(get_session), payment: Payment) -> PaymentBase:
333+
@payment_router.patch("", name="Update Payment", response_model=EventRead)
334+
def update(*, session: Session = Depends(get_session), payment: Event) -> EventBase:
335335
session.merge(payment)
336336
session.commit()
337337
session.refresh(payment)
@@ -340,7 +340,7 @@ def update(*, session: Session = Depends(get_session), payment: Payment) -> Paym
340340

341341
@payment_router.delete("/{id}", name="Delete Payment")
342342
def delete(*, session: Session = Depends(get_session), id: int) -> None:
343-
payment = session.get(Payment, id)
343+
payment = session.get(Event, id)
344344
if payment is None:
345345
raise HTTPException(status_code=404, detail="Payment not found")
346346
session.delete(payment)

backend/kayman/schemas/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from kayman.schemas.category import Category
33
from kayman.schemas.clients import Client, Token
44
from kayman.schemas.currency import Currency
5-
from kayman.schemas.payment import Payment, PaymentEntry
5+
from kayman.schemas.event import Event, PaymentEntry
66
from kayman.schemas.transaction import Transaction
77
from kayman.schemas.tw_invoice import Invoice, InvoiceCarrier, InvoiceDetail
88

@@ -11,10 +11,10 @@
1111
"Category",
1212
"Client",
1313
"Currency",
14+
"Event",
1415
"Invoice",
1516
"InvoiceCarrier",
1617
"InvoiceDetail",
17-
"Payment",
1818
"PaymentEntry",
1919
"Token",
2020
"Transaction",

backend/kayman/schemas/api_models.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22

33
from sqlmodel import SQLModel
44

5-
from kayman.schemas.payment import (
6-
PaymentCreate,
5+
from kayman.schemas.event import (
6+
EventCreate,
7+
EventRead,
78
PaymentEntryCreate,
89
PaymentEntryRead,
9-
PaymentRead,
1010
)
1111
from kayman.schemas.transaction import TransactionCreate, TransactionRead
1212

1313

14-
class PaymentReadDetailed(PaymentRead):
14+
class PaymentReadDetailed(EventRead):
1515
"""Includes transactions and entries."""
1616

1717
transactions: list[TransactionRead]
@@ -21,6 +21,6 @@ class PaymentReadDetailed(PaymentRead):
2121
class PaymentCreateDetailed(SQLModel):
2222
"""Includes transactions and entries."""
2323

24-
payment: PaymentCreate
24+
payment: EventCreate
2525
transactions: list[TransactionCreate]
2626
entries: list[PaymentEntryCreate]

backend/kayman/schemas/category.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from sqlmodel import Field, Relationship, SQLModel
44

55
if TYPE_CHECKING:
6-
from kayman.schemas.payment import PaymentEntry
6+
from kayman.schemas.event import PaymentEntry
77

88

99
class CategoryBase(SQLModel):

backend/kayman/schemas/currency.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
if TYPE_CHECKING:
66
from kayman.schemas.account import Account
7-
from kayman.schemas.payment import PaymentEntry
7+
from kayman.schemas.event import PaymentEntry
88

99

1010
class Currency(SQLModel, table=True):
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class PaymentType(enum.Enum):
3131
#
3232

3333

34-
class PaymentBase(SQLModel):
34+
class EventBase(SQLModel):
3535
type: PaymentType = Field(
3636
sa_column=Column(sqlmodel.Enum(PaymentType), nullable=False)
3737
)
@@ -43,19 +43,19 @@ class PaymentBase(SQLModel):
4343
description: str | None = None
4444

4545

46-
class Payment(PaymentBase, table=True):
46+
class Event(EventBase, table=True):
4747
id: int | None = Field(primary_key=True, default=None)
4848
# Auto calculated for Expense or Income
4949
# Manually logged for Transfer or Exchange
5050
transactions: list["Transaction"] = Relationship(back_populates="payment")
5151
entries: list["PaymentEntry"] = Relationship(back_populates="payment")
5252

5353

54-
class PaymentCreate(PaymentBase):
54+
class EventCreate(EventBase):
5555
pass
5656

5757

58-
class PaymentRead(PaymentBase):
58+
class EventRead(EventBase):
5959
id: int
6060

6161

@@ -65,7 +65,7 @@ class PaymentRead(PaymentBase):
6565

6666

6767
class PaymentEntryBase(SQLModel):
68-
payment_id: int = Field(foreign_key="payment.id")
68+
payment_id: int = Field(foreign_key="event.id")
6969
category_id: int = Field(foreign_key="category.id")
7070
amount: Decimal
7171
quantity: int
@@ -81,7 +81,7 @@ class PaymentEntry(PaymentEntryBase, table=True):
8181
),
8282
)
8383
id: int | None = Field(primary_key=True, default=None)
84-
payment: Payment = Relationship(back_populates="entries")
84+
payment: Event = Relationship(back_populates="entries")
8585
category: "Category" = Relationship(back_populates="entries")
8686
currency: "Currency" = Relationship(back_populates="entries")
8787

0 commit comments

Comments
 (0)