api

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: May 17, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DefaultAPITimeoutSeconds is the default timeout for API operations in seconds.
	DefaultAPITimeoutSeconds = 300 // 5 minutes
)

Variables

This section is empty.

Functions

func MapCleanResultToPublic

func MapCleanResultToPublic(domainResult domain.CleanResult) result.Result[*PublicCleanResult]

MapCleanResultToPublic converts domain clean result to public API type.

func MapConfigToDomain

func MapConfigToDomain(publicConfig *PublicConfig) result.Result[*domain.Config]

MapConfigToDomain converts public API config to internal domain model.

func MapConfigToPublic

func MapConfigToPublic(domainConfig *domain.Config) result.Result[*PublicConfig]

MapConfigToPublic converts internal domain config to public API type.

func MapOperationToDomain

func MapOperationToDomain(publicOperation *PublicOperation) (*domain.CleanupOperation, error)

MapOperationToDomain converts public API operation to domain model.

func MapProfileToDomain

func MapProfileToDomain(publicProfile *PublicProfile) (*domain.Profile, error)

MapProfileToDomain converts public API profile to domain model.

func MapRiskLevelToDomain

func MapRiskLevelToDomain(publicRisk PublicRiskLevel) (domain.RiskLevelType, error)

MapRiskLevelToDomain converts public risk level string to domain enum.

Types

type OperationSettings

type OperationSettings struct {
	DryRun              bool  `json:"dryRun"`
	Verbose             bool  `json:"verbose"`
	TimeoutSeconds      int32 `json:"timeoutSeconds"`
	ConfirmBeforeDelete bool  `json:"confirmBeforeDelete"`
}

func MapOperationSettingsToPublic

func MapOperationSettingsToPublic(settings *domain.OperationSettings) OperationSettings

MapOperationSettingsToPublic converts complex domain settings to simplified public API settings.

type PublicCleanResult

type PublicCleanResult struct {
	Success      bool           `json:"success"`
	FreedBytes   uint64         `json:"freedBytes"`
	ItemsRemoved uint32         `json:"itemsRemoved"`
	ItemsFailed  uint32         `json:"itemsFailed"`
	CleanTime    string         `json:"cleanTime"` // ISO 8601 duration
	CleanedAt    string         `json:"cleanedAt"` // ISO 8601 timestamp
	Strategy     PublicStrategy `json:"strategy"`
	Errors       []string       `json:"errors,omitempty"`
}

type PublicConfig

type PublicConfig struct {
	Version        string                    `json:"version"`
	SafeMode       bool                      `json:"safeMode"`
	MaxDiskUsage   int32                     `json:"maxDiskUsage"`
	ProtectedPaths []string                  `json:"protectedPaths"`
	Profiles       map[string]*PublicProfile `json:"profiles"`
}

type PublicOperation

type PublicOperation struct {
	Name        string            `json:"name"`
	Description string            `json:"description"`
	RiskLevel   PublicRiskLevel   `json:"riskLevel"`
	Enabled     bool              `json:"enabled"`
	Settings    OperationSettings `json:"settings"`
}

func MapOperationToPublic

func MapOperationToPublic(domainOperation *domain.CleanupOperation) *PublicOperation

MapOperationToPublic converts domain operation to public API type.

type PublicProfile

type PublicProfile struct {
	Name        string            `json:"name"`
	Description string            `json:"description"`
	Enabled     bool              `json:"enabled"`
	Operations  []PublicOperation `json:"operations"`
}

func MapProfileToPublic

func MapProfileToPublic(domainProfile *domain.Profile) *PublicProfile

MapProfileToPublic converts domain profile to public API type.

type PublicRiskLevel

type PublicRiskLevel string
const (
	PublicRiskLow      PublicRiskLevel = "LOW"
	PublicRiskMedium   PublicRiskLevel = "MEDIUM"
	PublicRiskHigh     PublicRiskLevel = "HIGH"
	PublicRiskCritical PublicRiskLevel = "CRITICAL"
)

func MapRiskLevelToPublic

func MapRiskLevelToPublic(domainRisk domain.RiskLevelType) PublicRiskLevel

MapRiskLevelToPublic converts domain risk level enum to public string.

type PublicStrategy

type PublicStrategy string
const (
	PublicStrategyAggressive   PublicStrategy = "aggressive"
	PublicStrategyConservative PublicStrategy = "conservative"
	PublicStrategyDryRun       PublicStrategy = "dry-run"
)

func MapStrategyToPublic

func MapStrategyToPublic(domainStrategy domain.CleanStrategyType) PublicStrategy

MapStrategyToPublic converts domain strategy enum to public string.

Jump to

Keyboard shortcuts

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