diff --git a/freak/accounts.py b/freak/accounts.py index 8951426..a6f5ab0 100644 --- a/freak/accounts.py +++ b/freak/accounts.py @@ -81,3 +81,4 @@ class UserLoader(AuthUser): id: int username: str display_name: str + theme_color: int diff --git a/freak/rest/__init__.py b/freak/rest/__init__.py index 233f4b6..015d78f 100644 --- a/freak/rest/__init__.py +++ b/freak/rest/__init__.py @@ -47,7 +47,8 @@ async def health(): name = app_config.app_name, post_count = await Post.count(), user_count = await User.active_count(), - me = Snowflake(current_user.id).to_b32l() if current_user else None + me = Snowflake(current_user.id).to_b32l() if current_user else None, + theme_color = current_user.theme_color if current_user else 0 ) return hi @@ -160,6 +161,17 @@ async def _guild_info(gu: Guild): badges = [] ) +@bp.get('/guild/') +async def guild_info_id(gid: int): + async with db as session: + gu: Guild | None = (await session.execute(select(Guild).where(Guild.id == gid))).scalar() + + if gu is None: + return dict(error='Not found'), 404 + gj = await _guild_info(gu) + + return dict(guilds={f'{Snowflake(gu.id):l}': gj}) + @bp.get('/guild/@') async def guild_info_only(gname: str): async with db as session: