chore: update
This commit is contained in:
@@ -3,6 +3,7 @@ package demos
|
||||
import (
|
||||
"errors"
|
||||
"log"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/google/uuid"
|
||||
@@ -192,6 +193,39 @@ func (s *Service) urlFor(namespace string) string {
|
||||
return "https://" + namespace + "." + s.cfg.BaseDomain + portSuffix
|
||||
}
|
||||
|
||||
// SetDomain modifie le domaine public d'une démo (IngressRoute, et
|
||||
// re-branchement des webhooks Telegram si un bot est configuré — voir
|
||||
// HelmProvisioner.UpdateDomain). domain vide réinitialise au domaine par
|
||||
// défaut ("<namespace>.<baseDomain>"). Contrairement à
|
||||
// MigrateToPremiumNamespace, c'est une opération rapide (aucune donnée à
|
||||
// migrer, aucun namespace à recréer) : appliquée de façon synchrone.
|
||||
func (s *Service) SetDomain(id, domain string) (Demo, error) {
|
||||
domain = strings.ToLower(strings.TrimSpace(domain))
|
||||
if err := ValidateDomain(domain); err != nil {
|
||||
return Demo{}, err
|
||||
}
|
||||
|
||||
d, ok := s.store.Get(id)
|
||||
if !ok {
|
||||
return Demo{}, ErrNotFound
|
||||
}
|
||||
|
||||
newURL := domain
|
||||
if newURL == "" {
|
||||
newURL = s.urlFor(d.Namespace)
|
||||
} else {
|
||||
newURL = "https://" + domain
|
||||
}
|
||||
|
||||
if err := s.prov.UpdateDomain(d, newURL); err != nil {
|
||||
return Demo{}, err
|
||||
}
|
||||
|
||||
d.CustomDomain = domain
|
||||
d.URL = newURL
|
||||
return s.store.Update(d)
|
||||
}
|
||||
|
||||
// Delete déclenche le teardown et libère le pool.
|
||||
func (s *Service) Delete(id string) (Demo, error) {
|
||||
d, ok := s.store.Get(id)
|
||||
|
||||
Reference in New Issue
Block a user