feat: CRUD ProcessSchema #16

Merged
ivan.dev merged 8 commits from VORKOUT-17 into master 2025-08-05 21:37:07 +05:00
Member
No description provided.
ivan.dev added 1 commit 2025-07-27 22:18:25 +05:00
ivan.dev requested review from cyrussmeat 2025-07-27 22:18:32 +05:00
ivan.dev requested review from vlad.dev 2025-07-27 22:18:32 +05:00
vlad.dev requested changes 2025-07-29 13:39:30 +05:00
Dismissed
@@ -0,0 +13,4 @@
from api.schemas.endpoints.process_schema import all_process_schema_adapter, AllProcessSchemaResponse
async def get_processschema_page_by_creator_id(
Member

Может, переименуем processschema в process_schema, а то как-то 3 s странновато выглядят?

Может, переименуем `processschema` в `process_schema`, а то как-то 3 s странновато выглядят?
ivan.dev marked this conversation as resolved
@@ -0,0 +64,4 @@
async def get_processschema_page(connection: AsyncConnection, page, limit) -> Optional[AllProcessSchemaResponse]:
"""
Получает список событий заданного создателя по значениям page и limit.
Member

Тут, наверное, тогда не "заданного", если я правильно понял

Тут, наверное, тогда не "заданного", если я правильно понял
ivan.dev marked this conversation as resolved
@@ -0,0 +119,4 @@
if not processschema_db:
return None
processschema_data = {
Member

Тут можно упростить, написал ниже

Тут можно упростить, написал ниже
ivan.dev marked this conversation as resolved
@@ -0,0 +142,4 @@
if not processschema_db:
return None
processschema_data = {
Member

Давай тут перейдем к схеме попроще

processschema_data = processschema_db_cursor.mappings().one_or_none()
if not processschema_data:
    return None
Давай тут перейдем к схеме попроще ```python processschema_data = processschema_db_cursor.mappings().one_or_none() if not processschema_data: return None ```
ivan.dev marked this conversation as resolved
@@ -57,3 +57,1 @@
list_eventslist = await get_listevents_page(connection, page, limit)
print(list_eventslist)
if list_eventslist is None:
list_eventspage = await get_listevents_page(connection, page, limit)
Member

list_events_page?

`list_events_page`?
ivan.dev marked this conversation as resolved
@@ -155,3 +154,4 @@
authorize_user = await db_user_role_validation_for_listevents_and_processschema_by_listevent_id(
connection, current_user, listevents_validation.creator_id
)
Member

Давай получение полей для обновления тоже упростим
Посмотри еще где можно, вроде пару мест точно видел)

updated_values = listevents_update.model_dump(by_alias=True, exclude_none=True)

by_alias сделал потому, что при имени schema была ошибка совпадения имен (schema_)

В текущей вариации обновления полей не работает как раз таки со схемой

Давай получение полей для обновления тоже упростим Посмотри еще где можно, вроде пару мест точно видел) ```python updated_values = listevents_update.model_dump(by_alias=True, exclude_none=True) ``` by_alias сделал потому, что при имени schema была ошибка совпадения имен (schema_) В текущей вариации обновления полей не работает как раз таки со схемой
ivan.dev marked this conversation as resolved
ivan.dev added 1 commit 2025-07-29 22:57:34 +05:00
vlad.dev requested changes 2025-07-30 13:36:19 +05:00
Dismissed
@@ -0,0 +38,4 @@
api_router = APIRouter(
prefix="/processschema",
Member

Может все-таки везде будем делить process-schema на 2 слова? Просто уж очень странно это выглядит один

Может все-таки везде будем делить `process-schema` на 2 слова? Просто уж очень странно это выглядит один
Owner

Может все-таки везде будем делить process-schema на 2 слова? Просто уж очень странно это выглядит один

Цепочками с дефисом или нижним подчёркиванием удобнее читать и меньше шансов словить ошибку восприятия, ага

> Может все-таки везде будем делить `process-schema` на 2 слова? Просто уж очень странно это выглядит один Цепочками с дефисом или нижним подчёркиванием удобнее читать и меньше шансов словить ошибку восприятия, ага
ivan.dev marked this conversation as resolved
Member

Ну, кроме наименований с моей стороны все ок, осталось только дождаться мнения @cyrussmeat
И перед мержем не забудь отформатировать код

Ну, кроме наименований с моей стороны все ок, осталось только дождаться мнения @cyrussmeat И перед мержем не забудь отформатировать код
ivan.dev added 1 commit 2025-07-30 14:05:01 +05:00
vlad.dev approved these changes 2025-07-30 14:12:52 +05:00
Dismissed
cyrussmeat reviewed 2025-07-30 15:13:37 +05:00
@@ -0,0 +61,4 @@
)
async def get_process_schema_page(connection: AsyncConnection, page, limit) -> Optional[AllProcessSchemaResponse]:
Owner

А если какая-то дополнительная фильтрация будет над этим списком - отдельным методом будет реализовываться?

Это я к тому, что я бы через DTO расширяемый объект фильтрации тут проводил, у которого по базе limit[offset,count], search и order, к примеру

А если какая-то дополнительная фильтрация будет над этим списком - отдельным методом будет реализовываться? Это я к тому, что я бы через DTO расширяемый объект фильтрации тут проводил, у которого по базе limit[offset,count], search и order, к примеру
ivan.dev marked this conversation as resolved
ivan.dev added 1 commit 2025-07-31 20:33:47 +05:00
ivan.dev added 1 commit 2025-07-31 21:53:35 +05:00
mikhail.dev requested changes 2025-08-01 15:34:23 +05:00
@@ -0,0 +159,4 @@
@api_router.delete("/{processschema_id}", dependencies=[Depends(bearer_schema)], response_model=ProcessSchema)
async def delete_process_schema(
processschema_id: int,
First-time contributor

Получится привести все использования этого слова во всех файлах к одному виду? О чём писали в комментариях выше.

Получится привести все использования этого слова во всех файлах к одному виду? О чём писали в комментариях выше.
ivan.dev marked this conversation as resolved
@@ -0,0 +42,4 @@
pagination: Dict[str, int] # {page: 1, limit: 10}
search: Optional[str] = None
order: Optional[Dict[str, str]] = None # {field: "id", direction: "asc"}
filters: Optional[Dict[str, List[str]]] = None # {"status": ["active"], "owner_id": ["123"]}
First-time contributor

Чтобы не писать такие комментарии, можешь использовать TypedDict.

Чтобы не писать такие комментарии, можешь использовать `TypedDict`.
ivan.dev added 1 commit 2025-08-02 21:47:07 +05:00
ivan.dev added 1 commit 2025-08-02 22:08:41 +05:00
ivan.dev added 1 commit 2025-08-04 16:15:37 +05:00
cyrussmeat approved these changes 2025-08-05 12:12:05 +05:00
vlad.dev approved these changes 2025-08-05 12:17:13 +05:00
ivan.dev merged commit cf6e09d8c1 into master 2025-08-05 21:37:07 +05:00
Sign in to join this conversation.
No Label
4 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Vorkout/connect#16
No description provided.