essayNEXT / REPETITOR

MIT License
1 stars 0 forks source link

50 s1 e3 t1 crud endpoint 3 tablet: item, context, customer context #56

Closed TarasRybak closed 1 year ago

TarasRybak commented 1 year ago

Поки з мін.описом та без тестів.

Придумав оригінальне рішення оновлення контекстів користувача через через 1 вх.точку - post.
Якщо комбінація контекст+конт+користувач існує в БД, то тільки оновлює дату і видає ююід. Якщо такої комбінації нема, то створює новий запис та вдає його ююід. Усі інше(круд-и та ендпоінти) стандартнi та нуднi

tarhonskyi commented 1 year ago

При перевірці виникла помилка File "/home/user/repetitor_backend/api/v1/type/views.py", line 75, in create_context_type return await contexttype.create_new_context_type(...) AttributeError: module 'repetitor_backend.db.crud.contexttype' has no attribute 'create_new_context_type'

Функції у файлі view для context_type create та get посилались на неіснуючі імена crud функцій Виправив це, решту коду не змінював

tarhonskyi commented 1 year ago

Операція Get Customer Context повертає наступне:

[
  {
    "id": "09c11eef-32fa-41be-a97f-ab5d221a884b",
    "last_date": "2023-06-21T19:47:12.187495+00:00"
  }
]

Так задумано?

TarasRybak commented 1 year ago

Операція Get Customer Context повертає наступне:

[
  {
    "id": "09c11eef-32fa-41be-a97f-ab5d221a884b",
    "last_date": "2023-06-21T19:47:12.187495+00:00"
  }
]

Так задумано?

ні, то я намагався придумати одну "фішку", а потім забувся усе зачистити image треба повидаляти _id у кінці, в серіалізаторі

TarasRybak commented 1 year ago

При перевірці виникла помилка File "/home/user/repetitor_backend/api/v1/type/views.py", line 75, in create_context_type return await contexttype.create_new_context_type(...) AttributeError: module 'repetitor_backend.db.crud.contexttype' has no attribute 'create_new_context_type'

Функції у файлі view для context_type create та get посилались на неіснуючі імена crud функцій Виправив це, решту коду не змінював

а що за перевірка, у мене ніде помилок не викидає. я не влазив у контекс_тайп, може хіба коли мейн-ом обновляв свою гілку, то щось підтягнуло не те

tarhonskyi commented 1 year ago

а що за перевірка, у мене ніде помилок не викидає. я не влазив у контекс_тайп, може хіба коли мейн-ом обновляв свою гілку, то щось підтягнуло не те

Це я через в`юшки створював тип контексту Через скрипт вони не використовуються, тому тільки зараз вилізла помилка

KonstZiv commented 1 year ago

'''Придумав оригінальне рішення оновлення контекстів користувача через через 1 вх.точку - post. Якщо комбінація контекст+конт+користувач існує в БД, то тільки оновлює дату і видає ююід. Якщо такої комбінації нема, то створює новий запис та вдає його ююід. Усі інше(круд-и та ендпоінти) стандартнi та нуднi''' - тут є суттєва проблема. Коли інший програмер бачить POST - він очікує створення ресурсу, а коли бачить PUT - то очікує оновлення ВСІХ полів для існуючого ресурсу. Коли бачить PATH - то очікує часткове оновлення існуючого ресурсу. Ти ж через POST намагаєшся частково оновлювати існуючий ресурс. Це буде складно супроводжувати. Краще відповідати очікуванням) . Хоча так код може бути більш компактним, але тут важливіше зрозумілість для інших, це важливіше.