Documentation
¶
Index ¶
- Constants
- type Generator
- type IDType
- type Manager
- func (m *Manager) GenerateCategoryID(name string) (string, error)
- func (m *Manager) GenerateDetectorID(name string) (string, error)
- func (m *Manager) GenerateProviderID(name string) (string, error)
- func (m *Manager) GenerateTemplateID(category, name, version string) (string, error)
- func (m *Manager) GenerateUtilityID(name string) (string, error)
- func (m *Manager) GetModuleFilename(name, version string) string
- func (m *Manager) GetTemplateFilename(name, version string) string
- func (m *Manager) GetTemplateInfo(id string) (TemplateInfo, bool)
- func (m *Manager) GetTemplatesByCategory(category string) []TemplateInfo
- func (m *Manager) GetTemplatesByTag(tag string) []TemplateInfo
- func (m *Manager) IsCategoryIDTaken(id string) bool
- func (m *Manager) IsDetectorIDTaken(id string) bool
- func (m *Manager) IsProviderIDTaken(id string) bool
- func (m *Manager) IsTemplateIDTaken(id string) bool
- func (m *Manager) IsUtilityIDTaken(id string) bool
- func (m *Manager) LoadExistingIDs() error
- func (m *Manager) RegisterCategory(id string) error
- func (m *Manager) RegisterDetector(id string) error
- func (m *Manager) RegisterProvider(id string) error
- func (m *Manager) RegisterTemplate(info TemplateInfo) error
- func (m *Manager) RegisterUtility(id string) error
- type TemplateInfo
Constants ¶
const ( // ID format patterns TemplateIDPattern = `^[a-z0-9_]+(_v\d+\.\d+)?(_[a-f0-9]{8})?$` CategoryIDPattern = `^[a-z0-9_]+$` ModuleIDPattern = `^[a-z0-9_]+$` VersionPattern = `^\d+\.\d+$` ToolVersionPattern = `^\d+\.\d+\.\d+$` // Maximum lengths MaxIDLength = 64 MaxDescriptiveLength = 32 )
Constants for ID generation and validation
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Generator ¶
type Generator struct {
// contains filtered or unexported fields
}
Generator handles the generation and validation of unique IDs
func (*Generator) GenerateID ¶
GenerateID generates a unique ID based on the provided parameters
func (*Generator) RegisterExistingID ¶
RegisterExistingID registers an existing ID to avoid duplicates
func (*Generator) ValidateID ¶
ValidateID validates an ID against the appropriate pattern
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager handles the management of template and module IDs
func NewManager ¶
NewManager creates a new ID manager
func (*Manager) GenerateCategoryID ¶
GenerateCategoryID generates a unique ID for a category
func (*Manager) GenerateDetectorID ¶
GenerateDetectorID generates a unique ID for a detector
func (*Manager) GenerateProviderID ¶
GenerateProviderID generates a unique ID for a provider
func (*Manager) GenerateTemplateID ¶
GenerateTemplateID generates a unique ID for a template
func (*Manager) GenerateUtilityID ¶
GenerateUtilityID generates a unique ID for a utility
func (*Manager) GetModuleFilename ¶
GetModuleFilename generates a filename for a module
func (*Manager) GetTemplateFilename ¶
GetTemplateFilename generates a filename for a template
func (*Manager) GetTemplateInfo ¶
func (m *Manager) GetTemplateInfo(id string) (TemplateInfo, bool)
GetTemplateInfo gets information about a template by ID
func (*Manager) GetTemplatesByCategory ¶
func (m *Manager) GetTemplatesByCategory(category string) []TemplateInfo
GetTemplatesByCategory gets all templates in a category
func (*Manager) GetTemplatesByTag ¶
func (m *Manager) GetTemplatesByTag(tag string) []TemplateInfo
GetTemplatesByTag gets all templates with a specific tag
func (*Manager) IsCategoryIDTaken ¶
IsCategoryIDTaken checks if a category ID is already in use
func (*Manager) IsDetectorIDTaken ¶
IsDetectorIDTaken checks if a detector ID is already in use
func (*Manager) IsProviderIDTaken ¶
IsProviderIDTaken checks if a provider ID is already in use
func (*Manager) IsTemplateIDTaken ¶
IsTemplateIDTaken checks if a template ID is already in use
func (*Manager) IsUtilityIDTaken ¶
IsUtilityIDTaken checks if a utility ID is already in use
func (*Manager) LoadExistingIDs ¶
LoadExistingIDs loads existing IDs from the manifest files
func (*Manager) RegisterCategory ¶
RegisterCategory registers a new category
func (*Manager) RegisterDetector ¶
RegisterDetector registers a new detector
func (*Manager) RegisterProvider ¶
RegisterProvider registers a new provider
func (*Manager) RegisterTemplate ¶
func (m *Manager) RegisterTemplate(info TemplateInfo) error
RegisterTemplate registers a new template
func (*Manager) RegisterUtility ¶
RegisterUtility registers a new utility
type TemplateInfo ¶
type TemplateInfo struct {
ID string `json:"id"`
Name string `json:"name"`
Path string `json:"path"`
Version string `json:"version"`
Category string `json:"category"`
Description string `json:"description"`
Tags []string `json:"tags,omitempty"`
}
TemplateInfo represents the basic information about a template