Aller au contenu principal
Version: v1

Système de serveur

CLIENTXCMS introduit un système pour gérer la livraison de service avec l'interface ClientX\ServerTypeInterface qui définit les méthodes nécessaires pour la gestion des services. Cette interface permet de typer et de gérer différents aspects des services, comme la création de comptes, la suspension et l'expiration.

Méthodes

type(): string

Retourne le type du serveur.

name(): string

Retourne le nom du type de serveur.

for(): array

Retourne un tableau des types de produit pour lesquels ce serveur est utilisable.

findServer(OrderItem $item): ?Server

Trouve le serveur associé à un élément de commande.

testConnection(array $params): ConnectionResponse

Teste la connexion avec les paramètres fournis et retourne une réponse de connexion.

validate(array $params): Validator

Valide les paramètres fournis et retourne du validateur.

createAccount(OrderItem $item): string

Crée un compte associé à l'élément de commande. Retourne "success" en cas de succès ou autre en cas d'échec.

suspendAccount(Service $service): string

Suspend un compte de service. Retourne "success" en cas de succès ou autre en cas d'échec.

unsuspendAccount(Service $service): string

Rétablit un compte de service suspendu. Retourne "success" en cas de succès ou autre en cas d'échec.

expireAccount(Service $service): string

Expire un compte de service. Retourne "success" en cas de succès ou autre en cas d'échec.

terminateAccount(Service $service): string

Dépréciée: Utilisez expireAccount à la place. Termine un compte de service. Retourne "success" en cas de succès ou autre en cas d'échec.

changePassword(Service $service, ?string $password = null): string

Change le mot de passe d'un service. Retourne "success" en cas de succès ou autre en cas d'échec. Si le mot de passe est null, envoie "can" si le serveur supporte le changement de mot de passe du service (par exemple, réinitialisation des accès).

changeName(Service $service, ?string $name = null): ?string

Change le nom d'un service. Retourne "success" en cas de succès ou autre en cas d'échec.

Intégration dans le conteneur

Pour utiliser les classes implémentant l' interface ServerTypeInterface vous devez les ajouter dans le conteneur sous la clé 'servers.types' avec les noms de classes associés.

Exemple de configuration dans le fichier du conteneur du module :

<?php
use function \DI\get;
use function \DI\add;
return [
// ...
'servers.types' => [
add(get(\App\Example\ExampleServerType::class)),
// Ajoutez d'autres types de serveur ici...
],
// ...
];