-
Notifications
You must be signed in to change notification settings - Fork 1
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
Make patch route #10 #60
base: main
Are you sure you want to change the base?
Conversation
- Add test to patch user comments routes - Add fixture for this tests - Add enable set anonym to patch comment
💩 Code linting failed, use |
Coverage Report
Summary
|
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.
Сделай тогда новую модельку и поправь тесты и код
- Fix up tests - Make allow unnecessary attibutes to patch - Add new scheme to CommentUpdate
- Validation if given attribute is still not changed - Validation if no attributes given - Add tests
💩 Code linting failed, use |
@@ -133,7 +133,7 @@ async def get_comments( | |||
return result | |||
|
|||
|
|||
@comment.patch("/{uuid}", response_model=CommentGet) | |||
@comment.patch("/{uuid}/review", response_model=CommentGet) |
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.
warning!
надо поддерджать это на Фронте, перед выкаткой напишите Илье Батуеву
raise HTTPException(status_code=409, detail="Provide any parametr") # 409 | ||
|
||
# Если хоть одно поле было передано неизменным | ||
if set(comment.__dict__.items()).intersection(set(comment_update.model_dump(exclude_unset=True).items())): |
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.
можно и так, но я бы запрос в базу сделал просто через filter
если вернется объект, где все поля идентичны заданному, то тогда возвращать 409
|
||
# Если хоть одно поле было передано неизменным | ||
if set(comment.__dict__.items()).intersection(set(comment_update.model_dump(exclude_unset=True).items())): | ||
raise HTTPException(status_code=426, detail="No changes detected") # 426 |
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.
426 не подходит, она про другое
Изменения #10
ВАЖНО: изменена ручка для patch/review комментария админами
Чтобы изменить комментарий ему нужно отправить все поля для схемы CommentPost, их можно предварительно получить из GET, и в комментарии перепишутся поля. Также можно сделать комментарий анонимным через PATCH.
Детали реализации
Check-List
black
иisort
для Back-End илиPrettier
для Front-End?