Documentation
¶
Overview ¶
Package settings owns persisted application settings and their HTTP surface.
Index ¶
- Constants
- func RegisterSettings(api huma.API, settingsService *SettingsService, ...)
- type Dependencies
- type GetCategoriesOutput
- type GetPublicSettingsInput
- type GetPublicSettingsOutput
- type GetSettingsInput
- type GetSettingsOutput
- type Module
- type OidcConfig
- type SearchSettingsInput
- type SearchSettingsOutput
- type SettingKeyNotFoundError
- type SettingSensitiveForbiddenError
- type SettingVariable
- type SettingVisibility
- type Settings
- func (s *Settings) Clone() *Settings
- func (s *Settings) FieldByKey(key string) (defaultValue string, isPublic bool, isSensitive bool, err error)
- func (s *Settings) ToSettingVariableSlice(visibility SettingVisibility, redactSensitiveValues bool) []SettingVariable
- func (s *Settings) UpdateField(key string, value string, noSensitive bool) error
- type SettingsHandler
- func (h *SettingsHandler) GetCategories(ctx context.Context, input *struct{}) (*GetCategoriesOutput, error)
- func (h *SettingsHandler) GetPublicSettings(ctx context.Context, input *GetPublicSettingsInput) (*GetPublicSettingsOutput, error)
- func (h *SettingsHandler) GetSettings(ctx context.Context, input *GetSettingsInput) (*GetSettingsOutput, error)
- func (h *SettingsHandler) Search(ctx context.Context, input *SearchSettingsInput) (*SearchSettingsOutput, error)
- func (h *SettingsHandler) UpdateSettings(ctx context.Context, input *UpdateSettingsInput) (*UpdateSettingsOutput, error)
- type SettingsSearchService
- type SettingsService
- func (s *SettingsService) EnsureDefaultSettings(ctx context.Context) error
- func (s *SettingsService) EnsureEncryptionKey(ctx context.Context) (string, error)
- func (s *SettingsService) GetBoolSetting(ctx context.Context, key string, defaultValue bool) bool
- func (s *SettingsService) GetIntSetting(ctx context.Context, key string, defaultValue int) int
- func (s *SettingsService) GetSettingType(key string) string
- func (s *SettingsService) GetSettings(ctx context.Context) (*Settings, error)
- func (s *SettingsService) GetSettingsConfig() *Settings
- func (s *SettingsService) GetSettingsOrDefaults(ctx context.Context) *Settings
- func (s *SettingsService) GetStringSetting(ctx context.Context, key, defaultValue string) string
- func (s *SettingsService) IsEnvOverrideActive(key string) bool
- func (s *SettingsService) ListSettings(visibility SettingVisibility) []SettingVariable
- func (s *SettingsService) LoadDatabaseSettings(ctx context.Context) (err error)
- func (s *SettingsService) NormalizeBuildsDirectory(ctx context.Context) error
- func (s *SettingsService) NormalizeProjectsDirectory(ctx context.Context, projectsDirEnv string) error
- func (s *SettingsService) NotifySettingsChanges(ctx context.Context, keys ...string) error
- func (s *SettingsService) PersistEnvSettingsIfMissing(ctx context.Context) error
- func (s *SettingsService) PruneUnknownSettings(ctx context.Context) error
- func (s *SettingsService) SetBoolSetting(ctx context.Context, key string, value bool) error
- func (s *SettingsService) SetContainerAutoUpdateExclusionInternal(ctx context.Context, containerName string, excluded bool) error
- func (s *SettingsService) SetIntSetting(ctx context.Context, key string, value int) error
- func (s *SettingsService) SetStringSetting(ctx context.Context, key, value string) error
- func (s *SettingsService) SubscribeSettingsChanges(keys []string, callback func([]libarcane.SettingUpdate)) func()
- func (s *SettingsService) UpdateSetting(ctx context.Context, key, value string) error
- func (s *SettingsService) UpdateSettingValues(ctx context.Context, updates []libarcane.SettingUpdate) error
- func (s *SettingsService) UpdateSettings(ctx context.Context, updates settingstypes.Update) ([]SettingVariable, error)
- type UpdateSettingsInput
- type UpdateSettingsOutput
Constants ¶
const ( // DefaultArcaneToolsImage is the shared Arcane toolbox image used for helper commands. DefaultArcaneToolsImage = "ghcr.io/getarcaneapp/tools:latest" // DefaultTrivyImage is the default vulnerability scanner image setting. DefaultTrivyImage = DefaultArcaneToolsImage )
Variables ¶
This section is empty.
Functions ¶
func RegisterSettings ¶
func RegisterSettings(api huma.API, settingsService *SettingsService, settingsSearchService *SettingsSearchService, proxyRemoteJSON handlerutil.RemoteJSONProxy, cfg *config.Config)
RegisterSettings registers settings management routes using Huma.
Types ¶
type Dependencies ¶
type Dependencies struct {
Search *SettingsSearchService
ProxyRemoteJSON handlerutil.RemoteJSONProxy
Config *config.Config
}
Dependencies are the handler-side collaborators for the settings domain.
type GetCategoriesOutput ¶
type GetPublicSettingsInput ¶
type GetPublicSettingsInput struct {
EnvironmentID string `path:"id" doc:"Environment ID"`
}
type GetPublicSettingsOutput ¶
type GetPublicSettingsOutput struct {
Body []settingstypes.PublicSetting
}
type GetSettingsInput ¶
type GetSettingsInput struct {
EnvironmentID string `path:"id" doc:"Environment ID"`
}
type GetSettingsOutput ¶
type GetSettingsOutput struct {
Body []settingstypes.PublicSetting
}
type Module ¶
type Module struct {
// contains filtered or unexported fields
}
Module joins the settings service with its route dependencies.
func New ¶
func New(service *SettingsService, deps Dependencies) *Module
New builds the settings domain around its initialized actor-backed service.
func (*Module) RegisterRoutes ¶
RegisterRoutes mounts settings endpoints for runtime and schema discovery.
func (*Module) Service ¶
func (m *Module) Service() *SettingsService
Service exposes settings operations to collaborating domains.
type OidcConfig ¶ added in v2.8.1
type OidcConfig struct {
ClientID string `json:"clientId"`
ClientSecret string `json:"clientSecret"`
IssuerURL string `json:"issuerUrl"`
Scopes string `json:"scopes"`
AuthorizationEndpoint string `json:"authorizationEndpoint,omitempty"`
TokenEndpoint string `json:"tokenEndpoint,omitempty"`
UserinfoEndpoint string `json:"userinfoEndpoint,omitempty"`
JwksURI string `json:"jwksUri,omitempty"`
DeviceAuthorizationEndpoint string `json:"deviceAuthorizationEndpoint,omitempty"`
// GroupsClaim is the claim path Arcane reads group memberships from on
// every OIDC login. Matched against oidc_role_mappings to produce role
// assignments. Default: "groups".
GroupsClaim string `json:"groupsClaim,omitempty"`
SkipTlsVerify bool `json:"skipTlsVerify"`
}
type SearchSettingsInput ¶
type SearchSettingsInput struct {
Body searchtypes.Request `doc:"Search query"`
}
type SearchSettingsOutput ¶
type SearchSettingsOutput struct {
Body searchtypes.Response
}
type SettingKeyNotFoundError ¶ added in v2.8.1
type SettingKeyNotFoundError struct {
// contains filtered or unexported fields
}
func (SettingKeyNotFoundError) Error ¶ added in v2.8.1
func (e SettingKeyNotFoundError) Error() string
func (SettingKeyNotFoundError) Is ¶ added in v2.8.1
func (e SettingKeyNotFoundError) Is(target error) bool
type SettingSensitiveForbiddenError ¶ added in v2.8.1
type SettingSensitiveForbiddenError struct {
// contains filtered or unexported fields
}
func (SettingSensitiveForbiddenError) Error ¶ added in v2.8.1
func (e SettingSensitiveForbiddenError) Error() string
func (SettingSensitiveForbiddenError) Is ¶ added in v2.8.1
func (e SettingSensitiveForbiddenError) Is(target error) bool
type SettingVariable ¶ added in v2.8.1
func (SettingVariable) AsDurationSeconds ¶ added in v2.8.1
func (s SettingVariable) AsDurationSeconds() time.Duration
AsDurationSeconds returns the value as a time.Duration in seconds
func (SettingVariable) AsInt ¶ added in v2.8.1
func (s SettingVariable) AsInt() int
AsInt returns the value as an integer
func (SettingVariable) IsTrue ¶ added in v2.8.1
func (s SettingVariable) IsTrue() bool
IsTrue returns true if the value is a truthy string
func (SettingVariable) TableName ¶ added in v2.8.1
func (SettingVariable) TableName() string
type SettingVisibility ¶ added in v2.8.1
type SettingVisibility int
const ( SettingVisibilityPublic SettingVisibility = iota SettingVisibilityNonAdmin SettingVisibilityAll )
type Settings ¶ added in v2.8.1
type Settings struct {
// General category
ProjectsDirectory SettingVariable `` /* 234-byte string literal not displayed */
TemplatesDirectory SettingVariable `` /* 252-byte string literal not displayed */
FollowProjectSymlinks SettingVariable `` /* 287-byte string literal not displayed */
SwarmStackSourcesDirectory SettingVariable `` /* 273-byte string literal not displayed */
DiskUsagePath SettingVariable `` /* 171-byte string literal not displayed */
BaseServerURL SettingVariable `` /* 183-byte string literal not displayed */
EnableGravatar SettingVariable `` /* 203-byte string literal not displayed */
AvatarMaxUploadSizeMb SettingVariable `` /* 258-byte string literal not displayed */
DefaultShell SettingVariable `` /* 162-byte string literal not displayed */
EnvironmentHealthInterval SettingVariable `` /* 395-byte string literal not displayed */
// Docker category
AutoUpdate SettingVariable `` /* 208-byte string literal not displayed */
AutoUpdateInterval SettingVariable `` /* 223-byte string literal not displayed */
AutoUpdateExcludedContainers SettingVariable `` /* 210-byte string literal not displayed */
PollingEnabled SettingVariable `` /* 197-byte string literal not displayed */
PollingInterval SettingVariable `` /* 209-byte string literal not displayed */
ImageEventWatcherEnabled SettingVariable `` /* 269-byte string literal not displayed */
DockerClientRefreshInterval SettingVariable `` /* 274-byte string literal not displayed */
EventCleanupInterval SettingVariable `` /* 213-byte string literal not displayed */
ExpiredSessionsCleanupInterval SettingVariable `` /* 266-byte string literal not displayed */
ActivityHistoryRetentionDays SettingVariable `` /* 418-byte string literal not displayed */
ActivityHistoryMaxEntries SettingVariable `` /* 285-byte string literal not displayed */
MaxConcurrentActivities SettingVariable `` /* 275-byte string literal not displayed */
AutoInjectEnv SettingVariable `` /* 243-byte string literal not displayed */
DefaultDeployPullPolicy SettingVariable `` /* 215-byte string literal not displayed */
ScheduledPruneEnabled SettingVariable `` /* 213-byte string literal not displayed */
ScheduledPruneInterval SettingVariable `` /* 207-byte string literal not displayed */
PruneContainerMode SettingVariable `` /* 234-byte string literal not displayed */
PruneContainerUntil SettingVariable `` /* 238-byte string literal not displayed */
PruneImageMode SettingVariable `` /* 223-byte string literal not displayed */
PruneImageUntil SettingVariable `` /* 222-byte string literal not displayed */
PruneVolumeMode SettingVariable `` /* 224-byte string literal not displayed */
PruneNetworkMode SettingVariable `` /* 225-byte string literal not displayed */
PruneNetworkUntil SettingVariable `` /* 230-byte string literal not displayed */
PruneBuildCacheMode SettingVariable `` /* 241-byte string literal not displayed */
PruneBuildCacheUntil SettingVariable `` /* 244-byte string literal not displayed */
AutoHealEnabled SettingVariable `` /* 217-byte string literal not displayed */
AutoHealInterval SettingVariable `` /* 214-byte string literal not displayed */
AutoHealExcludedContainers SettingVariable `` /* 233-byte string literal not displayed */
AutoHealMaxRestarts SettingVariable `` /* 237-byte string literal not displayed */
AutoHealRestartWindow SettingVariable `` /* 238-byte string literal not displayed */
VolumeHelperIdleTimeout SettingVariable `` /* 278-byte string literal not displayed */
MaxImageUploadSize SettingVariable `` /* 232-byte string literal not displayed */
GitSyncMaxFiles SettingVariable `` /* 275-byte string literal not displayed */
GitSyncMaxTotalSizeMb SettingVariable `` /* 295-byte string literal not displayed */
GitSyncMaxBinarySizeMb SettingVariable `` /* 310-byte string literal not displayed */
DockerHost SettingVariable `` /* 175-byte string literal not displayed */
BuildProvider SettingVariable `` /* 308-byte string literal not displayed */
BuildsDirectory SettingVariable `` /* 192-byte string literal not displayed */
BuildTimeout SettingVariable `` /* 204-byte string literal not displayed */
DepotProjectId SettingVariable `` /* 165-byte string literal not displayed */
DepotToken SettingVariable `` /* 167-byte string literal not displayed */
// Authentication and security categories
AuthLocalEnabled SettingVariable `` /* 400-byte string literal not displayed */
AuthSessionTimeout SettingVariable `` /* 203-byte string literal not displayed */
AuthPasswordPolicy SettingVariable `` /* 209-byte string literal not displayed */
VulnerabilityScanEnabled SettingVariable `` /* 389-byte string literal not displayed */
VulnerabilityScanInterval SettingVariable `` /* 243-byte string literal not displayed */
TrivyImage SettingVariable `` /* 216-byte string literal not displayed */
TrivyNetwork SettingVariable `` /* 293-byte string literal not displayed */
TrivySecurityOpts SettingVariable `` /* 319-byte string literal not displayed */
TrivyPrivileged SettingVariable `` /* 244-byte string literal not displayed */
TrivyPreserveCacheOnVolumePrune SettingVariable `` /* 287-byte string literal not displayed */
TrivyResourceLimitsEnabled SettingVariable `` /* 238-byte string literal not displayed */
TrivyCpuLimit SettingVariable `` /* 261-byte string literal not displayed */
TrivyMemoryLimitMb SettingVariable `` /* 246-byte string literal not displayed */
TrivyConcurrentScanContainers SettingVariable `` /* 302-byte string literal not displayed */
TrivyConfig SettingVariable `` /* 200-byte string literal not displayed */
TrivyIgnore SettingVariable `` /* 216-byte string literal not displayed */
TrivyServerEnabled SettingVariable `` /* 372-byte string literal not displayed */
TrivyServerUrl SettingVariable `` /* 276-byte string literal not displayed */
TrivyServerToken SettingVariable `` /* 285-byte string literal not displayed */
TrivyIgnoreUnfixed SettingVariable `` /* 316-byte string literal not displayed */
LifecycleEnabled SettingVariable `` /* 327-byte string literal not displayed */
LifecycleDefaultRunnerImage SettingVariable `` /* 303-byte string literal not displayed */
LifecycleMaxTimeoutSec SettingVariable `` /* 276-byte string literal not displayed */
OidcEnabled SettingVariable `` /* 230-byte string literal not displayed */
OidcClientId SettingVariable `` /* 178-byte string literal not displayed */
OidcClientSecret SettingVariable `` /* 195-byte string literal not displayed */
OidcIssuerUrl SettingVariable `` /* 191-byte string literal not displayed */
OidcAuthorizationEndpoint SettingVariable `` /* 217-byte string literal not displayed */
OidcTokenEndpoint SettingVariable `` /* 185-byte string literal not displayed */
OidcUserinfoEndpoint SettingVariable `` /* 197-byte string literal not displayed */
OidcJwksEndpoint SettingVariable `` /* 186-byte string literal not displayed */
OidcDeviceAuthorizationEndpoint SettingVariable `` /* 271-byte string literal not displayed */
OidcScopes SettingVariable `` /* 181-byte string literal not displayed */
OidcGroupsClaim SettingVariable `` /* 245-byte string literal not displayed */
OidcSkipTlsVerify SettingVariable `` /* 210-byte string literal not displayed */
OidcAutoRedirectToProvider SettingVariable `` /* 243-byte string literal not displayed */
OidcMergeAccounts SettingVariable `` /* 259-byte string literal not displayed */
OidcProviderName SettingVariable `` /* 227-byte string literal not displayed */
OidcProviderLogoUrl SettingVariable `` /* 211-byte string literal not displayed */
OidcMobileRedirectUris SettingVariable `` /* 286-byte string literal not displayed */
// Notifications category (placeholder for category metadata only - actual settings managed via notification service)
NotificationsCategoryPlaceholder SettingVariable `` /* 396-byte string literal not displayed */
AgentToken SettingVariable `key:"agentToken,internal,sensitive"`
InstanceID SettingVariable `key:"instanceId,internal"`
// Users category (admin management page - no actual settings)
UsersCategoryPlaceholder SettingVariable `` /* 304-byte string literal not displayed */
// API Keys category (admin management page - no actual settings)
ApiKeysCategoryPlaceholder SettingVariable `` /* 351-byte string literal not displayed */
FederatedCredentialsCategoryPlaceholder SettingVariable `` /* 262-byte string literal not displayed */
// Webhooks category (management page - no actual settings)
WebhooksCategoryPlaceholder SettingVariable `` /* 392-byte string literal not displayed */
// Timeout category
DockerAPITimeout SettingVariable `` /* 362-byte string literal not displayed */
DockerImagePullTimeout SettingVariable `` /* 243-byte string literal not displayed */
TrivyScanTimeout SettingVariable `` /* 231-byte string literal not displayed */
GitOperationTimeout SettingVariable `` /* 237-byte string literal not displayed */
HTTPClientTimeout SettingVariable `` /* 218-byte string literal not displayed */
RegistryTimeout SettingVariable `` /* 218-byte string literal not displayed */
ProxyRequestTimeout SettingVariable `` /* 215-byte string literal not displayed */
DeployWaitTimeout SettingVariable `` /* 291-byte string literal not displayed */
}
func DefaultSettingsConfig ¶
func DefaultSettingsConfig() *Settings
DefaultSettingsConfig returns the canonical default settings model used by Arcane.
func (*Settings) FieldByKey ¶ added in v2.8.1
func (*Settings) ToSettingVariableSlice ¶ added in v2.8.1
func (s *Settings) ToSettingVariableSlice(visibility SettingVisibility, redactSensitiveValues bool) []SettingVariable
type SettingsHandler ¶
type SettingsHandler struct {
// contains filtered or unexported fields
}
SettingsHandler provides Huma-based settings management endpoints.
func (*SettingsHandler) GetCategories ¶
func (h *SettingsHandler) GetCategories(ctx context.Context, input *struct{}) (*GetCategoriesOutput, error)
GetCategories returns all available settings categories.
func (*SettingsHandler) GetPublicSettings ¶
func (h *SettingsHandler) GetPublicSettings(ctx context.Context, input *GetPublicSettingsInput) (*GetPublicSettingsOutput, error)
GetPublicSettings returns public settings for an environment.
func (*SettingsHandler) GetSettings ¶
func (h *SettingsHandler) GetSettings(ctx context.Context, input *GetSettingsInput) (*GetSettingsOutput, error)
GetSettings returns all settings for an environment.
func (*SettingsHandler) Search ¶
func (h *SettingsHandler) Search(ctx context.Context, input *SearchSettingsInput) (*SearchSettingsOutput, error)
Search searches settings by query.
func (*SettingsHandler) UpdateSettings ¶
func (h *SettingsHandler) UpdateSettings(ctx context.Context, input *UpdateSettingsInput) (*UpdateSettingsOutput, error)
UpdateSettings updates settings for an environment.
type SettingsSearchService ¶ added in v2.8.1
type SettingsSearchService struct {
// contains filtered or unexported fields
}
func NewSettingsSearchService ¶ added in v2.8.1
func NewSettingsSearchService() *SettingsSearchService
func (*SettingsSearchService) GetSettingsCategories ¶ added in v2.8.1
func (s *SettingsSearchService) GetSettingsCategories() []category.Category
GetSettingsCategories returns all available settings categories with their metadata
func (*SettingsSearchService) Search ¶ added in v2.8.1
func (s *SettingsSearchService) Search(query string) searchtypes.Response
Search performs a relevance-scored search across settings categories and individual settings
type SettingsService ¶
type SettingsService struct {
// contains filtered or unexported fields
}
func NewSettingsService ¶
func (*SettingsService) EnsureDefaultSettings ¶
func (s *SettingsService) EnsureDefaultSettings(ctx context.Context) error
func (*SettingsService) EnsureEncryptionKey ¶
func (s *SettingsService) EnsureEncryptionKey(ctx context.Context) (string, error)
func (*SettingsService) GetBoolSetting ¶
func (*SettingsService) GetIntSetting ¶
func (*SettingsService) GetSettingType ¶
func (s *SettingsService) GetSettingType(key string) string
GetSettingType returns the type from the setting metadata
func (*SettingsService) GetSettings ¶
func (s *SettingsService) GetSettings(ctx context.Context) (*Settings, error)
GetSettings returns the effective (env-override-applied) settings snapshot. The snapshot is shared across callers and must be treated as read-only; mutation flows go through UpdateSettings, which works on an explicit clone.
func (*SettingsService) GetSettingsConfig ¶
func (s *SettingsService) GetSettingsConfig() *Settings
func (*SettingsService) GetSettingsOrDefaults ¶
func (s *SettingsService) GetSettingsOrDefaults(ctx context.Context) *Settings
GetSettingsOrDefaults is a convenience for hot paths that need a snapshot but cannot meaningfully recover from a settings load failure. It logs any error and guarantees a non-nil *Settings (defaults: a zero-valued struct, which the SettingVariable helpers like utils.BoolOrDefault treat as "use the caller's default").
func (*SettingsService) GetStringSetting ¶
func (s *SettingsService) GetStringSetting(ctx context.Context, key, defaultValue string) string
func (*SettingsService) IsEnvOverrideActive ¶
func (s *SettingsService) IsEnvOverrideActive(key string) bool
IsEnvOverrideActive reports whether an environment override currently controls the setting. and its corresponding environment variable is currently set to a non-empty value.
func (*SettingsService) ListSettings ¶
func (s *SettingsService) ListSettings(visibility SettingVisibility) []SettingVariable
func (*SettingsService) LoadDatabaseSettings ¶
func (s *SettingsService) LoadDatabaseSettings(ctx context.Context) (err error)
func (*SettingsService) NormalizeBuildsDirectory ¶
func (s *SettingsService) NormalizeBuildsDirectory(ctx context.Context) error
func (*SettingsService) NormalizeProjectsDirectory ¶
func (s *SettingsService) NormalizeProjectsDirectory(ctx context.Context, projectsDirEnv string) error
func (*SettingsService) NotifySettingsChanges ¶
func (s *SettingsService) NotifySettingsChanges(ctx context.Context, keys ...string) error
NotifySettingsChanges publishes current values for keys through the settings actor. It is used when another settings-table workflow performs persistence.
func (*SettingsService) PersistEnvSettingsIfMissing ¶
func (s *SettingsService) PersistEnvSettingsIfMissing(ctx context.Context) error
func (*SettingsService) PruneUnknownSettings ¶
func (s *SettingsService) PruneUnknownSettings(ctx context.Context) error
func (*SettingsService) SetBoolSetting ¶
func (*SettingsService) SetContainerAutoUpdateExclusionInternal ¶
func (s *SettingsService) SetContainerAutoUpdateExclusionInternal(ctx context.Context, containerName string, excluded bool) error
SetContainerAutoUpdateExclusionInternal adds or removes a container name from the autoUpdateExcludedContainers setting. When excluded is true the container is added to the list; when false it is removed.
func (*SettingsService) SetIntSetting ¶
func (*SettingsService) SetStringSetting ¶
func (s *SettingsService) SetStringSetting(ctx context.Context, key, value string) error
func (*SettingsService) SubscribeSettingsChanges ¶
func (s *SettingsService) SubscribeSettingsChanges(keys []string, callback func([]libarcane.SettingUpdate)) func()
SubscribeSettingsChanges invokes callback once when any subscribed key is present in a successful update. The callback receives only matching values. Callbacks run serially on the settings-effects actor, outside the write actor.
func (*SettingsService) UpdateSetting ¶
func (s *SettingsService) UpdateSetting(ctx context.Context, key, value string) error
func (*SettingsService) UpdateSettingValues ¶
func (s *SettingsService) UpdateSettingValues(ctx context.Context, updates []libarcane.SettingUpdate) error
UpdateSettingValues persists a group of internal setting values atomically and publishes the refreshed snapshot before returning.
func (*SettingsService) UpdateSettings ¶
func (s *SettingsService) UpdateSettings(ctx context.Context, updates settingstypes.Update) ([]SettingVariable, error)
UpdateSettings publishes the refreshed snapshot before returning. Each subscriber's effects remain ordered and may finish after this method returns.
type UpdateSettingsInput ¶
type UpdateSettingsInput struct {
EnvironmentID string `path:"id" doc:"Environment ID"`
Body settingstypes.Update `doc:"Settings update data"`
}
type UpdateSettingsOutput ¶
type UpdateSettingsOutput struct {
Body base.ApiResponse[[]settingstypes.SettingDto]
}