Skip to content

Commit 3e87902

Browse files
committed
✨ [feat][backend] Add batch POST /events/entries endpoint
1 parent df33c13 commit 3e87902

2 files changed

Lines changed: 36 additions & 0 deletions

File tree

backend/kayman/routers/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
category,
77
currency,
88
event,
9+
event_entry,
910
transaction,
1011
tw_invoice,
1112
)
@@ -16,6 +17,7 @@
1617
currency.currency_router,
1718
category.category_router,
1819
event.event_router,
20+
event_entry.event_entry_router,
1921
transaction.txn_router,
2022
tw_invoice.invoice_router,
2123
]
@@ -26,6 +28,7 @@
2628
currency.tag,
2729
category.tag,
2830
event.tag,
31+
event_entry.tag,
2932
transaction.tag,
3033
tw_invoice.tag,
3134
]
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
from collections.abc import Sequence
2+
3+
from fastapi import APIRouter, Depends
4+
from sqlmodel import Session
5+
6+
from kayman.auth import get_client
7+
from kayman.core.db import get_session
8+
from kayman.crud.event_entry import create_event_entries
9+
from kayman.schemas.event_entry import EventEntryBase, EventEntryCreate, EventEntryRead
10+
11+
TAG_NAME = "Event Entry"
12+
tag = {
13+
"name": TAG_NAME,
14+
"description": "Create and edit event entry records",
15+
}
16+
17+
event_entry_router = APIRouter(
18+
prefix="/events/entries",
19+
tags=[TAG_NAME],
20+
dependencies=[Depends(get_client)],
21+
responses={404: {"description": "Not found"}},
22+
)
23+
24+
25+
@event_entry_router.post(
26+
"", name="Create Event Entries", response_model=list[EventEntryRead]
27+
)
28+
def create_entries(
29+
*,
30+
session: Session = Depends(get_session),
31+
entries: list[EventEntryCreate],
32+
) -> Sequence[EventEntryBase]:
33+
return create_event_entries(session, entries)

0 commit comments

Comments
 (0)