provider

package
v0.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 21, 2025 License: AGPL-3.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ParseProvider

func ParseProvider(msg *happydns.ProviderMessage) (p *happydns.Provider, err error)

Types

type CreateDomainOnProviderUsecase

type CreateDomainOnProviderUsecase struct{}

func NewCreateDomainOnProviderUsecase

func NewCreateDomainOnProviderUsecase() *CreateDomainOnProviderUsecase

func (*CreateDomainOnProviderUsecase) Create

func (uc *CreateDomainOnProviderUsecase) Create(provider *happydns.Provider, fqdn string) error

type CreateProviderUsecase

type CreateProviderUsecase struct {
	// contains filtered or unexported fields
}

func NewCreateProviderUsecase

func NewCreateProviderUsecase(store ProviderStorage, checker ProviderValidator) *CreateProviderUsecase

func (*CreateProviderUsecase) Create

func (uc *CreateProviderUsecase) Create(user *happydns.User, msg *happydns.ProviderMessage) (*happydns.Provider, error)

type DefaultProviderValidator

type DefaultProviderValidator struct{}

func (*DefaultProviderValidator) Validate

func (v *DefaultProviderValidator) Validate(p *happydns.Provider) error

type DeleteProviderUsecase

type DeleteProviderUsecase struct {
	// contains filtered or unexported fields
}

func NewDeleteProviderUsecase

func NewDeleteProviderUsecase(store ProviderStorage) *DeleteProviderUsecase

func (*DeleteProviderUsecase) Delete

func (uc *DeleteProviderUsecase) Delete(user *happydns.User, providerID happydns.Identifier) error

type DomainExistenceUsecase

type DomainExistenceUsecase struct{}

func NewDomainExistenceUsecase

func NewDomainExistenceUsecase() *DomainExistenceUsecase

func (*DomainExistenceUsecase) TestDomainExistence

func (uc *DomainExistenceUsecase) TestDomainExistence(provider *happydns.Provider, domain string) error

type GetProviderUsecase

type GetProviderUsecase struct {
	// contains filtered or unexported fields
}

func NewGetProviderUsecase

func NewGetProviderUsecase(store ProviderStorage) *GetProviderUsecase

func (*GetProviderUsecase) Get

func (uc *GetProviderUsecase) Get(user *happydns.User, providerID happydns.Identifier) (*happydns.Provider, error)

func (*GetProviderUsecase) GetMeta

func (uc *GetProviderUsecase) GetMeta(user *happydns.User, providerID happydns.Identifier) (*happydns.ProviderMeta, error)

type ListHostedDomainsUsecase

type ListHostedDomainsUsecase struct{}

func NewListHostedDomainsUsecase

func NewListHostedDomainsUsecase() *ListHostedDomainsUsecase

func (*ListHostedDomainsUsecase) List

func (uc *ListHostedDomainsUsecase) List(provider *happydns.Provider) ([]string, error)

type ListProvidersUsecase

type ListProvidersUsecase struct {
	// contains filtered or unexported fields
}

func NewListProvidersUsecase

func NewListProvidersUsecase(store ProviderStorage) *ListProvidersUsecase

func (*ListProvidersUsecase) List

func (uc *ListProvidersUsecase) List(user *happydns.User) ([]*happydns.ProviderMeta, error)

type ProviderStorage

type ProviderStorage interface {
	// ListAllProviders retrieves the list of known Providers.
	ListAllProviders() (happydns.Iterator[happydns.ProviderMessage], error)

	// ListProviders retrieves all providers own by the given User.
	ListProviders(user *happydns.User) (happydns.ProviderMessages, error)

	// GetProvider retrieves the full Provider with the given identifier and owner.
	GetProvider(prvdid happydns.Identifier) (*happydns.ProviderMessage, error)

	// CreateProvider creates a record in the database for the given Provider.
	CreateProvider(prvd *happydns.Provider) error

	// UpdateProvider updates the fields of the given Provider.
	UpdateProvider(prvd *happydns.Provider) error

	// DeleteProvider removes the given Provider from the database.
	DeleteProvider(prvdid happydns.Identifier) error

	// ClearProviders deletes all Providers present in the database.
	ClearProviders() error
}

type ProviderValidator

type ProviderValidator interface {
	Validate(*happydns.Provider) error
}

type RestrictedService

type RestrictedService struct {
	Service
	// contains filtered or unexported fields
}

func NewRestrictedProviderUsecases

func NewRestrictedProviderUsecases(cfg *happydns.Options, store ProviderStorage) *RestrictedService

func (*RestrictedService) CreateDomainOnProvider

func (s *RestrictedService) CreateDomainOnProvider(provider *happydns.Provider, fqdn string) error

func (*RestrictedService) CreateProvider

func (s *RestrictedService) CreateProvider(user *happydns.User, msg *happydns.ProviderMessage) (*happydns.Provider, error)

func (*RestrictedService) DeleteProvider

