chore: update
ci-api / test (push) Successful in 21m55s

This commit is contained in:
Xor290
2026-08-02 16:24:28 +02:00
parent b82deee4fb
commit 09928c0d76
3 changed files with 20 additions and 77 deletions
+6 -13
View File
@@ -135,11 +135,11 @@ func (s *Service) ListForUser(username string) ([]Demo, error) {
}
// TransferToPaid marque la démo active du client comme abonnement payant
// (n'expire plus) et déclenche la bascule en stockage persistant (migration
// des données postgres incluse, voir Provisioner.UpgradeToPaid). No-op si le
// client n'a pas de démo active — ce n'est pas une erreur (ex: compte créé
// sans jamais avoir demandé de démo). L'upgrade infra est lent (dump/
// restore/helm) : il tourne en tâche de fond, cette méthode ne bloque pas.
// (n'expire plus). Le stockage (PVC postgres/redis) est déjà en place depuis
// la création de la démo (voir HelmProvisioner.Provision) : rien à basculer
// côté infra, seul le statut change. No-op si le client n'a pas de démo
// active — ce n'est pas une erreur (ex: compte créé sans jamais avoir
// demandé de démo).
func (s *Service) TransferToPaid(username string) error {
existing, err := s.store.ListByUsername(auth.NormalizeUsername(username))
if err != nil {
@@ -159,17 +159,10 @@ func (s *Service) TransferToPaid(username string) error {
active.TypeAbo = "premium"
active.ExpiresAt = s.now().UTC().AddDate(10, 0, 0) // n'expire plus, en pratique
updated, err := s.store.Update(*active)
if err != nil {
if _, err := s.store.Update(*active); err != nil {
return err
}
go func() {
if err := s.prov.UpgradeToPaid(updated); err != nil {
log.Printf("Transfert payant échoué pour %s: %v", updated.Namespace, err)
}
}()
return nil
}