Files
server/shared/lib/Resource/Provider/ProviderInterface.php
T
2026-08-28 23:51:29 -04:00

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;
}