30a8eddf06
Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
47 lines
1.1 KiB
PHP
47 lines
1.1 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace KTXF\Resource\Provider;
|
|
|
|
/**
|
|
* Resource Provider Interface
|
|
*/
|
|
interface ProviderInterface
|
|
{
|
|
|
|
public const TYPE_AUTHENTICATION = 'authentication';
|
|
public const TYPE_DOCUMENT = 'document';
|
|
public const TYPE_PEOPLE = 'people';
|
|
public const TYPE_CHRONO = 'chrono';
|
|
public const TYPE_MAIL = 'mail';
|
|
public const TYPE_SYSTEM_STORE = 'system-store';
|
|
public const TYPE_PREVIEW = 'preview';
|
|
|
|
/**
|
|
* Provider type (e.g., 'authentication', 'document', 'people', 'chrono', 'mail')
|
|
*/
|
|
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;
|
|
|
|
}
|