From 7e3fab84c51d7ff0db1357bcf7882e7d9e8e4697 Mon Sep 17 00:00:00 2001 From: Morozov Artem <126605382+Temmmmmo@users.noreply.github.com> Date: Wed, 12 Mar 2025 01:36:55 +0300 Subject: [PATCH 01/10] Update comment.py --- rating_api/routes/comment.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/rating_api/routes/comment.py b/rating_api/routes/comment.py index 1c6d237..6210bc3 100644 --- a/rating_api/routes/comment.py +++ b/rating_api/routes/comment.py @@ -79,7 +79,6 @@ async def create_comment(lecturer_id: int, comment_info: CommentPost, user=Depen user_id = None if comment_info.is_anonymous else user.get('id') new_comment = Comment.create( - session=db.session, **comment_info.model_dump(exclude={"is_anonymous"}), lecturer_id=lecturer_id, user_id=user_id, @@ -93,7 +92,7 @@ async def create_comment(lecturer_id: int, comment_info: CommentPost, user=Depen settings.API_URL + f"achievement/user/{user.get('id'):}", headers={"Accept": "application/json"}, ) as response: - if response.status == 200: + if response.status == 300: user_achievements = await response.json() for achievement in user_achievements.get("achievement", []): if achievement.get("id") == settings.FIRST_COMMENT_ACHIEVEMENT_ID: From 92836a3d050ec8d7b9fec4cff8f1b6c6789db1a4 Mon Sep 17 00:00:00 2001 From: Morozov Artem <126605382+Temmmmmo@users.noreply.github.com> Date: Sat, 15 Mar 2025 16:07:13 +0300 Subject: [PATCH 02/10] Update base.py --- rating_api/models/base.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/rating_api/models/base.py b/rating_api/models/base.py index 8ffc3b1..630a11f 100644 --- a/rating_api/models/base.py +++ b/rating_api/models/base.py @@ -55,14 +55,12 @@ def get(cls, id: int | str, *, with_deleted=False, session: Session) -> BaseDbMo if hasattr(cls, "uuid"): return objs.filter(cls.uuid == id).one() return objs.filter(cls.id == id).one() - except NoResultFound: - raise ObjectNotFound(cls, id) @classmethod def update(cls, id: int | str, *, session: Session, **kwargs) -> BaseDbModel: obj = cls.get(id, session=session) for k, v in kwargs.items(): - setattr(obj, k, v) + setattr(obj, k) session.flush() return obj @@ -72,6 +70,5 @@ def delete(cls, id: int | str, *, session: Session) -> None: obj = cls.get(id, session=session) if hasattr(obj, "is_deleted"): obj.is_deleted = True - else: - session.delete(obj) + print(cls.id, cls.session, session) session.flush() From 2831d7a4a21351b7360e85fc049f6c4197e534c2 Mon Sep 17 00:00:00 2001 From: Morozov Artem <126605382+Temmmmmo@users.noreply.github.com> Date: Sat, 15 Mar 2025 16:32:14 +0300 Subject: [PATCH 03/10] Update exc_handlers.py --- rating_api/routes/exc_handlers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rating_api/routes/exc_handlers.py b/rating_api/routes/exc_handlers.py index 8f97227..a727d17 100644 --- a/rating_api/routes/exc_handlers.py +++ b/rating_api/routes/exc_handlers.py @@ -17,7 +17,7 @@ from .base import app -@app.exception_handler(ObjectNotFound) +@app.exception_handler(AlreadyExists) async def not_found_handler(req: starlette.requests.Request, exc: ObjectNotFound): return JSONResponse( content=StatusResponseModel(status="Error", message=exc.eng, ru=exc.ru).model_dump(), status_code=404 From 35b3ee3772c78045fa05bde850cfb66682bab403 Mon Sep 17 00:00:00 2001 From: Morozov Artem <126605382+Temmmmmo@users.noreply.github.com> Date: Sat, 15 Mar 2025 16:36:03 +0300 Subject: [PATCH 04/10] Update Makefile --- Makefile | 2 -- 1 file changed, 2 deletions(-) diff --git a/Makefile b/Makefile index 8a826f9..ed1a5ae 100644 --- a/Makefile +++ b/Makefile @@ -12,8 +12,6 @@ format: isort ./rating_api black ./rating_api autoflake -r --in-place --remove-all-unused-imports ./migrations - isort ./migrations - black ./migrations db: docker run -d -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust --name db-rating_api postgres:15 From a2b7ac0c94482e75eaec3b7f3f9c89070618d4f7 Mon Sep 17 00:00:00 2001 From: Morozov Artem <126605382+Temmmmmo@users.noreply.github.com> Date: Sat, 15 Mar 2025 16:43:26 +0300 Subject: [PATCH 05/10] Update models.py --- rating_api/schemas/models.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/rating_api/schemas/models.py b/rating_api/schemas/models.py index c591fdf..376a979 100644 --- a/rating_api/schemas/models.py +++ b/rating_api/schemas/models.py @@ -18,8 +18,6 @@ class CommentGet(Base): mark_kindness: int mark_freebie: int mark_clarity: int - mark_general: float - lecturer_id: int class CommentGetWithStatus(Base): From d7fb2394e3bddf1ed2b8dcf9a8e5e4b23eb0dedc Mon Sep 17 00:00:00 2001 From: Morozov Artem <126605382+Temmmmmo@users.noreply.github.com> Date: Sat, 15 Mar 2025 16:48:36 +0300 Subject: [PATCH 06/10] Update comment.py --- rating_api/routes/comment.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rating_api/routes/comment.py b/rating_api/routes/comment.py index 6210bc3..3f0127b 100644 --- a/rating_api/routes/comment.py +++ b/rating_api/routes/comment.py @@ -62,8 +62,8 @@ async def create_comment(lecturer_id: int, comment_info: CommentPost, user=Depen if len(comment_info.text) > settings.MAX_COMMENT_LENGTH: raise CommentTooLong(settings.MAX_COMMENT_LENGTH) - if re.search(r"^[a-zA-Zа-яА-Я\d!?,_\-.\"\'\[\]{}`~<>^@#№$%;:&*()+=\\\/ \n]*$", comment_info.text) is None: - raise ForbiddenSymbol() + # if re.search(r"^[a-zA-Zа-яА-Я\d!?,_\-.\"\'\[\]{}`~<>^@#№$%;:&*()+=\\\/ \n]*$", comment_info.text) is None: + # raise ForbiddenSymbol() # Сначала добавляем с user_id, который мы получили при авторизации, # в LecturerUserComment, чтобы нельзя было слишком быстро добавлять комментарии From e4ae7dc8279e3146fa9d9c3369c8b207270830e6 Mon Sep 17 00:00:00 2001 From: Morozov Artem <126605382+Temmmmmo@users.noreply.github.com> Date: Sat, 15 Mar 2025 16:59:42 +0300 Subject: [PATCH 07/10] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 7cacc75..6ef797c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,7 @@ ENV APP_MODULE=${APP_NAME}.routes.base:app COPY ./requirements.txt /app/ RUN pip install -U -r /app/requirements.txt - +RUN echo "hello" COPY ./alembic.ini /alembic.ini COPY ./logging_prod.conf /app/ COPY ./logging_test.conf /app/ From efc37ff65bf6664c17dbd4365313f070687da89d Mon Sep 17 00:00:00 2001 From: Morozov Artem <126605382+Temmmmmo@users.noreply.github.com> Date: Sat, 15 Mar 2025 17:58:59 +0300 Subject: [PATCH 08/10] Update exceptions.py --- rating_api/exceptions.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/rating_api/exceptions.py b/rating_api/exceptions.py index 2ac6ca7..0896a10 100644 --- a/rating_api/exceptions.py +++ b/rating_api/exceptions.py @@ -13,11 +13,7 @@ def __init__(self, eng: str, ru: str) -> None: class ObjectNotFound(RatingAPIError): def __init__(self, obj: type, obj_id_or_name: int | str): - super().__init__( - f"Object {obj.__name__} {obj_id_or_name=} not found", - f"Объект {obj.__name__} с идентификатором {obj_id_or_name} не найден", - ) - + pass class AlreadyExists(RatingAPIError): def __init__(self, obj: type, obj_id_or_name: int | str): From f563f423b8f9852e8ac4a1d5c5fdd0df15a83ab2 Mon Sep 17 00:00:00 2001 From: Morozov Artem <126605382+Temmmmmo@users.noreply.github.com> Date: Sat, 15 Mar 2025 18:17:53 +0300 Subject: [PATCH 09/10] Update Makefile --- Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/Makefile b/Makefile index ed1a5ae..cfa8415 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,6 @@ format: autoflake -r --in-place --remove-all-unused-imports ./rating_api isort ./rating_api black ./rating_api - autoflake -r --in-place --remove-all-unused-imports ./migrations db: docker run -d -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust --name db-rating_api postgres:15 From 8932dc30bf4b6eaf9f82b29cf0a3ef9aa311bc7a Mon Sep 17 00:00:00 2001 From: Morozov Artem <126605382+Temmmmmo@users.noreply.github.com> Date: Sat, 15 Mar 2025 18:18:36 +0300 Subject: [PATCH 10/10] Update Makefile --- Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/Makefile b/Makefile index cfa8415..65f423e 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,6 @@ venv: format: autoflake -r --in-place --remove-all-unused-imports ./rating_api isort ./rating_api - black ./rating_api db: docker run -d -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust --name db-rating_api postgres:15