Запилить личную страницу пользователя #11

Closed
opened 2023-07-12 19:08:36 +03:00 by dm1sh · 1 comment
Owner
  • Разработать дизайн
  • Реализовать в коде
- [x] Разработать дизайн - [x] Реализовать в коде
dm1sh added the
front
label 2023-07-12 19:08:36 +03:00
dm1sh self-assigned this 2023-07-12 19:08:36 +03:00
vova was assigned by dm1sh 2023-07-12 19:08:37 +03:00
dm1sh added the
back
label 2023-07-18 18:12:37 +03:00
DmitryGantimurov was assigned by dm1sh 2023-07-18 18:16:11 +03:00
Author
Owner

(Предполагаемый) формат данных, ожидаемых с бэкенда:
api/user: в добавок к тому, что есть сейчас, нужна дата регистрации, что-то вроде reg_date: int (UNIX timestamp), такой же как дата создания объявления.
Для объявления нужно добавить поле state, значением сделать Enum из трёх вариантов: published, taken, obsolete. Первое будет значением по умолчанию, второе назначается когда опубликовавший пометит предмет как отданный, третье будет назначаться сервером во время ежедневной переиндексации - ночью будет делаться селект по этому полю = published и сравниваться срок годности с нынешней датой. Либо, по первой, пока будет мало объявлений, можно при запросе списка проверять, что у предмета срок истёк и если так, то помечаем obsolete. Ещё ему желательно индекс сделать (много памяти оно не съест), зато почти не потеряем в скорости при запросах.
Соответственно, нужно будет добавить фильтр по нему в api/announcements. Я скорее всего буду посылать вам строчку (published, taken, obsolete), которую вы на сервере преобразуете в элемент Enum'а и дальше как обычно.

(Предполагаемый) формат данных, ожидаемых с бэкенда: _api/user_: в добавок к тому, что есть сейчас, нужна дата регистрации, что-то вроде `reg_date`: `int` (UNIX timestamp), такой же как дата создания объявления. Для объявления нужно добавить поле `state`, значением сделать [Enum](https://docs.sqlalchemy.org/en/20/core/type_basics.html#sqlalchemy.types.Enum) из трёх вариантов: `published`, `taken`, `obsolete`. Первое будет значением по умолчанию, второе назначается когда опубликовавший пометит предмет как отданный, третье будет назначаться сервером во время ежедневной переиндексации - ночью будет делаться селект по этому полю = `published` и сравниваться срок годности с нынешней датой. Либо, по первой, пока будет мало объявлений, можно при запросе списка проверять, что у предмета срок истёк и если так, то помечаем `obsolete`. Ещё ему желательно индекс сделать (много памяти оно не съест), зато почти не потеряем в скорости при запросах. Соответственно, нужно будет добавить фильтр по нему в _api/announcements_. Я скорее всего буду посылать вам строчку (`published`, `taken`, `obsolete`), которую вы на сервере преобразуете в элемент Enum'а и дальше как обычно.
dm1sh closed this issue 2023-08-16 09:41:08 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: polka_billy/porridger#11
No description provided.