 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- type CreateOrganizationRequest
- type CreateOrganizationResponse
- type OnboardingStep
- type OrganizationSummary
- type OrganizationTemplateService
- func (ots *OrganizationTemplateService) CreateOrganization(ctx context.Context, req CreateOrganizationRequest) (*CreateOrganizationResponse, error)
- func (ots *OrganizationTemplateService) GetAvailableTemplates() []service.TemplateInfo
- func (ots *OrganizationTemplateService) GetOrganizationSummary(ctx context.Context, organizationID string) (*OrganizationSummary, error)
- func (ots *OrganizationTemplateService) MigrateOrganization(ctx context.Context, organizationID string, ...) (*CreateOrganizationResponse, error)
- func (ots *OrganizationTemplateService) UpdateOrganizationServices(ctx context.Context, req UpdateOrganizationServicesRequest) (*CreateOrganizationResponse, error)
 
- type SecretMetadata
- type SecretRequest
- type SecretResponse
- type SecretType
- type SecretsService
- func (ss *SecretsService) CreateSecret(ctx context.Context, req SecretRequest) (*SecretResponse, error)
- func (ss *SecretsService) DeleteSecret(ctx context.Context, secretType SecretType, name string) error
- func (ss *SecretsService) GenerateAPIKey(ctx context.Context, name string, keyLength int) (*SecretResponse, error)
- func (ss *SecretsService) GenerateEncryptionKey(ctx context.Context, name string) (*SecretResponse, error)
- func (ss *SecretsService) GenerateJWTSecret(ctx context.Context, name string) (*SecretResponse, error)
- func (ss *SecretsService) GetSecret(ctx context.Context, secretType SecretType, name string) (*SecretResponse, error)
- func (ss *SecretsService) GetSecretMetadata(ctx context.Context, secretType SecretType, name string) (*SecretResponse, error)
- func (ss *SecretsService) GetVaultClient() *vault.VaultClient
- func (ss *SecretsService) HealthCheck(ctx context.Context) error
- func (ss *SecretsService) ListSecrets(ctx context.Context, secretType SecretType) ([]SecretResponse, error)
- func (ss *SecretsService) RotateSecret(ctx context.Context, secretType SecretType, name string) (*SecretResponse, error)
- func (ss *SecretsService) UpdateSecret(ctx context.Context, secretType SecretType, name string, ...) (*SecretResponse, error)
 
- type ServiceCounts
- type UpdateOrganizationServicesRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CreateOrganizationRequest ¶
type CreateOrganizationRequest struct {
	OrganizationID   string                 `json:"organization_id" validate:"required,uuid"`
	TemplateType     entity.TemplateType    `json:"template_type" validate:"required"`
	Customizations   map[string]interface{} `json:"customizations,omitempty"`
	AdminUserID      string                 `json:"admin_user_id" validate:"required,uuid"`
	OrganizationName string                 `json:"organization_name" validate:"required,min=2,max=100"`
}
    CreateOrganizationRequest represents a request to create an organization
type CreateOrganizationResponse ¶
type CreateOrganizationResponse struct {
	OrganizationConfig *entity.OrganizationConfig `json:"organization_config"`
	MonthlyPrice       float64                    `json:"monthly_price"`
	EnabledServices    []string                   `json:"enabled_services"`
	TemplateInfo       *service.TemplateInfo      `json:"template_info"`
	OnboardingSteps    []OnboardingStep           `json:"onboarding_steps"`
}
    CreateOrganizationResponse represents the response from creating an organization
type OnboardingStep ¶
type OnboardingStep struct {
	StepID      string `json:"step_id"`
	Title       string `json:"title"`
	Description string `json:"description"`
	Required    bool   `json:"required"`
	Completed   bool   `json:"completed"`
	Order       int    `json:"order"`
}
    OnboardingStep represents a step in the organization onboarding process
