From 427f1026ecee29ec2a0379fae565bbcfeef3e5ee Mon Sep 17 00:00:00 2001 From: Anass Bouassaba Date: Sat, 14 Dec 2024 22:25:54 +0100 Subject: [PATCH] refactor(console): format code --- console/api/database/group.py | 12 +----------- console/api/database/organization.py | 21 +-------------------- console/api/database/overview.py | 1 - console/api/database/user.py | 14 -------------- console/api/database/userpermission.py | 1 - console/api/database/workspace.py | 11 +---------- console/api/dependencies/database.py | 1 - console/api/dependencies/jwt.py | 5 ----- console/api/dependencies/meilisearch.py | 1 - console/api/dependencies/redis.py | 11 ++++++++++- console/api/dependencies/settings.py | 6 ------ console/api/models/generic.py | 1 - console/api/models/group.py | 2 -- console/api/models/grouppermission.py | 1 - console/api/models/groupuser.py | 1 - console/api/models/organization.py | 2 -- console/api/models/overview.py | 2 -- console/api/models/token.py | 4 ---- console/api/models/user.py | 2 -- console/api/models/userpermission.py | 2 -- console/api/models/workspace.py | 2 -- console/api/routers/group.py | 11 +---------- console/api/routers/organization.py | 15 ++------------- console/api/routers/overview.py | 8 -------- console/api/routers/user.py | 7 ------- console/api/routers/userpermission.py | 3 --- console/api/routers/workspace.py | 12 ++---------- 27 files changed, 18 insertions(+), 141 deletions(-) diff --git a/console/api/database/group.py b/console/api/database/group.py index 11d1ae269..5dc888af1 100644 --- a/console/api/database/group.py +++ b/console/api/database/group.py @@ -9,10 +9,8 @@ # AGPL-3.0-only in the root of this repository. from typing import Tuple, Iterable, Dict - from psycopg import DatabaseError - -from ..dependencies import conn, parse_sql_update_query +from ..dependencies import conn from ..errors import EmptyDataException, NotFoundException from .generic import exists @@ -22,7 +20,6 @@ def fetch_group(_id: str) -> Dict: with conn.cursor() as curs: if not exists(curs=curs, tablename="group", _id=_id): raise NotFoundException(message=f"Group with id={_id} does not exist!") - data = curs.execute( f""" SELECT g.id as "group_id", g."name" as "group_name", g.create_time, g.update_time, o.id as "org_id", @@ -32,7 +29,6 @@ def fetch_group(_id: str) -> Dict: WHERE g.id='{_id}' """ ).fetchone() - return ( { "createTime": data.get("create_time"), @@ -48,7 +44,6 @@ def fetch_group(_id: str) -> Dict: if data is not None else None ) - except DatabaseError as error: raise error @@ -57,7 +52,6 @@ def fetch_group_count() -> Dict: try: with conn.cursor() as curs: return curs.execute('SELECT count(id) FROM "group"').fetchone() - except DatabaseError as error: raise error @@ -77,12 +71,9 @@ def fetch_groups(page=1, size=10) -> Tuple[Iterable[Dict], int]: LIMIT {size} """ ).fetchall() - if data is None or data == {}: raise EmptyDataException - count = curs.execute('SELECT count(1) FROM "group"').fetchone() - return ( { "id": d.get("group_id"), @@ -98,6 +89,5 @@ def fetch_groups(page=1, size=10) -> Tuple[Iterable[Dict], int]: } for d in data ), count["count"] - except DatabaseError as error: raise error diff --git a/console/api/database/organization.py b/console/api/database/organization.py index ee915ec65..b27ceceaa 100644 --- a/console/api/database/organization.py +++ b/console/api/database/organization.py @@ -9,11 +9,9 @@ # AGPL-3.0-only in the root of this repository. from typing import Dict, Tuple, Iterable - from psycopg import DatabaseError - from . import exists -from ..dependencies import conn, parse_sql_update_query +from ..dependencies import conn from ..errors import EmptyDataException, NotFoundException @@ -24,7 +22,6 @@ def fetch_organization(organization_id: str) -> Dict: raise NotFoundException( message=f"Organization with id={organization_id} does not exist!" ) - return curs.execute( f""" SELECT id, name, create_time as "createTime", update_time as "updateTime" @@ -32,7 +29,6 @@ def fetch_organization(organization_id: str) -> Dict: WHERE id='{organization_id}' """ ).fetchone() - except DatabaseError as error: raise error @@ -49,14 +45,10 @@ def fetch_organizations(page=1, size=10) -> Tuple[Iterable[Dict], int]: LIMIT {size} """ ).fetchall() - if data is None or data == {}: raise EmptyDataException - count = curs.execute('SELECT count(1) FROM "organization"').fetchone() - return data, count["count"] - except DatabaseError as error: raise error @@ -65,7 +57,6 @@ def fetch_organization_count() -> Dict: try: with conn.cursor() as curs: return curs.execute('SELECT count(id) FROM "organization"').fetchone() - except DatabaseError as error: raise error @@ -87,10 +78,8 @@ def fetch_organization_users( LIMIT {size} """ ).fetchall() - if data is None or data == {}: raise EmptyDataException - count = curs.execute( f""" SELECT count(u.id) @@ -100,9 +89,7 @@ def fetch_organization_users( WHERE o.id = '{organization_id}' """ ).fetchone() - return data, count["count"] - except DatabaseError as error: raise error @@ -122,10 +109,8 @@ def fetch_organization_workspaces( LIMIT {size} """ ).fetchall() - if data is None or data == {}: raise EmptyDataException - count = curs.execute( f""" SELECT count(u.id) @@ -134,7 +119,6 @@ def fetch_organization_workspaces( WHERE w.organization_id = '{organization_id}' """ ).fetchone() - return data, count["count"] except DatabaseError as error: raise error @@ -155,10 +139,8 @@ def fetch_organization_groups( LIMIT {size} """ ).fetchall() - if data is None or data == {}: raise EmptyDataException - count = curs.execute( f""" SELECT count(id) @@ -166,7 +148,6 @@ def fetch_organization_groups( WHERE organization_id = '{organization_id}' """ ).fetchone() - return data, count["count"] except DatabaseError as error: raise error diff --git a/console/api/database/overview.py b/console/api/database/overview.py index c184ef1cd..0b20768ea 100644 --- a/console/api/database/overview.py +++ b/console/api/database/overview.py @@ -9,7 +9,6 @@ # AGPL-3.0-only in the root of this repository. from psycopg import DatabaseError - from ..dependencies import conn diff --git a/console/api/database/user.py b/console/api/database/user.py index 55a2f9829..d3fe3600d 100644 --- a/console/api/database/user.py +++ b/console/api/database/user.py @@ -9,9 +9,7 @@ # AGPL-3.0-only in the root of this repository. from typing import Tuple, Iterable, Dict - from psycopg import DatabaseError - from . import exists from ..dependencies import conn from ..errors import EmptyDataException, NotFoundException @@ -26,7 +24,6 @@ def fetch_user_organizations( raise NotFoundException( message=f"User with id={user_id} does not exist!" ) - data = curs.execute( f""" SELECT u.id, u."permission", u.create_time as "createTime", o.id as "organizationId", @@ -39,10 +36,8 @@ def fetch_user_organizations( LIMIT {size} """ ).fetchall() - if data is None or data == {}: raise EmptyDataException - count = curs.execute( f""" SELECT count(1) @@ -51,7 +46,6 @@ def fetch_user_organizations( WHERE u.user_id = '{user_id}' """ ).fetchone() - return data, count["count"] except DatabaseError as error: raise error @@ -61,7 +55,6 @@ def fetch_user_count() -> Dict: try: with conn.cursor() as curs: return curs.execute('SELECT count(id) FROM "user"').fetchone() - except DatabaseError as error: raise error @@ -73,7 +66,6 @@ def fetch_user_workspaces(user_id: str, page=1, size=10) -> Tuple[Iterable[Dict] raise NotFoundException( message=f"User with id={user_id} does not exist!" ) - data = curs.execute( f""" SELECT u.id, u.permission, u.create_time as "createTime", w.id as "workspaceId", @@ -86,10 +78,8 @@ def fetch_user_workspaces(user_id: str, page=1, size=10) -> Tuple[Iterable[Dict] LIMIT {size} """ ).fetchall() - if data is None or data == {}: raise EmptyDataException - count = curs.execute( f""" SELECT count(1) @@ -111,7 +101,6 @@ def fetch_user_groups(user_id: str, page=1, size=10) -> Tuple[Iterable[Dict], in raise NotFoundException( message=f"User with id={user_id} does not exist!" ) - data = curs.execute( f""" SELECT u.id, u.permission, u.create_time as "createTime", g.id as "groupId", g."name" as "groupName" @@ -122,10 +111,8 @@ def fetch_user_groups(user_id: str, page=1, size=10) -> Tuple[Iterable[Dict], in LIMIT {size} """ ).fetchall() - if data is None or data == {}: raise EmptyDataException - count = curs.execute( f""" SELECT count(1) @@ -134,7 +121,6 @@ def fetch_user_groups(user_id: str, page=1, size=10) -> Tuple[Iterable[Dict], in WHERE u.user_id = '{user_id}' """ ).fetchone() - return data, count["count"] except DatabaseError as error: raise error diff --git a/console/api/database/userpermission.py b/console/api/database/userpermission.py index 381714ac2..8795c5721 100644 --- a/console/api/database/userpermission.py +++ b/console/api/database/userpermission.py @@ -9,7 +9,6 @@ # AGPL-3.0-only in the root of this repository. from psycopg import DatabaseError - from api.dependencies import conn, new_id, new_timestamp diff --git a/console/api/database/workspace.py b/console/api/database/workspace.py index 730ba468a..e209eecda 100644 --- a/console/api/database/workspace.py +++ b/console/api/database/workspace.py @@ -9,11 +9,9 @@ # AGPL-3.0-only in the root of this repository. from typing import Dict, Tuple, Iterable - from psycopg import DatabaseError - from . import exists -from ..dependencies import conn, parse_sql_update_query +from ..dependencies import conn from ..errors import EmptyDataException, NotFoundException @@ -24,7 +22,6 @@ def fetch_workspace(_id: str) -> Dict: raise NotFoundException( message=f"Workspace with id={_id} does not exist!" ) - data = curs.execute( f""" SELECT w.id, w.name, w.organization_id, o.name as "organizationName", @@ -35,7 +32,6 @@ def fetch_workspace(_id: str) -> Dict: WHERE w.id = '{_id}' """ ).fetchone() - return { "id": data.get("id"), "createTime": data.get("create_time"), @@ -59,7 +55,6 @@ def fetch_workspace_count() -> Dict: try: with conn.cursor() as curs: return curs.execute('SELECT count(id) FROM "workspace"').fetchone() - except DatabaseError as error: raise error @@ -79,12 +74,9 @@ def fetch_workspaces(page=1, size=10) -> Tuple[Iterable[Dict], int]: LIMIT {size} """ ).fetchall() - if data is None or data == {}: raise EmptyDataException - count = curs.execute("SELECT count(1) FROM workspace").fetchone() - return ( { "id": d.get("id"), @@ -103,6 +95,5 @@ def fetch_workspaces(page=1, size=10) -> Tuple[Iterable[Dict], int]: } for d in data ), count["count"] - except DatabaseError as error: raise error diff --git a/console/api/dependencies/database.py b/console/api/dependencies/database.py index 4428dfecf..031e5cdb8 100644 --- a/console/api/dependencies/database.py +++ b/console/api/dependencies/database.py @@ -10,7 +10,6 @@ from psycopg import connect from psycopg.rows import dict_row - from . import settings conn = connect( diff --git a/console/api/dependencies/jwt.py b/console/api/dependencies/jwt.py index d0438bbda..c9be10042 100644 --- a/console/api/dependencies/jwt.py +++ b/console/api/dependencies/jwt.py @@ -11,7 +11,6 @@ import jwt from fastapi import Request from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials - from . import settings from ..errors import GenericForbiddenException @@ -28,7 +27,6 @@ async def __call__(self, request: Request): if credentials: if not credentials.scheme == "Bearer": raise GenericForbiddenException(detail="Invalid authentication scheme.") - try: decoded_token = jwt.decode( jwt=credentials.credentials, @@ -38,13 +36,10 @@ async def __call__(self, request: Request): issuer=settings.URL, verify=True, ) - except Exception as e: raise GenericForbiddenException(detail=str(e)) from e - if not decoded_token["is_admin"]: raise GenericForbiddenException(detail="User is not admin.") - return credentials.credentials else: raise GenericForbiddenException(detail="Invalid token.") diff --git a/console/api/dependencies/meilisearch.py b/console/api/dependencies/meilisearch.py index c17db50e5..b9e4b5f4f 100644 --- a/console/api/dependencies/meilisearch.py +++ b/console/api/dependencies/meilisearch.py @@ -9,7 +9,6 @@ # AGPL-3.0-only in the root of this repository. from meilisearch import Client - from . import settings meilisearch_client = Client(settings.SEARCH_URL) diff --git a/console/api/dependencies/redis.py b/console/api/dependencies/redis.py index 80356671e..5e9343e0b 100644 --- a/console/api/dependencies/redis.py +++ b/console/api/dependencies/redis.py @@ -1,5 +1,14 @@ -from redis.asyncio import Redis +# Copyright (c) 2024 Piotr Łoboda. +# +# Use of this software is governed by the Business Source License +# included in the file LICENSE in the root of this repository. +# +# As of the Change Date specified in that file, in accordance with +# the Business Source License, use of this software will be governed +# by the GNU Affero General Public License v3.0 only, included in the file +# AGPL-3.0-only in the root of this repository. +from redis.asyncio import Redis from . import settings redis_conn = Redis().from_url(url=settings.REDIS_URL) diff --git a/console/api/dependencies/settings.py b/console/api/dependencies/settings.py index 6ba771f8e..85d873675 100644 --- a/console/api/dependencies/settings.py +++ b/console/api/dependencies/settings.py @@ -9,7 +9,6 @@ # AGPL-3.0-only in the root of this repository. from typing import Optional - from pydantic_settings import BaseSettings @@ -19,14 +18,11 @@ class Settings(BaseSettings): POSTGRES_NAME: str POSTGRES_USER: str POSTGRES_PASSWORD: Optional[str] - HOST: str WORKERS: int PORT: int - SECURITY_JWT_SIGNING_KEY: str JWT_ALGORITHM: str - URL: str SECURITY_CORS_ORIGINS: str API_URL: str @@ -35,10 +31,8 @@ class Settings(BaseSettings): CONVERSION_URL: str LANGUAGE_URL: str MOSAIC_URL: str - SEARCH_URL: str REDIS_URL: str - LOG_LEVEL: str = "INFO" LOG_FORMAT: str = "PLAIN" diff --git a/console/api/models/generic.py b/console/api/models/generic.py index 7dd222af4..c5aee7f49 100644 --- a/console/api/models/generic.py +++ b/console/api/models/generic.py @@ -10,7 +10,6 @@ import datetime from typing import List, Any - from fastapi import status from pydantic import BaseModel, Field diff --git a/console/api/models/group.py b/console/api/models/group.py index 56b5536e6..3c4803438 100644 --- a/console/api/models/group.py +++ b/console/api/models/group.py @@ -10,9 +10,7 @@ import datetime from typing import List - from pydantic import Field - from ..models.organization import OrganizationResponse from .generic import ( GenericPaginationRequest, diff --git a/console/api/models/grouppermission.py b/console/api/models/grouppermission.py index 7b64cd134..8a8b89af4 100644 --- a/console/api/models/grouppermission.py +++ b/console/api/models/grouppermission.py @@ -10,7 +10,6 @@ import datetime from typing import List - from .generic import ( GenericPaginationRequest, GenericResponse, diff --git a/console/api/models/groupuser.py b/console/api/models/groupuser.py index b9d8c2725..4212f0fc0 100644 --- a/console/api/models/groupuser.py +++ b/console/api/models/groupuser.py @@ -10,7 +10,6 @@ import datetime from typing import List - from .generic import ( GenericPaginationRequest, GenericResponse, diff --git a/console/api/models/organization.py b/console/api/models/organization.py index 1edc1a551..cde1c1382 100644 --- a/console/api/models/organization.py +++ b/console/api/models/organization.py @@ -10,9 +10,7 @@ import datetime from typing import List - from pydantic import Field - from .generic import ( GenericPaginationRequest, GenericResponse, diff --git a/console/api/models/overview.py b/console/api/models/overview.py index 804152062..b25898365 100644 --- a/console/api/models/overview.py +++ b/console/api/models/overview.py @@ -9,9 +9,7 @@ # AGPL-3.0-only in the root of this repository. from typing import List - from pydantic import BaseModel, AnyHttpUrl - from . import GenericListResponse, GenericRequest diff --git a/console/api/models/token.py b/console/api/models/token.py index 25841630e..04b9d596b 100644 --- a/console/api/models/token.py +++ b/console/api/models/token.py @@ -15,9 +15,5 @@ class TokenPayload(GenericTokenPayload): pass -# class TokenRequest(GenericTokenRequest): -# Authorization: Header - - class TokenResponse(GenericTokenResponse): authorized: bool = False diff --git a/console/api/models/user.py b/console/api/models/user.py index b4bea87f8..b78bbfa38 100644 --- a/console/api/models/user.py +++ b/console/api/models/user.py @@ -10,9 +10,7 @@ import datetime from typing import List - from pydantic import EmailStr, Field - from .generic import ( GenericPaginationRequest, GenericResponse, diff --git a/console/api/models/userpermission.py b/console/api/models/userpermission.py index fd5f64e70..f17ef228b 100644 --- a/console/api/models/userpermission.py +++ b/console/api/models/userpermission.py @@ -10,9 +10,7 @@ import datetime from typing import List, Literal - from pydantic import BaseModel - from .generic import ( GenericPaginationRequest, GenericResponse, diff --git a/console/api/models/workspace.py b/console/api/models/workspace.py index be1f2e32d..7d715b24c 100644 --- a/console/api/models/workspace.py +++ b/console/api/models/workspace.py @@ -10,9 +10,7 @@ import datetime from typing import List - from pydantic import Field - from ..models.organization import OrganizationResponse from .generic import ( GenericPaginationRequest, diff --git a/console/api/routers/group.py b/console/api/routers/group.py index 01abd7c27..6ba7b94e7 100644 --- a/console/api/routers/group.py +++ b/console/api/routers/group.py @@ -9,9 +9,7 @@ # AGPL-3.0-only in the root of this repository. from typing import Annotated - -from fastapi import APIRouter, Depends, status, Response - +from fastapi import APIRouter, Depends, status from ..database import fetch_groups, fetch_group from ..database.group import fetch_group_count from ..dependencies import JWTBearer, meilisearch_client @@ -32,12 +30,9 @@ GroupSearchRequest, ) -from ..dependencies import redis_conn - group_api_router = APIRouter( prefix="/group", tags=["group"], dependencies=[Depends(JWTBearer())] ) - logger = base_logger.getChild("group") @@ -45,7 +40,6 @@ async def get_group(data: Annotated[GroupRequest, Depends()]): try: group = fetch_group(_id=data.id) - return GroupResponse(**group) except NotFoundException as e: logger.error(e) @@ -72,7 +66,6 @@ async def get_group_count(): async def get_all_groups(data: Annotated[GroupListRequest, Depends()]): try: groups, count = fetch_groups(page=data.page, size=data.size) - return GroupListResponse( data=groups, totalElements=count, @@ -96,7 +89,6 @@ async def get_search_groups(data: Annotated[GroupSearchRequest, Depends()]): groups = meilisearch_client.index("group").search( data.query, {"page": data.page, "hitsPerPage": data.size} ) - hits = [] for group in groups["hits"]: try: @@ -105,7 +97,6 @@ async def get_search_groups(data: Annotated[GroupSearchRequest, Depends()]): except NotFoundException: pass count = len(groups["hits"]) - return GroupListResponse( data=hits, totalElements=count, diff --git a/console/api/routers/organization.py b/console/api/routers/organization.py index db1e28a35..a9f9c3755 100644 --- a/console/api/routers/organization.py +++ b/console/api/routers/organization.py @@ -9,9 +9,7 @@ # AGPL-3.0-only in the root of this repository. from typing import Annotated - -from fastapi import APIRouter, Depends, status, Response - +from fastapi import APIRouter, Depends, status from ..database import ( fetch_organization, fetch_organizations, @@ -20,7 +18,7 @@ fetch_organization_groups, fetch_organization_count, ) -from ..dependencies import JWTBearer, meilisearch_client, redis_conn +from ..dependencies import JWTBearer, meilisearch_client from ..log import base_logger from ..errors import ( NotFoundError, @@ -47,8 +45,6 @@ organization_api_router = APIRouter( prefix="/organization", tags=["organization"], dependencies=[Depends(JWTBearer())] ) - - logger = base_logger.getChild("organization") @@ -58,7 +54,6 @@ async def get_organization(data: Annotated[OrganizationRequest, Depends()]): try: organization = fetch_organization(organization_id=data.id) - return OrganizationResponse(**organization) except NotFoundException as e: logger.error(e) @@ -85,7 +80,6 @@ async def get_organization_count(): async def get_all_organizations(data: Annotated[OrganizationListRequest, Depends()]): try: organizations, count = fetch_organizations(page=data.page, size=data.size) - return OrganizationListResponse( data=organizations, totalElements=count, @@ -111,7 +105,6 @@ async def get_search_organizations( organizations = meilisearch_client.index("organization").search( data.query, {"page": data.page, "hitsPerPage": data.size} ) - hits = [] for organization in organizations["hits"]: try: @@ -120,7 +113,6 @@ async def get_search_organizations( except NotFoundException: pass count = len(organizations["hits"]) - return OrganizationListResponse( data=hits, totalElements=count, @@ -147,7 +139,6 @@ async def get_organization_users( users, count = fetch_organization_users( organization_id=data.id, page=data.page, size=data.size ) - return OrganizationUserListResponse( data=users, totalElements=count, @@ -177,7 +168,6 @@ async def get_organization_workspaces( workspaces, count = fetch_organization_workspaces( organization_id=data.id, page=data.page, size=data.size ) - return OrganizationWorkspaceListResponse( data=workspaces, totalElements=count, @@ -207,7 +197,6 @@ async def get_organization_groups( groups, count = fetch_organization_groups( organization_id=data.id, page=data.page, size=data.size ) - return OrganizationWorkspaceListResponse( data=groups, totalElements=count, diff --git a/console/api/routers/overview.py b/console/api/routers/overview.py index 7e6231112..bee7bd7ec 100644 --- a/console/api/routers/overview.py +++ b/console/api/routers/overview.py @@ -9,10 +9,8 @@ # AGPL-3.0-only in the root of this repository. from typing import Annotated - from aiohttp import ClientSession from fastapi import APIRouter, status, Depends - from ..dependencies import settings, JWTBearer from ..log import base_logger from ..errors import UnknownApiError, NotFoundError @@ -21,7 +19,6 @@ overview_api_router = APIRouter( prefix="/overview", tags=["overview"], dependencies=[Depends(JWTBearer())] ) - logger = base_logger.getChild("overview") @@ -54,7 +51,6 @@ async def get_dockerhub_version( logger.exception(e) response["latestVersion"] = "UNKNOWN" response["location"] = f"https://hub.docker.com/layers/voltaserve/{id}" - return response @@ -68,7 +64,6 @@ async def get_local_version(sess: ClientSession, url: str, response: dict) -> di except Exception as e: logger.exception(e) response["currentVersion"] = "UNKNOWN" - return response @@ -87,7 +82,6 @@ async def get_internal_version(data: Annotated[VersionRequest, Depends()]): "console", ): return NotFoundError(message=f"Microservice {data.id} not found") - try: urls = settings.model_dump() response = {"name": data.id} @@ -102,14 +96,12 @@ async def get_internal_version(data: Annotated[VersionRequest, Depends()]): response = await get_local_version( sess, urls[f"{data.id.upper()}_URL"], response ) - response["updateAvailable"] = ( response["latestVersion"] > response["currentVersion"] if response["currentVersion"] != "" and response["latestVersion"] != "UNKNOWN" else None ) - return VersionResponse(**response) except Exception as e: logger.exception(e) diff --git a/console/api/routers/user.py b/console/api/routers/user.py index dcec52826..3ae069c79 100644 --- a/console/api/routers/user.py +++ b/console/api/routers/user.py @@ -9,9 +9,7 @@ # AGPL-3.0-only in the root of this repository. from typing import Annotated - from fastapi import APIRouter, Depends, status - from ..database import ( fetch_user_organizations, fetch_user_workspaces, @@ -40,8 +38,6 @@ users_api_router = APIRouter( prefix="/user", tags=["user"], dependencies=[Depends(JWTBearer())] ) - - logger = base_logger.getChild("user") @@ -56,7 +52,6 @@ async def get_user_organizations( organizations, count = fetch_user_organizations( user_id=data.id, page=data.page, size=data.size ) - return UserOrganizationListResponse( data=organizations, totalElements=count, @@ -84,7 +79,6 @@ async def get_user_workspaces(data: Annotated[UserWorkspaceListRequest, Depends( workspaces, count = fetch_user_workspaces( user_id=data.id, page=data.page, size=data.size ) - return UserWorkspaceListResponse( data=workspaces, totalElements=count, @@ -111,7 +105,6 @@ async def get_user_groups(data: Annotated[UserGroupListRequest, Depends()]): groups, count = fetch_user_groups( user_id=data.id, page=data.page, size=data.size ) - return UserGroupListResponse( data=groups, totalElements=count, diff --git a/console/api/routers/userpermission.py b/console/api/routers/userpermission.py index 88efffa35..02bbcf40e 100644 --- a/console/api/routers/userpermission.py +++ b/console/api/routers/userpermission.py @@ -8,10 +8,7 @@ # by the GNU Affero General Public License v3.0 only, included in the file # AGPL-3.0-only in the root of this repository. -from typing import Annotated - from fastapi import APIRouter, Depends, Response, status - from api.database import grant_user_permission, revoke_user_permission from api.dependencies import JWTBearer, redis_conn from api.models.userpermission import ( diff --git a/console/api/routers/workspace.py b/console/api/routers/workspace.py index 7811828f9..3dd7f2760 100644 --- a/console/api/routers/workspace.py +++ b/console/api/routers/workspace.py @@ -9,15 +9,13 @@ # AGPL-3.0-only in the root of this repository. from typing import Annotated - -from fastapi import APIRouter, Depends, status, Response - +from fastapi import APIRouter, Depends, status from ..database import ( fetch_workspace, fetch_workspaces, fetch_workspace_count, ) -from ..dependencies import JWTBearer, meilisearch_client, redis_conn +from ..dependencies import JWTBearer, meilisearch_client from ..log import base_logger from ..errors import ( NotFoundError, @@ -48,8 +46,6 @@ }, dependencies=[Depends(JWTBearer())], ) - - logger = base_logger.getChild("workspace") @@ -59,7 +55,6 @@ async def get_workspace(data: Annotated[WorkspaceRequest, Depends()]): try: workspace = fetch_workspace(_id=data.id) - return WorkspaceResponse(**workspace) except NotFoundException as e: logger.error(e) @@ -86,7 +81,6 @@ async def get_workspace_count(): async def get_all_workspaces(data: Annotated[WorkspaceListRequest, Depends()]): try: workspaces, count = fetch_workspaces(page=data.page, size=data.size) - return WorkspaceListResponse( data=workspaces, totalElements=count, @@ -110,7 +104,6 @@ async def get_search_workspaces(data: Annotated[WorkspaceSearchRequest, Depends( workspaces = meilisearch_client.index("workspace").search( data.query, {"page": data.page, "hitsPerPage": data.size} ) - hits = [] for workspace in workspaces["hits"]: try: @@ -119,7 +112,6 @@ async def get_search_workspaces(data: Annotated[WorkspaceSearchRequest, Depends( except NotFoundException: pass count = len(workspaces["hits"]) - return WorkspaceListResponse( data=hits, totalElements=count,