feat: Provisionner automatiquement un nouvel établissement
Lorsqu'un super-admin crée un établissement via l'interface, le système doit automatiquement créer la base tenant, exécuter les migrations, créer le premier utilisateur admin et envoyer l'invitation — le tout de manière asynchrone pour ne pas bloquer la réponse HTTP. Ce mécanisme rend chaque établissement opérationnel dès sa création sans intervention manuelle sur l'infrastructure.
This commit is contained in:
@@ -65,6 +65,10 @@ final class GradeResource
|
||||
|
||||
public ?string $appreciation = null;
|
||||
|
||||
public ?string $createdByName = null;
|
||||
|
||||
public ?bool $isReplacement = null;
|
||||
|
||||
public ?DateTimeImmutable $createdAt = null;
|
||||
|
||||
public ?DateTimeImmutable $updatedAt = null;
|
||||
@@ -76,8 +80,12 @@ final class GradeResource
|
||||
|
||||
public ?DateTimeImmutable $gradesPublishedAt = null;
|
||||
|
||||
public static function fromDomain(Grade $grade, ?string $studentName = null): self
|
||||
{
|
||||
public static function fromDomain(
|
||||
Grade $grade,
|
||||
?string $studentName = null,
|
||||
?string $createdByName = null,
|
||||
?bool $isReplacement = null,
|
||||
): self {
|
||||
$resource = new self();
|
||||
$resource->id = (string) $grade->id;
|
||||
$resource->evaluationId = (string) $grade->evaluationId;
|
||||
@@ -86,6 +94,8 @@ final class GradeResource
|
||||
$resource->value = $grade->value?->value;
|
||||
$resource->status = $grade->status->value;
|
||||
$resource->appreciation = $grade->appreciation;
|
||||
$resource->createdByName = $createdByName;
|
||||
$resource->isReplacement = $isReplacement;
|
||||
$resource->createdAt = $grade->createdAt;
|
||||
$resource->updatedAt = $grade->updatedAt;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user