type OrganizationSummary ¶
type OrganizationSummary struct {
	OrganizationID  string               `json:"organization_id"`
	TemplateType    entity.TemplateType  `json:"template_type"`
	IsActive        bool                 `json:"is_active"`
	EnabledServices []string             `json:"enabled_services"`
	MonthlyPrice    float64              `json:"monthly_price"`
	TemplateInfo    service.TemplateInfo `json:"template_info"`
	ServiceCounts   ServiceCounts        `json:"service_counts"`
	CreatedAt       time.Time            `json:"created_at"`
	UpdatedAt       time.Time            `json:"updated_at"`
}
    OrganizationSummary represents a summary of an organization
type OrganizationTemplateService ¶
type OrganizationTemplateService struct {
	// contains filtered or unexported fields
}
    OrganizationTemplateService handles organization template operations
func NewOrganizationTemplateService ¶
func NewOrganizationTemplateService(serviceRegistry *service.ServiceRegistry, logger *logrus.Logger) *OrganizationTemplateService
NewOrganizationTemplateService creates a new organization template service
func (*OrganizationTemplateService) CreateOrganization ¶
func (ots *OrganizationTemplateService) CreateOrganization(ctx context.Context, req CreateOrganizationRequest) (*CreateOrganizationResponse, error)
CreateOrganization creates a new organization with the specified template
func (*OrganizationTemplateService) GetAvailableTemplates ¶
func (ots *OrganizationTemplateService) GetAvailableTemplates() []service.TemplateInfo
GetAvailableTemplates returns all available organization templates
func (*OrganizationTemplateService) GetOrganizationSummary ¶
func (ots *OrganizationTemplateService) GetOrganizationSummary(ctx context.Context, organizationID string) (*OrganizationSummary, error)
GetOrganizationSummary returns a summary of an organization's configuration
func (*OrganizationTemplateService) MigrateOrganization ¶
func (ots *OrganizationTemplateService) MigrateOrganization(ctx context.Context, organizationID string, newTemplateType entity.TemplateType, preserveCustomizations bool) (*CreateOrganizationResponse, error)
MigrateOrganization migrates an organization from one template to another
func (*OrganizationTemplateService) UpdateOrganizationServices ¶
func (ots *OrganizationTemplateService) UpdateOrganizationServices(ctx context.Context, req UpdateOrganizationServicesRequest) (*CreateOrganizationResponse, error)
UpdateOrganizationServices updates the enabled services for an organization
type SecretMetadata ¶
type SecretMetadata struct {
	Path        string                 `json:"path"`
	Version     int                    `json:"version"`
	CreatedAt   time.Time              `json:"created_at"`
	UpdatedAt   time.Time              `json:"updated_at"`
	Tags        map[string]string      `json:"tags"`
	Description string                 `json:"description"`
	Metadata    map[string]interface{} `json:"metadata"`
}
    SecretMetadata contains metadata about a secret
type SecretRequest ¶
type SecretRequest struct {
	Name        string            `json:"name" validate:"required"`
	Type        SecretType        `json:"type" validate:"required"`
	Data        map[string]string `json:"data" validate:"required"`
	Description string            `json:"description"`
	Tags        map[string]string `json:"tags"`
	TTL         time.Duration     `json:"ttl"`
}
    SecretRequest represents a request to create or update a secret
type SecretResponse ¶
type SecretResponse struct {
	Name     string            `json:"name"`
	Type     SecretType        `json:"type"`
	Data     map[string]string `json:"data,omitempty"`
	Metadata SecretMetadata    `json:"metadata"`
	HasData  bool              `json:"has_data"`
}
    SecretResponse represents a secret response
type SecretType ¶
type SecretType string
SecretType represents different types of secrets
const ( SecretTypeDatabase SecretType = "database" SecretTypeAPI SecretType = "api" SecretTypeJWT SecretType = "jwt" SecretTypeEncryption SecretType = "encryption" SecretTypeOAuth SecretType = "oauth" SecretTypeWebhook SecretType = "webhook" SecretTypeEmail SecretType = "email" SecretTypePayment SecretType = "payment" SecretTypeCustom SecretType = "custom" )
type SecretsService ¶
type SecretsService struct {
	// contains filtered or unexported fields
}
    SecretsService manages application secrets using HashiCorp Vault
