feat: enhance player authentication and agent management features
Some checks failed
lotterLaravel CI / test (push) Has been cancelled

- Updated AGENTS.md to clarify player interface bindings and agent account restrictions.
- Improved PlayerAuthLoginController to include captcha verification for player login.
- Enhanced AdminPlayerIndexController with permission checks for admin users.
- Refactored AdminPlayerStoreController to enforce agent node restrictions for non-super admins.
- Introduced new error codes for player authentication failures and updated related services.
- Enhanced validation rules for agent profiles to include settlement cycle options.
- Improved AdminCaptchaService to support separate scopes for admin and player captcha handling.
- Updated various services to ensure proper credit management and settlement processes.
This commit is contained in:
2026-06-17 15:27:00 +08:00
parent b496a9457c
commit 2e0b257160
49 changed files with 714 additions and 334 deletions

View File

@@ -29,6 +29,11 @@ test('super admin can provision root agent on existing integration site', functi
'code' => 'line-alpha',
'name' => 'Line Alpha Site',
'status' => 1,
'admin_account' => [
'username' => 'line_alpha_site_admin',
'nickname' => 'Line Alpha Admin',
'password' => 'secret-strong',
],
])
->assertCreated()
->assertJsonPath('data.code', 'line-alpha');
@@ -80,6 +85,11 @@ test('agent line provision rejects site that already has root', function (): voi
->postJson('/api/v1/admin/integration-sites', [
'code' => 'line-beta',
'name' => 'Line Beta Site',
'admin_account' => [
'username' => 'line_beta_site_admin',
'nickname' => 'Line Beta Admin',
'password' => 'secret-strong',
],
])
->assertCreated();
@@ -150,6 +160,11 @@ test('integration manager with site.manage can create integration site', functio
->postJson('/api/v1/admin/integration-sites', [
'code' => 'ops-site',
'name' => 'Ops Site',
'admin_account' => [
'username' => 'ops_site_admin',
'nickname' => 'Ops Admin',
'password' => 'secret-strong',
],
])
->assertCreated()
->assertJsonPath('data.code', 'ops-site');