Allow users to export their game list as CSV #47
Labels
No labels
automated
code-quality
component: admin dashboard
component: backend
component: billing
component: content management
component: faqs
component: game genres
component: game lists
component: game reviews
component: game search
component: games
component: internal notifications
component: platforms
component: security
component: tests
component: user api
component: user badges
component: user blogs
component: user consoles
component: user favorites
component: user friends
component: user notifications
component: user profiles
component: user site notifications
component: user wishlists
component: web design
dependencies
javascript
php
priority
high
priority
low
priority
medium
security-hotspot
source: codex
source: sonarqube
status
awaiting feedback
status
backlog
status
done
status
in progress
status
in queue
status
in review
status
needs codex review
status
needs investigation
status
wontfix
type: bug
type: documentation
type: feature
type: improvement
type: regression
type: task
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MyVideoGameList/myvideogamelist.com#47
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Users should be able to download their own MyVideoGameList game-list data as a CSV file.
The current Laravel checkout has
game_listspersistence, aGameListmodel, owner-only update/delete policies, profile/header links reserving/list/{username}, and controller stubs for list pages and list entry management. The public/user list surface itself is not fully rebuilt yet, and there is no CSV export route. This issue tracks adding an authenticated, owner-only CSV export that includes the user’s active game-list entries and useful related game/platform metadata.Scope
game_listsrows only.Acceptance Criteria
text/csvcontent type and a clear filename such asmyvideogamelist-{username}-list.csv.Test Coverage Required
vendor/bin/pint --dirtybefore closing the issue.Progress Checklist
game_liststable existsGameListmodel existsImplementation and verification — 2026-10-27
Owner-only CSV and JSON downloads now stream the complete active list in bounded batches, with readable labels, safe CSV cells, null-safe related metadata, private cache headers, and owner-page export controls.
Local branch:
codex/issue-47-853-game-list-export-search, based on refreshedorigin/master. Changes are local and awaiting review; no PR, merge, push, or deployment has been performed.Validation:
php artisan test --env=testing --compact tests/Feature/GameListPageTest.php tests/Feature/GameListExportTest.php tests/Feature/UserPrivacyTest.php— 224 tests passed, 2,670 assertions (SQLite).vendor/bin/pint --dirty --format agent— passed.composer stan— passed with zero errors.npm run build— passed.node_modules/.bin/playwright test tests/browser/game-list-sort.spec.js --workers=1 --output=/tmp/mvgl-list-browser-final— all 8 browser tests passed at 375px/1440px for owner/public views, with no application console errors. Light/dark screenshots inspected.Browser checks use isolated in-memory SQLite fixtures and stub external assets. MariaDB CI and live-environment validation have not run. The issue remains open in progress pending review.
Acceptance re-review — 2026-10-27
All export acceptance criteria and required test categories are covered. The export includes every listed data field, keeps IDs, maps all six stored statuses, all four ownership codes and all thirteen hours-played bands, and safely handles missing/deleted related records. Replay value remains the numeric 1–5 scale displayed by the existing form; the replaying flag is Yes/No in CSV and boolean in JSON. Authorization regression fixtures now explicitly make both users’ lists private and confirm that target-user query parameters cannot change whose list is downloaded. Additional mapping tests cover every export field, ISO dates, false replaying flags and null values.
Verification after the search fix and expanded coverage:
All progress checkboxes are now complete. Implementation remains local and uncommitted on codex/issue-47-853-game-list-export-search, awaiting user review. No PR, push, merge, deployment or issue closure was performed. MariaDB CI and live-environment validation remain unrun.
Allow Users to Export List Data as CSVto Allow users to export their game list as CSVMerged in PR #1001 at
7d34d5ab.Dev and production deployment is now being performed; deployment verification and rollback locations will follow.
PR #1001 is now deployed to development and production from merge revision
7d34d5ab62e2ff6e3fef4a0f2107f7f047737f8d.ee6b2847+issue992-3d129125+pr1000-c0341df2+pr1001-7d34d5ab, preserving the actual deployed baseline rather than claiming unrelated master dependency updates were installed.Rollback backups (original files, checksums and deployment receipts):
/home/mvgldev/deploy-backups/pr1001-7d34d5ab-fa4rd7lv/home/mvgl/deploy-backups/pr1001-7d34d5ab-0opyeowoLocal checkout is clean on
masterat the merge revision. All progress checkboxes remain checked; this issue is closed withstatus/done.