-
Notifications
You must be signed in to change notification settings - Fork 2
Temmmmmo patch 2 #110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Temmmmmo patch 2 #110
Conversation
💩 Code linting failed, use |
💩 Code linting failed, use |
💩 Code linting failed, use |
💩 Code linting failed, use |
@@ -13,11 +13,7 @@ def __init__(self, eng: str, ru: str) -> None: | |||
|
|||
class ObjectNotFound(RatingAPIError): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[КРИТИЧНО] Конструктор класса не инициализирует базовый класс
@@ -72,6 +70,5 @@ def delete(cls, id: int | str, *, session: Session) -> None: | |||
obj = cls.get(id, session=session) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[КРИТИЧНО] Логическая ошибка в обновлении атрибутов объекта**
@@ -55,14 +55,12 @@ def get(cls, id: int | str, *, with_deleted=False, session: Session) -> BaseDbMo | |||
if hasattr(cls, "uuid"): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[КРИТИЧНО] Логическая ошибка в методе удаления объекта**
@@ -55,14 +55,12 @@ def get(cls, id: int | str, *, with_deleted=False, session: Session) -> BaseDbMo | |||
if hasattr(cls, "uuid"): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[СТИЛЬ] Избыточный вывод информации**
raise ForbiddenSymbol() | ||
# if re.search(r"^[a-zA-Zа-яА-Я\d!?,_\-.\"\'\[\]{}`~<>^@#№$%;:&*()+=\\\/ \n]*$", comment_info.text) is None: | ||
# raise ForbiddenSymbol() | ||
|
||
# Сначала добавляем с user_id, который мы получили при авторизации, | ||
# в LecturerUserComment, чтобы нельзя было слишком быстро добавлять комментарии |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[КРИТИЧНО] Закомментированный код проверки на запрещенные символы
@@ -102,7 +102,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( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[УЛУЧШЕНИЕ] Удаление параметра session из вызова метода create
@@ -116,7 +115,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: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[КРИТИЧНО] Изменение статуса ответа с 200 на 300
@@ -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): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[КРИТИЧНО] Несоответствие типа исключения и обработчика
@@ -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): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[УЛУЧШЕНИЕ] Использование неправильного статуса ответа
@@ -18,8 +18,6 @@ class CommentGet(Base): | |||
mark_kindness: int | |||
mark_freebie: int | |||
mark_clarity: int |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[СТИЛЬ] Отсутствует документация класса
@@ -13,11 +13,7 @@ def __init__(self, eng: str, ru: str) -> None: | |||
|
|||
class ObjectNotFound(RatingAPIError): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[КРИТИЧНО] Удалено сообщение об ошибке
@@ -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() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[КРИТИЧНО] Неправильное использование метода setattr
@@ -55,14 +55,12 @@ def get(cls, id: int | str, *, with_deleted=False, session: Session) -> BaseDbMo | |||
if hasattr(cls, "uuid"): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[КРИТИЧНО] Удаление объекта из сессии не выполняется
@@ -55,14 +55,12 @@ def get(cls, id: int | str, *, with_deleted=False, session: Session) -> BaseDbMo | |||
if hasattr(cls, "uuid"): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[СТИЛЬ] Лишний вывод в консоль
@@ -84,9 +84,9 @@ async def create_comment(lecturer_id: int, comment_info: CommentPost, user=Depen | |||
|
|||
if len(comment_info.text) > settings.MAX_COMMENT_LENGTH: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[КРИТИЧНО] Проверка на запрещенные символы закомментирована
@@ -84,9 +84,9 @@ async def create_comment(lecturer_id: int, comment_info: CommentPost, user=Depen | |||
|
|||
if len(comment_info.text) > settings.MAX_COMMENT_LENGTH: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[ВАЖНО] Удаление параметра session при создании комментария
@@ -116,7 +115,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: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[КРИТИЧНО] Неправильная проверка статуса ответа
@@ -17,7 +17,7 @@ | |||
from .base import app | |||
|
|||
|
|||
@app.exception_handler(ObjectNotFound) | |||
@app.exception_handler(AlreadyExists) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[КРИТИЧНО] Несоответствие типа исключения
@@ -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): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[СТИЛЬ] Неправильный статус кода
@@ -18,8 +18,6 @@ class CommentGet(Base): | |||
mark_kindness: int |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[УЛУЧШЕНИЕ] Удаление полей без комментария
Изменения
Детали реализации
Check-List
black
иisort
для Back-End илиPrettier
для Front-End?