45 lines
1017 B
PHP
45 lines
1017 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace KTXF\Resource\Provider;
|
|
|
|
/**
|
|
* Resource Provider Interface
|
|
*/
|
|
interface ProviderInterface
|
|
{
|
|
|
|
public const TYPE_AUTHENTICATION = 'authentication';
|
|
public const TYPE_PEOPLE = 'people';
|
|
public const TYPE_CHRONO = 'chrono';
|
|
public const TYPE_FILES = 'files';
|
|
public const TYPE_MAIL = 'mail';
|
|
|
|
/**
|
|
* Provider type (e.g., 'authentication', 'storage', 'notification')
|
|
*/
|
|
public function type(): string;
|
|
|
|
/**
|
|
* Unique identifier for this provider instance (e.g., UUID or 'password-auth')
|
|
*/
|
|
public function identifier(): string;
|
|
|
|
/**
|
|
* Human-friendly name (e.g., 'Password Authentication Provider', 'S3 Storage Provider')
|
|
*/
|
|
public function label(): string;
|
|
|
|
/**
|
|
* human-friendly description of this provider's functionality
|
|
*/
|
|
public function description(): string;
|
|
|
|
/**
|
|
* Icon representing this provider (e.g., FontAwesome class)
|
|
*/
|
|
public function icon(): string;
|
|
|
|
}
|