Схема релизов Bitrate
Состояние реализации на 5 октября 2026 года. Это MVP подготовки релизов: создание и редактирование черновика, приватный каталог, страница релиза с треками, датой и участниками, добавление и исправление участников, подтверждение прав, доли Master/Publishing, необязательные UPC/ISRC, чек-лист готовности, отправка на ревью Bitrate и её отзыв работают (ADR-0059). Ревьюер, территории, загрузка аудио и доставка на площадки ещё не реализованы; отправка не запускает доставку.
Что уже можно показать
Зелёный — реализовано. Синий — подготовлена структура БД, формы/API управления пока отсутствуют. Оранжевый — дальнейшие этапы. Привязка записи к релизу защищена в БД и читается каталогом; интерфейса изменения этой связи пока нет.
Связи данных
Release— рабочее пространство релиза; тип Single / EP / Album / Compilation.ArtistTrackDraft— приватные метаданные подготовки, отдельно от публичногоTrack. Ссылка на релиз необязательна; составной FK(releaseId, ownerArtistId)запрещает чужого владельца.ReleaseTrack— связь с существующимTrack, с порядком записей внутри релиза. Автоматического преобразованияArtistTrackDraftвTrackещё нет.ReleaseContributor— участник и его credit-роли: исполнитель, продюсер, композитор, автор текста или другая роль. Участник может не иметь аккаунта; credit не даёт доступа к кабинету.ReleaseSplit— доля участника отдельно для записи (RECORDING) и композиции (COMPOSITION). 10 000 basis points = 100%. Составной FK привязывает долю к участнику того же релиза; полная проверка распределения перед отправкой — следующий этап.ReleaseTerritory— разрешённые страны. Пустой список означает «не указано».Releaseне подменяет публичныйAlbum; сохранение черновика не публикует музыку.
Составные ключи: ReleaseTrack(releaseId, trackId),
ReleaseSplit(releaseId, contributorId, rightType) и
ReleaseTerritory(releaseId, countryCode). Позиция трека уникальна внутри релиза.
Готовность для демонстрации
| Часть | Состояние |
|---|---|
| Вход, владение и приватный доступ | Реализовано; запросы ограничены владельцем |
| Создание релиза | Реальный POST, сохраняет название/тип со статусом DRAFT |
| Редактирование черновика | GET/PATCH названия и типа; доступ владельца, атомарная проверка версии, 409 при конфликте |
| Music / Tracks и Releases | Реальные GET, счётчики, поиск, фильтры, сортировка, страницы, детали |
| Отдельный workspace релиза | Приватный адрес, реальные связанные записи, дата UTC и credit-участники; редактирование названия/типа DRAFT |
| Редактирование плановой даты | Edit schedule: установка/сброс даты UTC, точность до миллисекунд, тот же атомарный owner/DRAFT/version guard |
| Три темы и адаптив | Проверены на desktop/mobile, ширины 320–1920 px |
| Превью демо-записей | Работает; используется явно обозначенный синтетический sample |
| Участники | Чтение и добавление имени/ролей проверены; транзакционный DRAFT/version guard |
| Редактирование участников | GET/PATCH и формы; исправление имени/ролей, предупреждение о недостающей роли |
| Существующие связанные Track | Читаются в workspace; управление связью через UI/API — позже |
| Права и доли | Владелец мастер-записи, две отметки подтверждения, доли Master/Publishing (в черновике ≤ 100 %, для отправки ровно 100 %) |
| UPC / ISRC | Необязательны; проверка контрольной цифры UPC, формата ISRC и повторов |
| Территории | Структура БД готова; управление через UI/API — позже |
| Загрузка аудио/обложек, редактирование записей | Пока Coming soon |
| Готовность и отправка на ревью | Чек-лист блокеров и заметок, отправка с «I reviewed», серверная перепроверка, отзыв в черновик |
| Ревьюер, публикация, доставка партнёрам | Пока не реализованы; отправка создаёт только внутреннюю заявку |
Статусы DRAFT / READY / SUBMITTED / RELEASED / REJECTED существуют в схеме
Release, но полноценного API переходов между ними ещё нет. Demo-статусы
не подтверждают реальную публикацию или доставку.
Для показа: войти артистом с демо-данными, открыть /dashboard/music, показать шесть
демо-записей и три релиза (включая сохранённый Steel Ball Run), переключить вкладки,
поиск/фильтры и темы. Затем создать новый черновик через Create release и обновить
страницу: созданный релиз останется в каталоге. Создание дополнительного черновика
увеличит число релизов. Затем открыть детали черновика → Edit draft, изменить
название/тип и сохранить; изменения останутся после перезагрузки. Опубликованные
и отправленные релизы в этом этапе доступны только для просмотра.
Открыть релиз → Open workspace: появится отдельная страница с обложкой, волной из дизайна, реальными треками, датой и credit-участниками. Если дата или участники не указаны, страница честно показывает это. У черновика здесь также работает Edit draft. Превью связей ограничено 50 элементами каждого вида; при большем количестве показаны реальные totals и пояснение ограничения.
В Participants своего черновика открыть Add contributor, указать имя и хотя бы одну роль → Save contributor. Новый credit появится в списке и останется после перезагрузки. Это не приглашение в аккаунт и не назначение долей дохода.
После завершения финальных проверок: рядом с участником нажать карандаш → Edit contributor, исправить имя/роли и сохранить. Форма загрузит актуальную запись; при конфликте правок предложит переоткрыть её. ID участника и существующие доли при этом сохраняются.
В Preparation summary черновика открыть Edit schedule, включить плановую дату, выбрать дату и время UTC, сохранить и перезагрузить страницу. Снять галочку и сохранить — дата очистится. Сохранение плана не отправляет релиз на площадки.
Точная формулировка для презентации:
Реализован MVP кабинета артиста: создание и редактирование названия/типа черновиков, приватный каталог треков/релизов и отдельная страница релиза с треками, плановой датой и участниками. В черновике можно изменить дату и добавить кредит с ролями. Подготовлена модель долей прав и территорий. Загрузка, публикация и доставка находятся на следующих этапах разработки.
Основание: Prisma schema, API релизов, ADR-0052, ADR-0053, ADR-0054, ADR-0055, ADR-0056, ADR-0057.