Closed Smarthard closed 3 months ago
@Smarthard Есть предложение. Это ведь реквесты на изменение видосов. Может поместим их по пути /api/v2/videos/requests
? А то появяться потом еще какие-нибудь реквесты
@Smarthard Есть предложение. Это ведь реквесты на изменение видосов. Может поместим их по пути
/api/v2/videos/requests
? А то появяться потом еще какие-нибудь реквесты
Это запросы не только на изменение видосов, зачем их размазывать по всем контроллерам?
Разделяй и властвуй:) dto будут строгих типов, меньше условий в сервисе будет по тому как эти запросы обрабатывать. А что еще можно попросить изменить? Мы вроде дополнительно только авторов храним, но не уверен что кто-то отдельно будет просить их менять.
А что еще можно попросить изменить?
Да хз, что угодно на самом деле: смержить нескольких авторов например, пожаловаться на пользователя, токены отозвать
Идея была в том, чтобы все запросы лежали в одном месте и можно было отобразить их нужному пользователю
Попахивает супер контроллеров, как-то не по ООПшному
Тогда мб наоборот, не videos/requests
, а requests/videos
? Чтобы хотя бы номинально общая связь была. Ну и в базе я бы это всё равно одной таблицей хранил, как мне кажется, чтобы сервис унифицировать.
Попахивает супер контроллеров, как-то не по ООПшному
Вообще замысел был в том, чтобы для добавления нового типа реквеста нужны были минимальные изменения в коде
Возможно стоит завтра собраться и архитектуру подробнее продумать?
@Smarthard обновил issue:
@BasicEC похоже на то, что надо 👍
Реализовано частично, поэтому переоткрываю
@Smarthard Мы дошли до самого сложного. Операция approve. По ней есть вопросы.
@BasicEC по первому пункту, тут всё просто думаю: soft-delete (т.е. то, что ты описал в пункте 1.2). Наверное, у typeorm или nestjs даже что-то такое готовое есть.
По второму: мб сделать отдельное boolean поле а-ля closeRelated, которое по-дефолту false? А на фронте можно будет остальное уже на контент-админов оставить.
soft-delete для typeorm: https://orkhan.gitbook.io/typeorm/docs/decorator-reference#deletedatecolumn
Часть ониона https://github.com/Palus-Somni-Team/shikicinema-server/issues/1
Клиентское API:
GET /api/requests/videos
- видят все и всё (потом можно будет прикрутить голосовалку)POST /api/requests/videos
- только авторизованный пользовательPUT /api/requests/videos/{id}/cancel
- только авторизованный пользовательАдминское API
PUT /api/admin/requests/videos/{id}/approve
PUT /api/admin/requests/videos/{id}/reject