Skip to content

Meow-Double/SoundHouse-server

Repository files navigation

🚀 SoundHouse API

SoundHouse API — это RESTful API для управления и отслеживания пользовательских данных, событий или объектов. Ниже представлены доступные запросы, их описание и примеры использования.


📡 Запросы

👤 Пользователь (User)

🔍 Зарегистрировать пользователя

GET /auth/register
Описание: Возвращает access токен зарегистрированного пользователя.

Пример:

GET /auth/register HTTP/1.1
Host: localhost:4000
Authorization: No

body:
{
  "email": "[email protected]",
  "username": "user1",
  "password": "user123"
}

Ответ

    accessToken: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6Ik1lb3cgVXNlciIsImlhdCI6MTY5Njc3MjAwMH0.4fT3x9zQvKJ7GvYbX9aZ8WvQkL2ePzF1zJk9aBvRk3xA

🔍 Авторизоваться как пользователяь (User)

GET /auth/login

Описание: Возвращает access токен авторизованного пользователя.

Пример:

GET /auth/login HTTP/1.1
Host: localhost:4000
Authorization: No

body:
{
  email: "[email protected]",
  password: "user123"
}

Ответ

    accessToken: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6Ik1lb3cgVXNlciIsImlhdCI6MTY5Njc3MjAwMH0.4fT3x9zQvKJ7GvYbX9aZ8WvQkL2ePzF1zJk9aBvRk3xA
🎵 Треки (Tracks) 🔒

🔍 Получить публичные треки

Публичные треки - треки, которые будет видеть пользователь при входе на страницу треков, а также по ним осуществляется поиск интересующих треков

GET /tracks
Описание: Возвращает публичные треки, по умолчанию 10

Пример:

GET /tracks HTTP/1.1
Host: localhost:4000
Authorization: Bearer <accessToken>

query:
  - limit = 20
  - offset = 2
  - search = Fi...

url + query: 
  http:localhost:4000/tracks?limit=20&offset=2&search=Fi

Ответ

        "id": "8da666f2-aad6-4e84-a0ec-34ded8061911", // Id трека
        "name": "Тестовый трек", // Имя трека
        "picture": "image/9870c5b8-3306-4293-856f-3c2e130c250d.png", // Ссылка на img трека, если имеется
        "audio": "audio/c33e0119-822b-46ae-b85c-113e06a548cf.mp3",  // Ссылка на audio трека
        "explicit": true,   // Возрастное ограничение (18+)
        "time": "1:57",    // Время трека
        "albumId": null,    // Id альбома, если имеется
        "createdAt": "2025-10-09T14:36:17.093Z", // Дата создание записи в БД
        "updateAt": "2025-10-09T14:36:17.093Z",  // Дата обновления записи в БД
        "artist": "yeheera",   // Имя исполнителя (автора), берётся по username аккаунта 
        "availability": false   // Состояние, отражающее добавлен ли трек на твоём аккаунте в favorites

🔒 accessToken - обязателен

🔍 Получить конкретный трек

GET /tracks/{id}
Описание: Возвращает публичные треки, по умолчанию 10

Пример:

GET /tracks/8da666f2-aad6-4e84-a0ec-34ded8061911 HTTP/1.1
Host: localhost:4000
Authorization: Bearer <accessToken>

Ответ

        "id": "8da666f2-aad6-4e84-a0ec-34ded8061911", // Id трека
        "name": "Тестовый трек", // Имя трека
        "picture": "image/9870c5b8-3306-4293-856f-3c2e130c250d.png", // Ссылка на img трека, если имеется
        "audio": "audio/c33e0119-822b-46ae-b85c-113e06a548cf.mp3",  // Ссылка на audio трека
        "explicit": true,   // Возрастное ограничение (18+)
        "time": "1:57",    // Время трека
        "albumId": null,    // Id альбома, если имеется
        "createdAt": "2025-10-09T14:36:17.093Z", // Дата создание записи в БД
        "updateAt": "2025-10-09T14:36:17.093Z",  // Дата обновления записи в БД

🔒 accessToken - обязателен

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published