Files
server/shared/lib/Resource/Provider/ProviderInterface.php
2026-02-10 18:46:11 -05:00

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