Adds per-user wallet configuration
Allows users to configure their own wallet ID, enabling the system to track expenses and receivables on a per-user basis. Introduces new database table, models, API endpoints, and UI elements to manage user-specific wallet settings.
This commit is contained in:
parent
31344607c6
commit
bb1dbcccd8
7 changed files with 236 additions and 6 deletions
24
services.py
24
services.py
|
|
@ -1,9 +1,12 @@
|
|||
from .crud import (
|
||||
create_castle_settings,
|
||||
create_user_wallet_settings,
|
||||
get_castle_settings,
|
||||
get_user_wallet_settings,
|
||||
update_castle_settings,
|
||||
update_user_wallet_settings,
|
||||
)
|
||||
from .models import CastleSettings
|
||||
from .models import CastleSettings, UserWalletSettings
|
||||
|
||||
|
||||
async def get_settings(user_id: str) -> CastleSettings:
|
||||
|
|
@ -21,3 +24,22 @@ async def update_settings(user_id: str, data: CastleSettings) -> CastleSettings:
|
|||
settings = await update_castle_settings(user_id, data)
|
||||
|
||||
return settings
|
||||
|
||||
|
||||
async def get_user_wallet(user_id: str) -> UserWalletSettings:
|
||||
settings = await get_user_wallet_settings(user_id)
|
||||
if not settings:
|
||||
settings = await create_user_wallet_settings(user_id, UserWalletSettings())
|
||||
return settings
|
||||
|
||||
|
||||
async def update_user_wallet(
|
||||
user_id: str, data: UserWalletSettings
|
||||
) -> UserWalletSettings:
|
||||
settings = await get_user_wallet_settings(user_id)
|
||||
if not settings:
|
||||
settings = await create_user_wallet_settings(user_id, data)
|
||||
else:
|
||||
settings = await update_user_wallet_settings(user_id, data)
|
||||
|
||||
return settings
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue