Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
9c377f2
Upgrade to Laravel 11, PHP 8.3, PostgreSQL; add Wayfinder, drop Ziggy
herpaderpaldent Apr 24, 2026
a8a87b6
Fix styling
herpaderpaldent Apr 24, 2026
4da062e
fix: trigger CI on both 4.x and 5.x branches
herpaderpaldent Apr 24, 2026
189f3b6
fix: run CI on all pull_request targets, not just 4.x/5.x
herpaderpaldent Apr 24, 2026
cfe1ba8
fix: CI trigger should target 5.x (this is a v5 branch, not v4)
herpaderpaldent Apr 24, 2026
8d8c727
fix: revert DB credentials in phpunit.xml to testbench/default; fix CI
herpaderpaldent Apr 24, 2026
6be39d2
chore: remove firebase/php-jwt audit.ignore workaround
herpaderpaldent Apr 24, 2026
5d52538
fix: correct CheckRequiredScopes signature and postgres health-cmd
herpaderpaldent Apr 24, 2026
c8bdb12
refactor: migrate auth API calls to service/action classes
herpaderpaldent Apr 24, 2026
cc5c979
Fix styling
herpaderpaldent Apr 24, 2026
a732d64
fix: add Symfony Response return type to CheckRequiredScopes::redirectTo
herpaderpaldent Apr 24, 2026
f01e8c8
fix: add PHP type declarations to reach 100% type coverage
herpaderpaldent Apr 24, 2026
9abf46b
refactor: replace CheckPermissionOrCorporationRole with CheckAuthoriz…
herpaderpaldent Apr 24, 2026
d57b472
test: update tests for Laravel 11 and auth 4.x compatibility
herpaderpaldent Apr 24, 2026
2561ebe
chore: add PHPStan config, pin versions, fix type issues
herpaderpaldent Apr 24, 2026
112c1ca
Fix styling
herpaderpaldent Apr 24, 2026
879bfeb
chore: remove .phpunit.cache from tracking, fix CI workflow
herpaderpaldent Apr 25, 2026
b0d8125
fix: correct postgres health-check database name in CI
herpaderpaldent Apr 25, 2026
7bce7c4
fix: apply Pint formatting fixes
herpaderpaldent Apr 25, 2026
7a69a12
Fix styling
herpaderpaldent Apr 25, 2026
cef1cf5
fix: align CI postgres credentials with phpunit.xml
herpaderpaldent Apr 25, 2026
ad2a6de
fix: align phpunit.xml and CI workflow postgres credentials
herpaderpaldent Apr 25, 2026
be613e1
fix: re-apply Pint formatting (undone by php-cs-fixer bot rebase)
herpaderpaldent Apr 25, 2026
72a2246
Fix styling
herpaderpaldent Apr 25, 2026
9588423
fix: reset test character EVE roles to empty in TestCase setUp
herpaderpaldent Apr 25, 2026
839bac8
fix: re-apply Pint formatting after bot rebase
herpaderpaldent Apr 25, 2026
0ead7e4
Fix styling
herpaderpaldent Apr 25, 2026
94eb5f4
ci: replace php-cs-fixer with Pint in styling workflow
herpaderpaldent Apr 25, 2026
c45fd3e
Apply PR #1471 review feedback
herpaderpaldent Apr 25, 2026
657be15
Replace all mixed type hints with concrete PHP types
herpaderpaldent Apr 26, 2026
38f8026
fix: address PR #1471 review feedback - remove baseline, restore test…
herpaderpaldent Apr 27, 2026
be1943e
refactor: remove web.jobs config and simplify CreateDispatchTransferO…
herpaderpaldent Apr 27, 2026
d3d486b
Merge pull request #1471 from seatplus/web/feat/laravel11-baseline
herpaderpaldent Apr 27, 2026
f319afb
refactor(1-B): middleware — remove dead pipeline middleware, fix auth…
herpaderpaldent Apr 28, 2026
c3534c6
refactor(1-C): controllers, actions, services, resources (#1473)
herpaderpaldent Apr 28, 2026
9d7495f
Web/feat/acl typed controllers (#1476)
herpaderpaldent May 5, 2026
0fc9d0b
chore: upgrade to Pest 4, drop composer-patches workaround (#1481)
herpaderpaldent May 5, 2026
6d9368f
refactor: fix PHPStan property.notFound errors with explicit type ann…
herpaderpaldent May 6, 2026
c9d15df
feat: CheckAuthorizationWithExtendedScope middleware (#1479)
herpaderpaldent May 6, 2026
629bf20
feat: migrate frontend from Ziggy to Laravel Wayfinder
herpaderpaldent May 6, 2026
35263a8
chore: upgrade to Vite 6 + ESM-first config stack
herpaderpaldent May 7, 2026
0d046de
feat: implement RoleDetail.vue with affiliations, members, and modera…
herpaderpaldent May 7, 2026
44d5581
feat: allow moderators on opt-in roles
herpaderpaldent May 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
137 changes: 106 additions & 31 deletions .github/workflows/laravel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,41 +2,116 @@ name: Laravel

on:
push:
branches: [ 4.x ]
branches: [ "5.x" ]
pull_request:
branches: [ 4.x ]
branches: [ "5.x" ]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
laravel:
lint:
name: Lint & Static Analysis
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
extensions: mbstring, dom, fileinfo, pgsql, pdo_pgsql, redis
coverage: none

- name: Cache Composer dependencies
uses: actions/cache@v4
with:
path: vendor
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-

- name: Install Dependencies
run: composer install --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist

- name: Check Coding Standards
run: composer run test:lint

- name: Static Analysis
run: composer run test:types

- name: Type Coverage
run: composer run test:type-coverage

test:
name: Tests (Shard ${{ matrix.shard }}/4)
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
shard: [1, 2, 3, 4]

services:
postgres:
image: postgres:16
env:
POSTGRES_DB: testbench
POSTGRES_USER: default
POSTGRES_PASSWORD: secret
ports:
- 5432:5432
options: >-
--health-cmd "pg_isready -U default -d testbench"
--health-interval 10s
--health-timeout 5s
--health-retries 5

redis:
image: redis:7
ports:
- 6379:6379
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5

steps:
- uses: actions/checkout@v2
- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2 #https://github.com/shivammathur/setup-php
with:
php-version: '8.1'
extensions: mbstring, dom, fileinfo
coverage: xdebug #optional
- uses: getong/mariadb-action@v1.1
with:
#host port: 3308 # Optional, default value is 3306. The port of host
mariadb version: '10.7' # Optional, default value is "latest". The version of the MariaDB
mysql database: 'testbench' # Optional, default value is "test". The specified database which will be create
mysql user: 'default' # Required if "mysql root password" is empty, default is empty. The superuser for the specified database. Can use secrets, too
mysql password: 'secret' # Required if "mysql user" exists. The password for the "mysql user"
- name: Redis Server in GitHub Actions
uses: supercharge/redis-github-action@1.1.0
with:
# Redis version to use
redis-version: 5 # optional, default is latest
- name: Install Dependencies
run: composer install --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
- name: Test & publish code coverage
uses: paambaati/codeclimate-action@v2.6.0
env:
CC_TEST_REPORTER_ID: 1ba66b56bc5a04c17474d52e94124cb04d4a520c7c46a01ace9ce25e7b58b85d
with:
coverageCommand: vendor/bin/pest --coverage --ci
debug: false
- uses: actions/checkout@v4

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
extensions: mbstring, dom, fileinfo, pgsql, pdo_pgsql, redis
coverage: none

- name: Cache Composer dependencies
uses: actions/cache@v4
with:
path: vendor
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-

- name: Install Dependencies
run: composer install --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist

- name: Run Tests
run: vendor/bin/pest --no-coverage --shard=${{ matrix.shard }}/4

laravel:
name: Laravel
runs-on: ubuntu-latest
needs: [lint, test]
if: always()
steps:
- name: Check all jobs passed
run: |
if [[ "${{ needs.lint.result }}" != "success" || "${{ needs.test.result }}" != "success" ]]; then
echo "One or more jobs failed"
exit 1
fi
echo "All jobs passed"

24 changes: 12 additions & 12 deletions .github/workflows/php-cs-fixer.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
name: Check & fix styling
name: Check styling

on: [push]

jobs:
php-cs-fixer:
pint:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v2
with:
ref: ${{ github.head_ref }}
uses: actions/checkout@v4

- name: Run PHP CS Fixer
uses: docker://oskarstark/php-cs-fixer-ga
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
args: --config=.php_cs.dist.php --allow-risky=yes
php-version: '8.3'
coverage: none

- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Fix styling
- name: Install Dependencies
run: composer install --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist

- name: Check styling
run: vendor/bin/pint --test
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ public/css/
.php_cs
.php_cs.cache
.phpunit.result.cache
.phpunit.cache/
.php-cs-fixer.cache

public/js/
43 changes: 27 additions & 16 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,24 +25,26 @@
"minimum-stability": "stable",
"prefer-stable": true,
"require": {
"php": "^8.1",
"laravel/framework": "^10.0",
"php": "^8.3",
"laravel/framework": "^11.0",
"laravel/socialite": "^5.0",
"seatplus/eveapi": "^3.1",
"seatplus/auth": "^3.0",
"tightenco/ziggy": "^2.2.1",
"spatie/laravel-permission": "^5.4",
"seatplus/eveapi": "^4.0",
"seatplus/auth": "^4.0.5",
"conedevelopment/i18n": "^1.1",
"doctrine/dbal": "^3.0",
"inertiajs/inertia-laravel": "^1.2.0"
"inertiajs/inertia-laravel": "^2.0",
"laravel/wayfinder": "^0.1.16"
},
"require-dev": {
"orchestra/testbench": "^8.0",
"nunomaduro/collision": "^7.0",
"rector/rector": "^0.18.6",
"driftingly/rector-laravel": "^0.29.0",
"pestphp/pest": "^2.0",
"pestphp/pest-plugin-laravel": "^2.0"
"orchestra/testbench": "^9.0",
"nunomaduro/collision": "^8.1",
"rector/rector": "^2.0",
"driftingly/rector-laravel": "^2.0",
"larastan/larastan": "^3.0",
"laravel/pint": "^1.9",
"pestphp/pest": "^4.0",
"pestphp/pest-plugin-laravel": "^4.0",
"pestphp/pest-plugin-type-coverage": "^4"
},
"extra": {
"laravel": {
Expand All @@ -52,9 +54,18 @@
}
},
"scripts": {
"test": "vendor/bin/pest",
"test-coverage": "XDEBUG_MODE=coverage ./vendor/bin/pest --coverage",
"parallel": "vendor/bin/testbench package:test --parallel --no-coverage"
"lint": "vendor/bin/pint",
"test:lint": "vendor/bin/pint --test",
"test:types": "vendor/bin/phpstan --ansi",
"test:type-coverage": "vendor/bin/pest --type-coverage --min=100",
"test:unit": "vendor/bin/pest --colors=always --no-coverage",
"test:unit-coverage": "XDEBUG_MODE=coverage vendor/bin/pest --coverage --colors=always",
"test": [
"@test:lint",
"@test:types",
"@test:type-coverage",
"@test:unit"
]
},
"config": {
"allow-plugins": {
Expand Down
10 changes: 5 additions & 5 deletions config/package.sidebar.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@
*/

return [
'home' => [
'home' => [
[
'name' => 'Home',
'name' => 'Home',
'route' => 'home',
'icon' => 'HomeIcon',
],
Expand Down Expand Up @@ -104,19 +104,19 @@
],
'settings' => [
[
'name' => 'Server Settings',
'name' => 'Server Settings',
'permission' => 'superuser',
'route' => 'server.settings',
'icon' => 'CogIcon',
],
[
'name' => 'Manual Locations',
'name' => 'Manual Locations',
'permission' => 'manage manual locations',
'route' => 'manage.manual_locations',
'icon' => 'MapIcon',
],
[
'name' => 'Server Performance',
'name' => 'Server Performance',
'permission' => 'superuser',
'route' => 'performance.index',
'icon' => 'FireIcon',
Expand Down
2 changes: 1 addition & 1 deletion config/web.images.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
return [
'logo' => env('LOGO_PATH', 'img/seat_plus.svg'),
'icon' => env('ICON_PATH', 'img/seat_plus_logo.svg'),
];
];
45 changes: 0 additions & 45 deletions config/web.jobs.php

This file was deleted.

3 changes: 0 additions & 3 deletions config/web.permissions.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,6 @@
*/

return [
'create,update and delete access control group',
'manage access control group',

'view member tracking',
'view member compliance',
'member compliance: review user',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@

return new class extends Migration
{

public function up()
{
Schema::create('onboardings', function (Blueprint $table) {
Expand All @@ -39,5 +38,4 @@ public function up()
$table->timestamps();
});
}

};
Loading
Loading