async def METHOD_NAME(
    app: web.Application,
    user_id: UserID,
) -> list[UserWalletDB]:
    stmt = (
        select(*_SELECTION_ARGS)
        .select_from(_JOIN_TABLES)
        .where(
            (user_to_groups.c.uid == user_id)
            & (user_to_groups.c.access_rights["read"].astext == "true")
        )
        .group_by(
            wallets.c.wallet_id,
            wallets.c.name,
            wallets.c.description,
            wallets.c.owner,
            wallets.c.thumbnail,
            wallets.c.status,
            wallets.c.created,
            wallets.c.modified,
        )
    )
    async with get_database_engine(app).acquire() as conn:
        result = await conn.execute(stmt)
        rows = await result.fetchall() or []
        output: list[UserWalletDB] = [parse_obj_as(UserWalletDB, row) for row in rows]
        return output