wtf
All checks were successful
CI - Build Tonehaus Docker image / tonehaus-ci-build (push) Successful in 2m0s
All checks were successful
CI - Build Tonehaus Docker image / tonehaus-ci-build (push) Successful in 2m0s
This commit is contained in:
@@ -16,6 +16,10 @@ docker compose exec php php bin/console doctrine:migrations:diff --no-interactio
|
||||
docker compose exec php php bin/console doctrine:migrations:migrate --no-interaction
|
||||
```
|
||||
|
||||
### Switching database drivers
|
||||
- `DATABASE_DRIVER=postgres` (default) continues to use the Postgres 16 service from `docker-compose.yml` and reads credentials from `DATABASE_URL`.
|
||||
- `DATABASE_DRIVER=sqlite` runs Doctrine against a local SQLite file at `var/data/database.sqlite`. `DATABASE_URL` is ignored; override the SQLite file path with `DATABASE_SQLITE_PATH` if desired.
|
||||
|
||||
## Admin user
|
||||
```bash
|
||||
docker compose exec php php bin/console app:promote-admin you@example.com
|
||||
|
||||
@@ -10,6 +10,11 @@
|
||||
- `ROLE_MODERATOR`: promoted via console `app:promote-moderator`, or via webUI; can manage users and all reviews/albums but not site settings.
|
||||
- `ROLE_ADMIN`: promoted via console `app:promote-admin`; includes moderator abilities plus site settings access.
|
||||
|
||||
### Demo accounts
|
||||
- Generate placeholder accounts locally with `php bin/console app:seed-demo-users --count=50` (default password: `password`).
|
||||
- Emails use the pattern `demo+<token>@example.com`, making them easy to spot in the admin UI.
|
||||
- Give existing accounts avatars with `php bin/console app:seed-user-avatars`; pass `--overwrite` to refresh everyone or tweak `--style` to try other DiceBear sets.
|
||||
|
||||
### Access flow
|
||||
- Visiting `/admin/dashboard`, `/admin/users`, or `/admin/settings` while unauthenticated forces a redirect through `/login`, which re-opens the modal automatically.
|
||||
- Moderators inherit all `ROLE_USER` permissions; admins inherit both moderator and user permissions via the role hierarchy.
|
||||
|
||||
@@ -8,7 +8,9 @@
|
||||
- `src/Service/SpotifyClient.php`
|
||||
- Client Credentials token fetch (cached)
|
||||
- `searchAlbums(q, limit)`
|
||||
- `getAlbum(id)` and `getAlbums([ids])`
|
||||
- `getAlbum(id)` / `getAlbums([ids])`
|
||||
- `getAlbumWithTracks(id)` fetches metadata plus a hydrated tracklist
|
||||
- `getAlbumTracks(id)` provides the raw paginated track payload when needed
|
||||
|
||||
## Advanced search
|
||||
- The search page builds Spotify fielded queries:
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
## Album page
|
||||
- Shows album artwork, metadata, average rating and review count.
|
||||
- Displays the full Spotify tracklist (duration, ordering, preview links) when available.
|
||||
- Lists reviews newest-first.
|
||||
- Logged-in users can submit a review inline.
|
||||
|
||||
@@ -13,4 +14,9 @@
|
||||
## UI
|
||||
- Rating uses a slider (1–10) with ticks; badge shows current value.
|
||||
|
||||
## Demo data
|
||||
- Quickly create placeholder catalog entries with `php bin/console app:seed-demo-albums --count=40`. Add `--attach-users` to assign random existing users as album owners so the admin dashboard shows activity immediately.
|
||||
- Populate sample reviews with `php bin/console app:seed-demo-reviews --cover-percent=70 --max-per-album=8` so album stats and the admin dashboard have activity.
|
||||
- Use `--only-empty` when you want to focus on albums that currently have no reviews.
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user