singleloginsystem/app/Data/Application/StoreOIDCAppData.php
= 7f02209631 Feat: Add OIDC app creation feature with access URL support, Hide SAML, Microservice
- Introduced tests for OIDC app creation, including validation for access URL formatting.
- Updated enums and services to streamline application type and protocol handling.
- Added `accessUrl` support across backend, services, and UI to enhance app functionality and user accessibility.
- Refactored and commented out unused enum values and providers to improve maintainability.
2026-06-22 05:54:36 +00:00

41 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Data\Application;
use App\Enums\{ApplicationTypeEnum, UserAccessTypeEnum};
use Livewire\Features\SupportFileUploads\TemporaryUploadedFile;
use Spatie\LaravelData\Data;
class StoreOIDCAppData extends Data
{
public function __construct(
public ApplicationTypeEnum $type,
public string $name,
public UserAccessTypeEnum $userAccessType,
public string $accessUrl,
/** @var array<string> */
public array $signInUris = [],
/** @var array<string> */
public array $signOutUris = [],
public ?TemporaryUploadedFile $logo = null,
/** @var array<int> */
public array $roleIds = [],
) {}
public static function fromArray(ApplicationTypeEnum $applicationType, array $value): StoreOIDCAppData
{
return new self(
type: $applicationType,
name: $value['name'],
userAccessType: UserAccessTypeEnum::from($value['userAccessOption']),
accessUrl: $value['accessUrl'],
signInUris: $value['signInUris'] ?? [],
signOutUris: $value['signOutUris'] ?? [],
logo: $value['logo'] ?? null,
roleIds: $value['roleIds'] ?? [],
);
}
}