func (s *RestrictedService) DeleteProvider(user *happydns.User, providerID happydns.Identifier) error

func (*RestrictedService) UpdateProvider

func (s *RestrictedService) UpdateProvider(providerID happydns.Identifier, user *happydns.User, updateFn func(*happydns.Provider)) error

func (*RestrictedService) UpdateProviderFromMessage

func (s *RestrictedService) UpdateProviderFromMessage(providerID happydns.Identifier, user *happydns.User, p *happydns.ProviderMessage) error

type Service

type Service struct {
	CreateProviderUC         *CreateProviderUsecase
	CreateDomainOnProviderUC *CreateDomainOnProviderUsecase
	DeleteProviderUC         *DeleteProviderUsecase
	UpdateProviderUC         *UpdateProviderUsecase
	ListHostedDomainsUC      *ListHostedDomainsUsecase
	GetProviderUC            *GetProviderUsecase
	ListProvidersUC          *ListProvidersUsecase
	RetrieveZoneUC           *ZoneRetrieverUsecase
	ZoneCorrectionsUC        *ZoneCorrectorUsecase
	DomainExistenceUC        *DomainExistenceUsecase
}

func NewProviderUsecases

func NewProviderUsecases(store ProviderStorage) *Service

func (*Service) CreateDomainOnProvider

func (s *Service) CreateDomainOnProvider(provider *happydns.Provider, fqdn string) error

func (*Service) CreateProvider

func (s *Service) CreateProvider(user *happydns.User, msg *happydns.ProviderMessage) (*happydns.Provider, error)

func (*Service) DeleteProvider

func (s *Service) DeleteProvider(user *happydns.User, providerID happydns.Identifier) error

func (*Service) GetUserProvider

func (s *Service) GetUserProvider(user *happydns.User, providerID happydns.Identifier) (*happydns.Provider, error)

func (*Service) GetUserProviderMeta

func (s *Service) GetUserProviderMeta(user *happydns.User, providerID happydns.Identifier) (*happydns.ProviderMeta, error)

func (*Service) ListHostedDomains

func (s *Service) ListHostedDomains(provider *happydns.Provider) ([]string, error)

func (*Service) ListUserProviders

func (s *Service) ListUserProviders(user *happydns.User) ([]*happydns.ProviderMeta, error)

func (*Service) ListZoneCorrections

func (s *Service) ListZoneCorrections(provider *happydns.Provider, domain *happydns.Domain, records []happydns.Record) ([]*happydns.Correction, error)

func (*Service) RetrieveZone

func (s *Service) RetrieveZone(provider *happydns.Provider, name string) ([]happydns.Record, error)

func (*Service) TestDomainExistence

func (s *Service) TestDomainExistence(provider *happydns.Provider, name string) error

func (*Service) UpdateProvider

func (s *Service) UpdateProvider(providerID happydns.Identifier, user *happydns.User, updateFn func(*happydns.Provider)) error

func (*Service) UpdateProviderFromMessage

func (s *Service) UpdateProviderFromMessage(providerID happydns.Identifier, user *happydns.User, p *happydns.ProviderMessage) error

type UpdateProviderUsecase

type UpdateProviderUsecase struct {
	// contains filtered or unexported fields
}

func NewUpdateProviderUsecase

func NewUpdateProviderUsecase(store ProviderStorage, getProvider *GetProviderUsecase, checker ProviderValidator) *UpdateProviderUsecase

func (*UpdateProviderUsecase) FromMessage

func (uc *UpdateProviderUsecase) FromMessage(providerid happydns.Identifier, user *happydns.User, p *happydns.ProviderMessage) error

func (*UpdateProviderUsecase) Update

func (uc *UpdateProviderUsecase) Update(providerid happydns.Identifier, user *happydns.User, upd func(*happydns.Provider)) error

type ZoneCorrectorUsecase

type ZoneCorrectorUsecase struct{}

func NewZoneCorrectorUsecase

func NewZoneCorrectorUsecase() *ZoneCorrectorUsecase

func (*ZoneCorrectorUsecase) List

func (uc *ZoneCorrectorUsecase) List(provider *happydns.Provider, domain *happydns.Domain, records []happydns.Record) ([]*happydns.Correction, error)

type ZoneRetrieverUsecase

type ZoneRetrieverUsecase struct{}

func NewZoneRetrieverUsecase

func NewZoneRetrieverUsecase() *ZoneRetrieverUsecase

func (*ZoneRetrieverUsecase) RetrieveCurrentZone

func (uc *ZoneRetrieverUsecase) RetrieveCurrentZone(provider *happydns.Provider, domain string) ([]happydns.Record, error)

Source Files

  • create_domain.go
  • create_provider.go
  • delete_provider.go
  • factory.go
  • get_provider.go
  • list_hosted_domains.go
  • list_providers.go
  • parse_provider.go
  • provider_storage.go
  • retrieve_zone.go
  • test_domain_existence.go
  • update_provider.go
  • validator.go
  • zone_correction.go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL