Skip to content

Сервис для организации тайного санты 🎅

License

Notifications You must be signed in to change notification settings

misshanya/secret-santa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Тайный Санта

Это сервис для организации "Тайного Санты", написанный на Go и ванильных HTML, CSS и JS

Backend

Ручки API

Auth

POST /register - Регистрация пользователя

Описание: выполняет регистрацию

Тело запроса:

{
  "name": "string",
  "username": "string",
  "password": "string"
}
POST /login - Вход в аккаунт

Описание: выполняет вход (выдает токен аутентификации пользователя)

Тело запроса:

{
  "username": "string",
  "password": "string"
}

Тело ответа: токен

GET /me - Информация о текущем пользователе

Требования: аутентификация

Описание: предоставляет информацию о пользователе, в аккаунт которого выполнен вход

Rooms

POST /rooms - Создание комнаты

Описание: создает комнату

Тело запроса:

{
  "name": "string",
  "description": "string"
}
GET /rooms - Список моих комнат

Требования: аутентификация

Описание: выдает список созданных пользователем комнат

Тело ответа:

{
  "rooms": [
    {
      "id": 1,
      "name": "Комната 1",
      "description": "Описание",
      "max_participants": 30,
      "created_at": "2024-12-29T10:15:46Z"
    }
  ]
}
DELETE /rooms/{id} - Удаление комнаты

Требования: аутентификация; вы должны быть владельцем комнаты

Описание: удаляет комнату с id, равным {id}

Participants

POST /rooms/{id}/participants - Вход в комнату

Требования: аутентификация; участие в комнате

Описание: добавляет пользователя в указанную комнату

DELETE /rooms/{id}/participants/me - Выход из комнаты

Требования: аутентификация; участие в комнате

Описание: удаляет пользователя из указанной комнаты

GET /rooms/{id}/wish - Мое желание

Требования: аутентификация; участие в комнате

Описание: возвращает желание пользователя в указанной комнате

Тело ответа:

{
  "wish": "Желание"
}
PATCH /rooms/{id}/wish - Обновление желания

Требования: аутентификация; участие в комнате

Описание: обновляет желание пользователя в указанной комнате

Тело запроса:

{
  "wish": "Новое желание"
}
GET /rooms/{id}/participants - Список участников комнаты

Требования: аутентификация; вы должны быть владельцем комнаты

Описание: выдает список участников указанной комнаты

Тело ответа:

{
  "participants": [
    {
      "id": 1,
      "user_id": 1,
      "room_id": 1,
      "wish": "Желание",
      "gives_to": 2
    },
    {
      "id": 2,
      "user_id": 2,
      "room_id": 1,
      "wish": "Желание",
      "gives_to": 1
    }
  ]
}
POST /rooms/{id}/participants/distribute - Распределить дарящих

Требования: аутентификация; вы должны быть владельцем комнаты

Описание: распределяет, кто кому дарит в указанной комнате

About

Сервис для организации тайного санты 🎅

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published