From dbf6b0f07adcb7b350f1d6c01fafcb4f8956f600 Mon Sep 17 00:00:00 2001 From: rifcrat Date: Mon, 27 Apr 2026 01:11:35 +0300 Subject: [PATCH 1/2] added group.get handler --- modal_backend/routes/groups.py | 9 +++++++++ modal_backend/utils/services.py | 6 +++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/modal_backend/routes/groups.py b/modal_backend/routes/groups.py index 916a07d..3d19e96 100644 --- a/modal_backend/routes/groups.py +++ b/modal_backend/routes/groups.py @@ -22,3 +22,12 @@ async def create_group(group: GroupPost, user=Depends(UnionAuth(scopes=["modal.g """ new_group = await GroupService.create_group(db, **group.model_dump()) return GroupGet.model_validate(new_group) + + +@group.get("", response_model=list[GroupGet]) +async def get_groups(user=Depends(UnionAuth())) -> list[GroupGet]: + """ + Получает список всех групп + """ + groups = await GroupService.get_groups(db) + return [GroupGet.model_validate(group) for group in groups] diff --git a/modal_backend/utils/services.py b/modal_backend/utils/services.py index f14e592..943f35a 100644 --- a/modal_backend/utils/services.py +++ b/modal_backend/utils/services.py @@ -67,7 +67,7 @@ async def create_service(cls, db: Session, service_id: int, name: str): class GroupService: - """ " + """ Сервис для работы с логикой Group и базой данных """ @@ -78,3 +78,7 @@ async def create_group(cls, db: Session, group_id: int, name: str): raise AlreadyExists(Group, group_id) new_group = Group.create(session=db.session, group_id=group_id, name=name) return new_group + + @classmethod + async def get_groups(cls, db: Session): + return Group.query(session=db.session).all() From 612150befad1999efc59d1499a25f433c5ce541d Mon Sep 17 00:00:00 2001 From: rifcrat Date: Mon, 27 Apr 2026 14:23:55 +0300 Subject: [PATCH 2/2] fix --- modal_backend/routes/groups.py | 3 ++- modal_backend/routes/services.py | 3 ++- modal_backend/utils/services.py | 8 -------- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/modal_backend/routes/groups.py b/modal_backend/routes/groups.py index 3d19e96..ab823a9 100644 --- a/modal_backend/routes/groups.py +++ b/modal_backend/routes/groups.py @@ -2,6 +2,7 @@ from fastapi import APIRouter, Depends from fastapi_sqlalchemy import db +from modal_backend.models.db import Group from modal_backend.schemas.models import GroupGet, GroupPost from modal_backend.settings import Settings, get_settings from modal_backend.utils.services import GroupService @@ -29,5 +30,5 @@ async def get_groups(user=Depends(UnionAuth())) -> list[GroupGet]: """ Получает список всех групп """ - groups = await GroupService.get_groups(db) + groups = Group.query(session=db.session).all() return [GroupGet.model_validate(group) for group in groups] diff --git a/modal_backend/routes/services.py b/modal_backend/routes/services.py index aaa21c4..a1fb49e 100644 --- a/modal_backend/routes/services.py +++ b/modal_backend/routes/services.py @@ -2,6 +2,7 @@ from fastapi import APIRouter, Depends from fastapi_sqlalchemy import db +from modal_backend.models.db import Service from modal_backend.schemas.models import ServiceGet, ServicePost from modal_backend.settings import Settings, get_settings from modal_backend.utils.services import ServiceManager @@ -18,7 +19,7 @@ async def get_services( """ Получить список всех сервисов. """ - services = await ServiceManager.get_services(db) + services = Service.query(session=db.session).all() return [ServiceGet.model_validate(service) for service in services] diff --git a/modal_backend/utils/services.py b/modal_backend/utils/services.py index 943f35a..d01d90d 100644 --- a/modal_backend/utils/services.py +++ b/modal_backend/utils/services.py @@ -53,10 +53,6 @@ class ServiceManager: Сервис для работы с логикой Service и базой данных """ - @classmethod - async def get_services(cls, db: Session): - return Service.query(session=db.session).all() - @classmethod async def create_service(cls, db: Session, service_id: int, name: str): service = Service.query(session=db.session).filter(Service.service_id == service_id).first() @@ -78,7 +74,3 @@ async def create_group(cls, db: Session, group_id: int, name: str): raise AlreadyExists(Group, group_id) new_group = Group.create(session=db.session, group_id=group_id, name=name) return new_group - - @classmethod - async def get_groups(cls, db: Session): - return Group.query(session=db.session).all()