-
Notifications
You must be signed in to change notification settings - Fork 0
/
family.py
28 lines (19 loc) · 1019 Bytes
/
family.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from aiohttp.web_exceptions import HTTPNotFound
from family_api.repositories import family_member_repository, baby_repository, family_repository
from family_api.repositories.family_repository import insert_family, get_by_id
async def register_family(family_obj, conn):
family_id = await insert_family(family_obj, conn)
stored_family = await get_by_id(family_id, conn)
return stored_family
async def get_family_info(family_id: int, conn):
family = await get_by_id(family_id, conn)
if not family:
raise HTTPNotFound()
family = dict(family)
family['members'] = await family_member_repository.find_by_family_id(family_id, conn)
family['babies'] = await baby_repository.find_by_family_id(family_id, conn)
return family
async def update_family(family_id: int, family_data, conn):
return await family_repository.update_family(family_id, family_data, conn)
async def delete_family(family_id: int, conn):
return await family_repository.delete_family(family_id, conn)