Этот API предоставляет функциональность для управления отзывами, включая создание, обновление, удаление, голосование за отзывы и получение информации о пользователях.
-
Клонируйте репозиторий: git clone cd text
-
Установите зависимости: npm install text
-
Настройте переменные окружения в файле
.env: DATABASE_URL=your_database_url text -
Запустите миграции Prisma: npx prisma migrate dev --name init text
-
Запустите сервер: npm start text
- URL:
/auth/signin - Метод:
POST - Тело запроса: { "email": "user@example.com", "password": "yourpassword" } text
- Ответ (200): { "user": { /* User object */ }, "accessToken": "your_access_token", "refreshToken": "your_refresh_token" } text
- URL:
/auth/signup - Метод:
POST - Тело запроса: { "email": "user@example.com", "password": "yourpassword" } text
- Ответ (201): { "user": { /* User object */ } } text
- URL:
/auth/refresh - Метод:
POST - Тело запроса: { "refreshToken": "your_refresh_token" } text
- Ответ (200): { "accessToken": "new_access_token", "refreshToken": "new_refresh_token" } text
- URL:
/auth/me - Метод:
GET - Заголовки: Authorization: Bearer your_access_token text
- Ответ (200): { /* User object */ } text
-
URL:
/feedback -
Метод:
GET -
Параметры запроса:
-
categoryId(optional): ID категории для фильтрации. -
statusId(optional): ID статуса для фильтрации. -
sortBy(optional): Поле для сортировки (votesилиcreatedAt). -
page(optional): Номер страницы для пагинации. -
limit(optional): Количество отзывов на страницу. -
Ответ (200): [ { /* FeedbackPost object */ }, ... ] text
- URL:
/feedback - Метод:
POST - Тело запроса: { "title": "Feedback Title", "description": "Feedback Description", "categoryId": 1, "statusId": 1 } text
- Ответ (201): { /* FeedbackPost object */ } text
-
URL:
/feedback/{id} -
Метод:
PUT -
Параметры пути:
id: ID отзыва для обновления.
-
Тело запроса: { "title": "Updated Title", "description": "Updated Description", "categoryId": 1, "statusId": 1 } text
-
Ответ (200): { /* Updated FeedbackPost object */ } text
-
URL:
/feedback/{id} -
Метод:
DELETE -
Параметры пути:
id: ID отзыва для удаления.
-
Ответ (204): No Content
-
URL:
/feedback/{id}/upvote -
Метод:
POST -
Параметры пути:
id: ID отзыва для голосования.
-
Ответы:
- Если голос был учтен (200):
{ /* Updated FeedbackPost object */ } - Если голос был отменен (400):
{ "error": "Ваш голос отменен." }
- Если голос был учтен (200):
-
URL:
/feedback/categories -
Метод:
GET -
Ответ (200): [ { /* Category object */ }, ... ] text
-
URL:
/feedback/statuses -
Метод:
GET -
Ответ (200): [ { /* Status object */ }, ... ]