usecase

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2026 License: AGPL-3.0 Imports: 22 Imported by: 0

Documentation

Overview

Package usecase implements the top-level application use cases for happyDomain. Each file wires together lower-level domain services to fulfil a single business capability: user authentication, DNS resolution, provider settings wizard, and database tidy-up. These usecases are consumed directly by the HTTP/API layer and delegate persistence to the storage interfaces defined in the sub-packages.

Index

Constants

This section is empty.

Variables

View Source
var (
	RRToAskForANY = []uint16{dns.TypeSOA, dns.TypeA, dns.TypeAAAA, dns.TypeNS, dns.TypeMX, dns.TypeTXT}
)

Functions

func NewAuthenticationUsecase

func NewAuthenticationUsecase(cfg *happydns.Options, store AuthenticationStorage, userService happydns.UserUsecase) happydns.AuthenticationUsecase

func NewFormUsecase

func NewFormUsecase(cfg *happydns.Options) happydns.FormUsecase

NewFormUsecase returns a FormUsecase backed by the given application options.

func NewProviderSettingsUsecase

func NewProviderSettingsUsecase(cfg *happydns.Options, ps happydns.ProviderUsecase) happydns.ProviderSettingsUsecase

func NewProviderSpecsUsecase

func NewProviderSpecsUsecase() happydns.ProviderSpecsUsecase

func NewResolverUsecase

func NewResolverUsecase(cfg *happydns.Options) happydns.ResolverUsecase

func NewServiceSpecsUsecase

func NewServiceSpecsUsecase() happydns.ServiceSpecsUsecase

NewServiceSpecsUsecase creates a new ServiceSpecsUsecase.

func NewTidyUpUsecase

func NewTidyUpUsecase(store storage.Storage) happydns.TidyUpUseCase

Types

type AuthenticationStorage

type AuthenticationStorage interface {
	authuser.AuthUserStorage
	user.UserStorage
}

Source Files

  • authentication_usecase.go
  • doc.go
  • form_usecase.go
  • provider_settings_usecase.go
  • provider_specs_usecase.go
  • resolver_usecase.go
  • service_specs_dns_types.go
  • service_specs_usecase.go
  • tidy_usecase.go

Directories

Path Synopsis
Package authuser groups all use cases related to authenticated user management: registration, password changes, email validation, account recovery, and deletion.
Package authuser groups all use cases related to authenticated user management: registration, password changes, email validation, account recovery, and deletion.
Package domain implements the use cases for managing DNS domains in happyDomain.
Package domain implements the use cases for managing DNS domains in happyDomain.
Package domainlog implements the use cases for domain audit-log management.
Package domainlog implements the use cases for domain audit-log management.
Package insight collects anonymous usage statistics about a running happyDomain instance.
Package insight collects anonymous usage statistics about a running happyDomain instance.
Package orchestrator wires together lower-level use-cases to implement the multi-step workflows that span provider access, zone storage, and domain history management.
Package orchestrator wires together lower-level use-cases to implement the multi-step workflows that span provider access, zone storage, and domain history management.
Package provider implements the use cases for DNS provider management.
Package provider implements the use cases for DNS provider management.
Package service implements use cases that operate on individual DNS services (the logical groupings of records within a zone subdomain).
Package service implements use cases that operate on individual DNS services (the logical groupings of records within a zone subdomain).
Package session provides the business logic for managing user sessions in happyDomain.
Package session provides the business logic for managing user sessions in happyDomain.
Package user implements use cases for managing happyDomain user accounts.
Package user implements use cases for managing happyDomain user accounts.
Package zone implements the use cases for DNS zone management in happyDomain.
Package zone implements the use cases for DNS zone management in happyDomain.
Package zoneService implements the use cases for managing DNS services within a zone.
Package zoneService implements the use cases for managing DNS services within a zone.

Jump to

Keyboard shortcuts

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