Documentation
¶
Index ¶
- func HandleInitError(err error)
- type ErrorType
- type InitError
- type InteractivePrompt
- func (p *InteractivePrompt) ConfigureFieldMapping(field project.Field) map[string]string
- func (p *InteractivePrompt) ConfirmOverwrite() bool
- func (p *InteractivePrompt) GetStringInput(prompt string, defaultValue string) string
- func (p *InteractivePrompt) SelectProject(projects []project.Project, source string) *project.Project
- type MetadataManager
- func (m *MetadataManager) BuildMetadata(proj *project.Project, fields []project.Field) (*config.ConfigMetadata, error)
- func (m *MetadataManager) FetchFieldMetadata(projectID string, fieldName string) (*config.FieldMetadata, error)
- func (m *MetadataManager) FetchProjectMetadata(projectID string) (*config.ProjectMetadata, error)
- type ProjectDetector
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HandleInitError ¶
func HandleInitError(err error)
HandleInitError provides appropriate error handling based on error type
Types ¶
type ErrorType ¶
type ErrorType int
ErrorType represents the type of initialization error
const ( // ErrorTypeConfig indicates a configuration file error ErrorTypeConfig ErrorType = iota // ErrorTypeGitHub indicates a GitHub API error ErrorTypeGitHub // ErrorTypeFileSystem indicates a file system error ErrorTypeFileSystem // ErrorTypeValidation indicates a validation error ErrorTypeValidation )
type InitError ¶
InitError represents an initialization error with context
func NewConfigError ¶
NewConfigError creates a new configuration error
func NewFileSystemError ¶
NewFileSystemError creates a new file system error
func NewGitHubError ¶
NewGitHubError creates a new GitHub API error
func NewValidationError ¶
NewValidationError creates a new validation error
type InteractivePrompt ¶
type InteractivePrompt struct {
// contains filtered or unexported fields
}
InteractivePrompt handles interactive user input
func NewInteractivePrompt ¶
func NewInteractivePrompt() *InteractivePrompt
NewInteractivePrompt creates a new InteractivePrompt instance
func (*InteractivePrompt) ConfigureFieldMapping ¶
func (p *InteractivePrompt) ConfigureFieldMapping(field project.Field) map[string]string
ConfigureFieldMapping allows user to configure field mappings
func (*InteractivePrompt) ConfirmOverwrite ¶
func (p *InteractivePrompt) ConfirmOverwrite() bool
ConfirmOverwrite prompts the user to confirm overwriting an existing file
func (*InteractivePrompt) GetStringInput ¶
func (p *InteractivePrompt) GetStringInput(prompt string, defaultValue string) string
GetStringInput prompts for a string input with an optional default value
func (*InteractivePrompt) SelectProject ¶
func (p *InteractivePrompt) SelectProject(projects []project.Project, source string) *project.Project
SelectProject presents a list of projects and allows the user to select one
type MetadataManager ¶
type MetadataManager struct {
// contains filtered or unexported fields
}
MetadataManager handles project metadata fetching and management
func NewMetadataManager ¶
func NewMetadataManager(client *project.Client) *MetadataManager
NewMetadataManager creates a new MetadataManager instance
func (*MetadataManager) BuildMetadata ¶
func (m *MetadataManager) BuildMetadata(proj *project.Project, fields []project.Field) (*config.ConfigMetadata, error)
BuildMetadata builds complete metadata structure for a project
func (*MetadataManager) FetchFieldMetadata ¶
func (m *MetadataManager) FetchFieldMetadata(projectID string, fieldName string) (*config.FieldMetadata, error)
FetchFieldMetadata fetches field metadata including field ID and option IDs
func (*MetadataManager) FetchProjectMetadata ¶
func (m *MetadataManager) FetchProjectMetadata(projectID string) (*config.ProjectMetadata, error)
FetchProjectMetadata fetches project metadata including node ID
type ProjectDetector ¶
type ProjectDetector struct {
// contains filtered or unexported fields
}
ProjectDetector handles project detection and listing
func NewProjectDetector ¶
func NewProjectDetector() (*ProjectDetector, error)
NewProjectDetector creates a new ProjectDetector instance
func (*ProjectDetector) DetectCurrentRepo ¶
func (d *ProjectDetector) DetectCurrentRepo() (org, repo string, err error)
DetectCurrentRepo detects the current repository using GitHub CLI
func (*ProjectDetector) ListOrgProjects ¶
func (d *ProjectDetector) ListOrgProjects(org string) ([]project.Project, error)
ListOrgProjects lists all projects in an organization
func (*ProjectDetector) ListRepoProjects ¶
func (d *ProjectDetector) ListRepoProjects(org, repo string) ([]project.Project, error)
ListRepoProjects lists all projects associated with a repository