func NewSecretsService ¶
func NewSecretsService(vaultClient *vault.VaultClient, namespace string, logger *logrus.Logger) *SecretsService
NewSecretsService creates a new secrets service
func (*SecretsService) CreateSecret ¶
func (ss *SecretsService) CreateSecret(ctx context.Context, req SecretRequest) (*SecretResponse, error)
CreateSecret creates a new secret
func (*SecretsService) DeleteSecret ¶
func (ss *SecretsService) DeleteSecret(ctx context.Context, secretType SecretType, name string) error
DeleteSecret deletes a secret
func (*SecretsService) GenerateAPIKey ¶
func (ss *SecretsService) GenerateAPIKey(ctx context.Context, name string, keyLength int) (*SecretResponse, error)
GenerateAPIKey generates a new API key
func (*SecretsService) GenerateEncryptionKey ¶
func (ss *SecretsService) GenerateEncryptionKey(ctx context.Context, name string) (*SecretResponse, error)
GenerateEncryptionKey generates an encryption key
func (*SecretsService) GenerateJWTSecret ¶
func (ss *SecretsService) GenerateJWTSecret(ctx context.Context, name string) (*SecretResponse, error)
GenerateJWTSecret generates a JWT signing secret
func (*SecretsService) GetSecret ¶
func (ss *SecretsService) GetSecret(ctx context.Context, secretType SecretType, name string) (*SecretResponse, error)
GetSecret retrieves a secret
func (*SecretsService) GetSecretMetadata ¶
func (ss *SecretsService) GetSecretMetadata(ctx context.Context, secretType SecretType, name string) (*SecretResponse, error)
GetSecretMetadata retrieves only metadata about a secret (no sensitive data)
func (*SecretsService) GetVaultClient ¶
func (ss *SecretsService) GetVaultClient() *vault.VaultClient
GetVaultClient returns the underlying Vault client (for advanced operations)
func (*SecretsService) HealthCheck ¶
func (ss *SecretsService) HealthCheck(ctx context.Context) error
HealthCheck verifies the secrets service is healthy
func (*SecretsService) ListSecrets ¶
func (ss *SecretsService) ListSecrets(ctx context.Context, secretType SecretType) ([]SecretResponse, error)
ListSecrets lists all secrets of a given type
func (*SecretsService) RotateSecret ¶
func (ss *SecretsService) RotateSecret(ctx context.Context, secretType SecretType, name string) (*SecretResponse, error)
RotateSecret creates a new version of a secret with new random data
func (*SecretsService) UpdateSecret ¶
func (ss *SecretsService) UpdateSecret(ctx context.Context, secretType SecretType, name string, data map[string]string) (*SecretResponse, error)
UpdateSecret updates an existing secret
type ServiceCounts ¶
type ServiceCounts struct {
	TotalServices   int `json:"total_services"`
	EnabledServices int `json:"enabled_services"`
	CoreServices    int `json:"core_services"`
	PremiumServices int `json:"premium_services"`
}
    ServiceCounts represents counts of different service types
type UpdateOrganizationServicesRequest ¶
type UpdateOrganizationServicesRequest struct {
	OrganizationID    string                 `json:"organization_id" validate:"required,uuid"`
	ServicesToEnable  []string               `json:"services_to_enable,omitempty"`
	ServicesToDisable []string               `json:"services_to_disable,omitempty"`
	Customizations    map[string]interface{} `json:"customizations,omitempty"`
	UpdatedByUserID   string                 `json:"updated_by_user_id" validate:"required,uuid"`
}
    UpdateOrganizationServicesRequest represents a request to update organization services