Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
5e18543
Add User entity with OAuth authentication support
claude Nov 8, 2025
0beb5bb
fixup! Add User entity with OAuth authentication support
ArthurJCQ Nov 8, 2025
ab5f73e
Add room context to User and getCurrentUserPlayer method
claude Nov 8, 2025
a541b35
Update /me endpoint to return current player instead of user
claude Nov 8, 2025
158effc
Add UserController and prevent room changes in PlayerController
claude Nov 8, 2025
ec3e5ab
fixup! Add UserController and prevent room changes in PlayerController
ArthurJCQ Nov 8, 2025
2960293
Move /me endpoint from PlayerController to UserController
claude Nov 8, 2025
6f18168
Rename User.defaultName to name and consolidate migrations
claude Nov 8, 2025
12b249b
Update controllers to use User and getCurrentUserPlayer
claude Nov 8, 2025
36d3978
Auto-create Player when user joins room via PATCH /user
claude Nov 8, 2025
b54aaff
Fix migration: room_id should be VARCHAR(5) not INTEGER
claude Nov 8, 2025
2b5af5e
Add isAdmin and isMaster properties to Player entity
claude Nov 8, 2025
7860632
Update controllers to use User and getCurrentUserPlayer
claude Nov 8, 2025
b9095d0
Fix autowiring domain
ArthurJCQ Nov 8, 2025
57427bc
fix voters
ArthurJCQ Nov 9, 2025
85ca009
Create CreatePlayerUseCase and update tests to use PATCH /user
claude Nov 9, 2025
9b7e36d
Update remaining functional tests to use PATCH /user
claude Nov 9, 2025
95345e5
Use CreatePlayerUseCase in RoomController
claude Nov 9, 2025
f091f85
fix circular reference
ArthurJCQ Nov 9, 2025
42d5c18
Fix response array access in functional tests for /user/me endpoint
claude Nov 9, 2025
f9442ef
Move authentication to User entity and create POST /user endpoint
claude Nov 9, 2025
c951a82
Fix player controller
ArthurJCQ Nov 9, 2025
8f6e353
Add cascade remove to Room->Players and remove RoomDoctrineListener
claude Nov 9, 2025
2014196
Fix func test
ArthurJCQ Nov 10, 2025
6435cda
remove reset player use case
ArthurJCQ Nov 10, 2025
853d7f1
fix audit
ArthurJCQ Nov 10, 2025
3fda226
fixup! fix audit
ArthurJCQ Nov 10, 2025
105d8fb
Update migration to migrate existing player data to users
claude Nov 10, 2025
2055d90
Fix migration
ArthurJCQ Nov 10, 2025
e3d8cf6
Add Apple OAuth secrets to GitHub deploy action
claude Nov 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .env
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,16 @@ EXPO_DSN=expo://TOKEN@default
###> sentry/sentry-symfony ###
SENTRY_DSN=https://0424d3887e2cd6660d8b029cf1d31b28@o4506621494755328.ingest.us.sentry.io/4510172011626496
###< sentry/sentry-symfony ###

###> knpuniversity/oauth2-client-bundle ###
# Google OAuth
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret

# Apple OAuth
APPLE_CLIENT_ID=com.killerparty.mobile
APPLE_CLIENT_SECRET=your-apple-client-secret
APPLE_TEAM_ID=your-apple-team-id
APPLE_KEY_FILE_ID=your-apple-key-file-id
APPLE_KEY_FILE_PATH=%kernel.project_dir%/config/apple/AuthKey_934NDSGKLL.p8
###< knpuniversity/oauth2-client-bundle ###
9 changes: 9 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ jobs:
export EXPO_DSN="${{ secrets.PROD_EXPO_DSN }}"
export CADDY_MERCURE_JWT_SECRET="${{ secrets.PROD_MERCURE_JWT_SECRET }}"
export DATABASE_URL="${{ secrets.PROD_DATABASE_URL }}"
export APPLE_CLIENT_SECRET="${{ secrets.PROD_APPLE_CLIENT_SECRET }}"
export APPLE_KEY_FILE_ID="${{ secrets.PROD_APPLE_KEY_FILE_ID }}"
export APPLE_TEAM_ID="${{ secrets.PROD_APPLE_TEAM_ID }}"
export TAG_NAME="${{ steps.tag.outputs.TAG_NAME }}"
EOF

Expand Down Expand Up @@ -80,6 +83,9 @@ jobs:
EXPO_DSN="$EXPO_DSN" \
CADDY_MERCURE_JWT_SECRET="$CADDY_MERCURE_JWT_SECRET" \
DATABASE_URL="$DATABASE_URL" \
APPLE_CLIENT_SECRET="$APPLE_CLIENT_SECRET" \
APPLE_KEY_FILE_ID="$APPLE_KEY_FILE_ID" \
APPLE_TEAM_ID="$APPLE_TEAM_ID" \
docker compose -f compose.prod.yaml build php

# Arrêter les conteneurs existants
Expand All @@ -96,6 +102,9 @@ jobs:
EXPO_DSN="$EXPO_DSN" \
CADDY_MERCURE_JWT_SECRET="$CADDY_MERCURE_JWT_SECRET" \
DATABASE_URL="$DATABASE_URL" \
APPLE_CLIENT_SECRET="$APPLE_CLIENT_SECRET" \
APPLE_KEY_FILE_ID="$APPLE_KEY_FILE_ID" \
APPLE_TEAM_ID="$APPLE_TEAM_ID" \
docker compose -f compose.prod.yaml up -d --wait --force-recreate --no-deps php

# Attendre que les conteneurs soient prêts
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ build

###> lexik/jwt-authentication-bundle ###
/config/jwt/*.pem
/config/apple/*.p8
###< lexik/jwt-authentication-bundle ###

###> squizlabs/php_codesniffer ###
Expand Down
4 changes: 4 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,14 @@
"doctrine/doctrine-migrations-bundle": "^3.2",
"doctrine/orm": "^2.12",
"gesdinet/jwt-refresh-token-bundle": "^1.5",
"knpuniversity/oauth2-client-bundle": "^2.19",
"lcobucci/jwt": "^5.6",
"league/oauth2-client": "^2.8",
"league/oauth2-google": "^4.0",
"lexik/jwt-authentication-bundle": "^2.16",
"marvin255/random-string-generator": "^v3.2.4",
"nelmio/cors-bundle": "^2.3",
"patrickbussmann/oauth2-apple": "^0.3.0",
"phpdocumentor/reflection-docblock": "^5.3",
"phpstan/phpdoc-parser": "^2.3",
"runtime/frankenphp-symfony": "^0.2.0",
Expand Down
Loading
Loading