Documentation
¶
Index ¶
- Constants
- Variables
- func FormatDuration(d time.Duration) string
- func FormatFileSize(bytes int64) string
- func RenderBox(title, content string, width int) string
- func RenderKeyHelp(keys []string) string
- func RenderProgress(current, total int) string
- func StatusActive() string
- func StatusInactive() string
- func StatusUnknown() string
- func TruncateText(text string, maxLength int) string
- type CalendarMode
- type CalendarModel
- func (m *CalendarModel) Activate()
- func (m *CalendarModel) Deactivate()
- func (m *CalendarModel) FormatForServiceNow() string
- func (m *CalendarModel) FormatSelectedDate() string
- func (m *CalendarModel) GetSelectedDate() time.Time
- func (m *CalendarModel) Init() tea.Cmd
- func (m *CalendarModel) IsActive() bool
- func (m *CalendarModel) SetDateRange(min, max *time.Time)
- func (m *CalendarModel) SetSelectedDate(date time.Time)
- func (m *CalendarModel) SetTimeEnabled(enabled bool)
- func (m *CalendarModel) Update(msg tea.Msg) (*CalendarModel, tea.Cmd)
- func (m *CalendarModel) View() string
- type CalendarStyles
- type DateRangePickerMode
- type DateRangePickerModel
- func (m *DateRangePickerModel) Activate()
- func (m *DateRangePickerModel) Deactivate()
- func (m *DateRangePickerModel) FormatForServiceNow() (startQuery, endQuery string)
- func (m *DateRangePickerModel) GetDateRange() (start, end *time.Time)
- func (m *DateRangePickerModel) GetFormattedRange() string
- func (m *DateRangePickerModel) Init() tea.Cmd
- func (m *DateRangePickerModel) IsActive() bool
- func (m *DateRangePickerModel) SetDateRange(start, end *time.Time)
- func (m *DateRangePickerModel) SetTimeEnabled(enabled bool)
- func (m *DateRangePickerModel) Update(msg tea.Msg) (*DateRangePickerModel, tea.Cmd)
- func (m *DateRangePickerModel) View() string
- type DateRangePickerStyles
- type DateRangePreset
- type FieldChoice
- type FieldMetadata
- type FieldMetadataService
- type FieldType
- type FilterBrowserModel
- func (m *FilterBrowserModel) Init() tea.Cmd
- func (m *FilterBrowserModel) IsActive() bool
- func (m *FilterBrowserModel) SetActive(active bool)
- func (m *FilterBrowserModel) SetCurrentQuery(query string, conditions []QueryCondition)
- func (m *FilterBrowserModel) SetTableName(tableName string)
- func (m *FilterBrowserModel) Update(msg tea.Msg) (*FilterBrowserModel, tea.Cmd)
- func (m *FilterBrowserModel) View() string
- type FilterBrowserState
- type FilterHistory
- type FilterManager
- func (fm *FilterManager) AddToHistory(tableName, query string, conditions []QueryCondition, duration time.Duration, ...)
- func (fm *FilterManager) ClearHistory() error
- func (fm *FilterManager) DeleteFilter(id string) error
- func (fm *FilterManager) ExportFilters(filename string) error
- func (fm *FilterManager) GetFavoriteFilters() []*SavedFilter
- func (fm *FilterManager) GetFilter(id string) (*SavedFilter, bool)
- func (fm *FilterManager) GetFiltersForTable(tableName string) []*SavedFilter
- func (fm *FilterManager) GetHistory(tableName string, limit int) []*FilterHistory
- func (fm *FilterManager) GetPopularQueries(tableName string, limit int) []string
- func (fm *FilterManager) GetRecentFilters(limit int) []*SavedFilter
- func (fm *FilterManager) GetStats() map[string]interface{}
- func (fm *FilterManager) ImportFilters(filename string) error
- func (fm *FilterManager) SaveFilter(name, description, tableName, query string, conditions []QueryCondition, ...) (*SavedFilter, error)
- func (fm *FilterManager) SearchFilters(query string) []*SavedFilter
- func (fm *FilterManager) UpdateFilter(id, name, description string, isFavorite bool, tags []string) error
- func (fm *FilterManager) UseFilter(id string) error
- type FilterSelectedMsg
- type LogicalOperator
- type OperatorInfo
- type QueryBuilderModel
- func (m *QueryBuilderModel) BuildQuery() string
- func (m *QueryBuilderModel) GetConditions() []QueryCondition
- func (m *QueryBuilderModel) Init() tea.Cmd
- func (m *QueryBuilderModel) IsActive() bool
- func (m *QueryBuilderModel) SetActive(active bool)
- func (m *QueryBuilderModel) SetConditions(conditions []QueryCondition)
- func (m *QueryBuilderModel) Update(msg tea.Msg) (*QueryBuilderModel, tea.Cmd)
- func (m *QueryBuilderModel) View() string
- type QueryBuilderState
- type QueryCondition
- type QueryValidator
- type SavedFilter
- type TableFieldMetadata
- func (metadata *TableFieldMetadata) FindField(name string) *FieldMetadata
- func (metadata *TableFieldMetadata) GetChoiceFields() []FieldMetadata
- func (metadata *TableFieldMetadata) GetDateTimeFields() []FieldMetadata
- func (metadata *TableFieldMetadata) GetDisplayFields() []FieldMetadata
- func (metadata *TableFieldMetadata) GetFieldsByType(fieldType FieldType) []FieldMetadata
- func (metadata *TableFieldMetadata) GetReferenceFields() []FieldMetadata
- func (metadata *TableFieldMetadata) GetSearchableFields() []FieldMetadata
- type ValidationError
- type ValidationResult
- type ValidationSeverity
Constants ¶
const ( ColorPrimary = lipgloss.Color("86") // Green ColorSecondary = lipgloss.Color("244") // Gray ColorError = lipgloss.Color("196") // Red ColorWarning = lipgloss.Color("214") // Orange ColorSuccess = lipgloss.Color("46") // Bright green ColorInfo = lipgloss.Color("39") // Blue ColorHighlight = lipgloss.Color("57") // Dark blue )
Color constants for consistency
const ( DefaultPadding = 2 DefaultMargin = 1 DefaultWidth = 80 DefaultHeight = 24 )
Common layout constants
Variables ¶
var ( // Exported style variables for use in other components TitleStyle = titleStyle HeaderStyle = headerStyle ContentStyle = contentStyle ErrorStyle = errorStyle BreadcrumbStyle = breadcrumbStyle // Exported info style InfoStyle = lipgloss.NewStyle(). Foreground(lipgloss.Color("39")). Italic(true) )
Common styles used across TUI components
Functions ¶
func RenderKeyHelp ¶
func StatusInactive ¶
func StatusInactive() string
func StatusUnknown ¶
func StatusUnknown() string
func TruncateText ¶
Truncate text with ellipsis
Types ¶
type CalendarMode ¶ added in v0.0.4
type CalendarMode int
CalendarMode represents the calendar display mode
const ( CalendarModeMonth CalendarMode = iota CalendarModeYear CalendarModeTime )
type CalendarModel ¶ added in v0.0.4
type CalendarModel struct {
// contains filtered or unexported fields
}
CalendarModel represents a calendar widget for date/time selection
func NewCalendarModel ¶ added in v0.0.4
func NewCalendarModel() *CalendarModel
NewCalendarModel creates a new calendar model
func (*CalendarModel) Activate ¶ added in v0.0.4
func (m *CalendarModel) Activate()
Activate activates the calendar for input
func (*CalendarModel) Deactivate ¶ added in v0.0.4
func (m *CalendarModel) Deactivate()
Deactivate deactivates the calendar
func (*CalendarModel) FormatForServiceNow ¶ added in v0.0.4
func (m *CalendarModel) FormatForServiceNow() string
FormatForServiceNow formats the selected date for ServiceNow queries
func (*CalendarModel) FormatSelectedDate ¶ added in v0.0.4
func (m *CalendarModel) FormatSelectedDate() string
FormatSelectedDate formats the selected date for display
func (*CalendarModel) GetSelectedDate ¶ added in v0.0.4
func (m *CalendarModel) GetSelectedDate() time.Time
GetSelectedDate returns the current selected date with time components
func (*CalendarModel) Init ¶ added in v0.0.4
func (m *CalendarModel) Init() tea.Cmd
Init initializes the calendar
func (*CalendarModel) IsActive ¶ added in v0.0.4
func (m *CalendarModel) IsActive() bool
IsActive returns whether the calendar is active
func (*CalendarModel) SetDateRange ¶ added in v0.0.4
func (m *CalendarModel) SetDateRange(min, max *time.Time)
SetDateRange sets the allowed date range
func (*CalendarModel) SetSelectedDate ¶ added in v0.0.4
func (m *CalendarModel) SetSelectedDate(date time.Time)
SetSelectedDate sets the selected date
func (*CalendarModel) SetTimeEnabled ¶ added in v0.0.4
func (m *CalendarModel) SetTimeEnabled(enabled bool)
SetTimeEnabled enables or disables time selection
func (*CalendarModel) Update ¶ added in v0.0.4
func (m *CalendarModel) Update(msg tea.Msg) (*CalendarModel, tea.Cmd)
Update handles calendar updates
func (*CalendarModel) View ¶ added in v0.0.4
func (m *CalendarModel) View() string
View renders the calendar
type CalendarStyles ¶ added in v0.0.4
type CalendarStyles struct {
Header lipgloss.Style
DayHeader lipgloss.Style
Day lipgloss.Style
Today lipgloss.Style
Selected lipgloss.Style
OutOfMonth lipgloss.Style
Weekend lipgloss.Style
TimeComponent lipgloss.Style
FocusedTime lipgloss.Style
Border lipgloss.Style
}
CalendarStyles holds styling configuration for the calendar
type DateRangePickerMode ¶ added in v0.0.4
type DateRangePickerMode int
DateRangePickerMode represents the picker mode
const ( DateRangePickerModeStartDate DateRangePickerMode = iota DateRangePickerModeEndDate DateRangePickerModePresets )
type DateRangePickerModel ¶ added in v0.0.4
type DateRangePickerModel struct {
// contains filtered or unexported fields
}
DateRangePickerModel handles date range selection with calendar widgets
func NewDateRangePickerModel ¶ added in v0.0.4
func NewDateRangePickerModel() *DateRangePickerModel
NewDateRangePickerModel creates a new date range picker
func (*DateRangePickerModel) Activate ¶ added in v0.0.4
func (m *DateRangePickerModel) Activate()
Activate activates the date range picker
func (*DateRangePickerModel) Deactivate ¶ added in v0.0.4
func (m *DateRangePickerModel) Deactivate()
Deactivate deactivates the date range picker
func (*DateRangePickerModel) FormatForServiceNow ¶ added in v0.0.4
func (m *DateRangePickerModel) FormatForServiceNow() (startQuery, endQuery string)
FormatForServiceNow formats the date range for ServiceNow queries
func (*DateRangePickerModel) GetDateRange ¶ added in v0.0.4
func (m *DateRangePickerModel) GetDateRange() (start, end *time.Time)
GetDateRange returns the current date range
func (*DateRangePickerModel) GetFormattedRange ¶ added in v0.0.4
func (m *DateRangePickerModel) GetFormattedRange() string
GetFormattedRange returns a human-readable date range string
func (*DateRangePickerModel) Init ¶ added in v0.0.4
func (m *DateRangePickerModel) Init() tea.Cmd
Init initializes the date range picker
func (*DateRangePickerModel) IsActive ¶ added in v0.0.4
func (m *DateRangePickerModel) IsActive() bool
IsActive returns whether the picker is active
func (*DateRangePickerModel) SetDateRange ¶ added in v0.0.4
func (m *DateRangePickerModel) SetDateRange(start, end *time.Time)
SetDateRange sets the current date range
func (*DateRangePickerModel) SetTimeEnabled ¶ added in v0.0.4
func (m *DateRangePickerModel) SetTimeEnabled(enabled bool)
SetTimeEnabled enables or disables time selection
func (*DateRangePickerModel) Update ¶ added in v0.0.4
func (m *DateRangePickerModel) Update(msg tea.Msg) (*DateRangePickerModel, tea.Cmd)
Update handles date range picker updates
func (*DateRangePickerModel) View ¶ added in v0.0.4
func (m *DateRangePickerModel) View() string
View renders the date range picker
type DateRangePickerStyles ¶ added in v0.0.4
type DateRangePickerStyles struct {
Header lipgloss.Style
SubHeader lipgloss.Style
ActivePanel lipgloss.Style
InactivePanel lipgloss.Style
PresetItem lipgloss.Style
SelectedPreset lipgloss.Style
DateRange lipgloss.Style
Help lipgloss.Style
Error lipgloss.Style
}
DateRangePickerStyles holds styling for the date range picker
type DateRangePreset ¶ added in v0.0.4
DateRangePreset represents a predefined date range
type FieldChoice ¶ added in v0.0.4
FieldChoice represents a choice option for choice fields
type FieldMetadata ¶ added in v0.0.4
type FieldMetadata struct {
Name string `json:"name"`
Label string `json:"label"`
Type FieldType `json:"type"`
MaxLength int `json:"max_length"`
Mandatory bool `json:"mandatory"`
ReadOnly bool `json:"read_only"`
Reference string `json:"reference,omitempty"`
Choices []FieldChoice `json:"choices,omitempty"`
DefaultValue string `json:"default_value,omitempty"`
Description string `json:"description,omitempty"`
DependentField string `json:"dependent_field,omitempty"`
Attributes map[string]interface{} `json:"attributes,omitempty"`
}
FieldMetadata represents metadata about a table field
type FieldMetadataService ¶ added in v0.0.4
type FieldMetadataService struct {
// contains filtered or unexported fields
}
FieldMetadataService handles loading and caching field metadata
func NewFieldMetadataService ¶ added in v0.0.4
func NewFieldMetadataService(client *servicenow.Client) *FieldMetadataService
NewFieldMetadataService creates a new field metadata service
func (*FieldMetadataService) GetFieldMetadata ¶ added in v0.0.4
func (fms *FieldMetadataService) GetFieldMetadata(tableName string) (*TableFieldMetadata, error)
GetFieldMetadata returns field metadata for a table, loading it if necessary
type FieldType ¶ added in v0.0.4
type FieldType string
FieldType represents the type of a field
const ( FieldTypeString FieldType = "string" FieldTypeInteger FieldType = "integer" FieldTypeDecimal FieldType = "decimal" FieldTypeBoolean FieldType = "boolean" FieldTypeDateTime FieldType = "glide_date_time" FieldTypeDate FieldType = "glide_date" FieldTypeReference FieldType = "reference" FieldTypeChoice FieldType = "choice" FieldTypeJournal FieldType = "journal" FieldTypeHTML FieldType = "html" FieldTypeURL FieldType = "url" FieldTypeEmail FieldType = "email" FieldTypePassword FieldType = "password" FieldTypeTranslatedText FieldType = "translated_text" )
type FilterBrowserModel ¶ added in v0.0.4
type FilterBrowserModel struct {
// contains filtered or unexported fields
}
FilterBrowserModel handles browsing and managing saved filters
func NewFilterBrowserModel ¶ added in v0.0.4
func NewFilterBrowserModel(filterManager *FilterManager) *FilterBrowserModel
NewFilterBrowserModel creates a new filter browser
func (*FilterBrowserModel) Init ¶ added in v0.0.4
func (m *FilterBrowserModel) Init() tea.Cmd
Init initializes the filter browser
func (*FilterBrowserModel) IsActive ¶ added in v0.0.4
func (m *FilterBrowserModel) IsActive() bool
IsActive returns whether the browser is active
func (*FilterBrowserModel) SetActive ¶ added in v0.0.4
func (m *FilterBrowserModel) SetActive(active bool)
SetActive sets the active state
func (*FilterBrowserModel) SetCurrentQuery ¶ added in v0.0.4
func (m *FilterBrowserModel) SetCurrentQuery(query string, conditions []QueryCondition)
SetCurrentQuery sets the current query for saving
func (*FilterBrowserModel) SetTableName ¶ added in v0.0.4
func (m *FilterBrowserModel) SetTableName(tableName string)
SetTableName sets the current table name for filtering
func (*FilterBrowserModel) Update ¶ added in v0.0.4
func (m *FilterBrowserModel) Update(msg tea.Msg) (*FilterBrowserModel, tea.Cmd)
Update handles filter browser updates
func (*FilterBrowserModel) View ¶ added in v0.0.4
func (m *FilterBrowserModel) View() string
View renders the filter browser
type FilterBrowserState ¶ added in v0.0.4
type FilterBrowserState int
FilterBrowserState represents the state of the filter browser
const ( FilterBrowserStateMain FilterBrowserState = iota FilterBrowserStateSaved FilterBrowserStateHistory FilterBrowserStateFavorites FilterBrowserStateSearch FilterBrowserStateSave FilterBrowserStateEdit )
type FilterHistory ¶ added in v0.0.4
type FilterHistory struct {
TableName string `json:"table_name"`
Query string `json:"query"`
Conditions []QueryCondition `json:"conditions"`
Timestamp time.Time `json:"timestamp"`
Duration time.Duration `json:"duration,omitempty"`
Results int `json:"results,omitempty"`
}
FilterHistory represents the filter usage history
type FilterManager ¶ added in v0.0.4
type FilterManager struct {
// contains filtered or unexported fields
}
FilterManager handles saving, loading, and managing filters
func NewFilterManager ¶ added in v0.0.4
func NewFilterManager() (*FilterManager, error)
NewFilterManager creates a new filter manager
func (*FilterManager) AddToHistory ¶ added in v0.0.4
func (fm *FilterManager) AddToHistory(tableName, query string, conditions []QueryCondition, duration time.Duration, results int)
AddToHistory adds a filter execution to history
func (*FilterManager) ClearHistory ¶ added in v0.0.4
func (fm *FilterManager) ClearHistory() error
ClearHistory clears the filter history
func (*FilterManager) DeleteFilter ¶ added in v0.0.4
func (fm *FilterManager) DeleteFilter(id string) error
DeleteFilter deletes a filter
func (*FilterManager) ExportFilters ¶ added in v0.0.4
func (fm *FilterManager) ExportFilters(filename string) error
ExportFilters exports filters to a JSON file
func (*FilterManager) GetFavoriteFilters ¶ added in v0.0.4
func (fm *FilterManager) GetFavoriteFilters() []*SavedFilter
GetFavoriteFilters returns all favorite filters
func (*FilterManager) GetFilter ¶ added in v0.0.4
func (fm *FilterManager) GetFilter(id string) (*SavedFilter, bool)
GetFilter retrieves a filter by ID
func (*FilterManager) GetFiltersForTable ¶ added in v0.0.4
func (fm *FilterManager) GetFiltersForTable(tableName string) []*SavedFilter
GetFiltersForTable returns all filters for a specific table
func (*FilterManager) GetHistory ¶ added in v0.0.4
func (fm *FilterManager) GetHistory(tableName string, limit int) []*FilterHistory
GetHistory returns filter history, optionally filtered by table
func (*FilterManager) GetPopularQueries ¶ added in v0.0.4
func (fm *FilterManager) GetPopularQueries(tableName string, limit int) []string
GetPopularQueries returns the most frequently used queries
func (*FilterManager) GetRecentFilters ¶ added in v0.0.4
func (fm *FilterManager) GetRecentFilters(limit int) []*SavedFilter
GetRecentFilters returns recently used filters
func (*FilterManager) GetStats ¶ added in v0.0.4
func (fm *FilterManager) GetStats() map[string]interface{}
GetStats returns usage statistics
func (*FilterManager) ImportFilters ¶ added in v0.0.4
func (fm *FilterManager) ImportFilters(filename string) error
ImportFilters imports filters from a JSON file
func (*FilterManager) SaveFilter ¶ added in v0.0.4
func (fm *FilterManager) SaveFilter(name, description, tableName, query string, conditions []QueryCondition, isFavorite bool) (*SavedFilter, error)
SaveFilter saves a filter with the given name
func (*FilterManager) SearchFilters ¶ added in v0.0.4
func (fm *FilterManager) SearchFilters(query string) []*SavedFilter
SearchFilters searches filters by name, description, or tags
func (*FilterManager) UpdateFilter ¶ added in v0.0.4
func (fm *FilterManager) UpdateFilter(id, name, description string, isFavorite bool, tags []string) error
UpdateFilter updates an existing filter
func (*FilterManager) UseFilter ¶ added in v0.0.4
func (fm *FilterManager) UseFilter(id string) error
UseFilter records usage of a filter
type FilterSelectedMsg ¶ added in v0.0.4
type FilterSelectedMsg struct {
Filter *SavedFilter `json:"filter,omitempty"`
Query string `json:"query,omitempty"`
Conditions []QueryCondition `json:"conditions,omitempty"`
}
FilterSelectedMsg is sent when a filter is selected
type LogicalOperator ¶ added in v0.0.4
type LogicalOperator string
LogicalOperator represents AND/OR logic between conditions
const ( LogicalAnd LogicalOperator = "AND" LogicalOr LogicalOperator = "OR" )
type OperatorInfo ¶ added in v0.0.4
type OperatorInfo struct {
Operator query.Operator
Label string
Description string
RequiresValue bool
DateOnly bool
}
OperatorInfo contains display information for operators
type QueryBuilderModel ¶ added in v0.0.4
type QueryBuilderModel struct {
// contains filtered or unexported fields
}
QueryBuilderModel handles the interactive query building interface
func NewQueryBuilderModel ¶ added in v0.0.4
func NewQueryBuilderModel(client *servicenow.Client, tableMetadata *TableFieldMetadata) *QueryBuilderModel
NewQueryBuilderModel creates a new query builder
func (*QueryBuilderModel) BuildQuery ¶ added in v0.0.4
func (m *QueryBuilderModel) BuildQuery() string
BuildQuery builds the final ServiceNow query string
func (*QueryBuilderModel) GetConditions ¶ added in v0.0.4
func (m *QueryBuilderModel) GetConditions() []QueryCondition
GetConditions returns the current conditions
func (*QueryBuilderModel) Init ¶ added in v0.0.4
func (m *QueryBuilderModel) Init() tea.Cmd
Init initializes the query builder
func (*QueryBuilderModel) IsActive ¶ added in v0.0.4
func (m *QueryBuilderModel) IsActive() bool
IsActive returns whether the query builder is active
func (*QueryBuilderModel) SetActive ¶ added in v0.0.4
func (m *QueryBuilderModel) SetActive(active bool)
SetActive sets the active state of the query builder
func (*QueryBuilderModel) SetConditions ¶ added in v0.0.4
func (m *QueryBuilderModel) SetConditions(conditions []QueryCondition)
SetConditions sets the conditions (useful for loading saved queries)
func (*QueryBuilderModel) Update ¶ added in v0.0.4
func (m *QueryBuilderModel) Update(msg tea.Msg) (*QueryBuilderModel, tea.Cmd)
Update handles query builder updates
func (*QueryBuilderModel) View ¶ added in v0.0.4
func (m *QueryBuilderModel) View() string
View renders the query builder
type QueryBuilderState ¶ added in v0.0.4
type QueryBuilderState int
QueryBuilderState represents the current state of the query builder
const ( QueryBuilderStateFieldSelection QueryBuilderState = iota QueryBuilderStateOperatorSelection QueryBuilderStateValueInput QueryBuilderStateChoiceSelection QueryBuilderStateReferenceSearch QueryBuilderStateDateRange QueryBuilderStateCalendar QueryBuilderStateDateRangePicker QueryBuilderStateLogicalOperator QueryBuilderStatePreview )
type QueryCondition ¶ added in v0.0.4
type QueryCondition struct {
Field FieldMetadata `json:"field"`
Operator query.Operator `json:"operator"`
Value string `json:"value"`
StartDate *time.Time `json:"start_date,omitempty"`
EndDate *time.Time `json:"end_date,omitempty"`
LogicalOp LogicalOperator `json:"logical_op,omitempty"` // AND/OR for connecting to next condition
}
QueryCondition represents a single query condition
type QueryValidator ¶ added in v0.0.4
type QueryValidator struct {
// contains filtered or unexported fields
}
QueryValidator handles validation of ServiceNow queries
func NewQueryValidator ¶ added in v0.0.4
func NewQueryValidator(tableMetadata *TableFieldMetadata) *QueryValidator
NewQueryValidator creates a new query validator
func (*QueryValidator) ValidateCondition ¶ added in v0.0.4
func (v *QueryValidator) ValidateCondition(condition QueryCondition) []ValidationError
ValidateCondition validates a single query condition
func (*QueryValidator) ValidateQuery ¶ added in v0.0.4
func (v *QueryValidator) ValidateQuery(conditions []QueryCondition) ValidationResult
ValidateQuery validates a complete query built from conditions
func (*QueryValidator) ValidateRawQuery ¶ added in v0.0.4
func (v *QueryValidator) ValidateRawQuery(rawQuery string) ValidationResult
ValidateRawQuery validates a raw query string (for manual entry)
type SavedFilter ¶ added in v0.0.4
type SavedFilter struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
TableName string `json:"table_name"`
Query string `json:"query"`
Conditions []QueryCondition `json:"conditions"`
CreatedAt time.Time `json:"created_at"`
LastUsed time.Time `json:"last_used"`
UseCount int `json:"use_count"`
IsFavorite bool `json:"is_favorite"`
Tags []string `json:"tags,omitempty"`
}
SavedFilter represents a saved filter
type TableFieldMetadata ¶ added in v0.0.4
type TableFieldMetadata struct {
TableName string `json:"table_name"`
Fields []FieldMetadata `json:"fields"`
LoadedAt time.Time `json:"loaded_at"`
}
TableFieldMetadata contains all field metadata for a table
func (*TableFieldMetadata) FindField ¶ added in v0.0.4
func (metadata *TableFieldMetadata) FindField(name string) *FieldMetadata
FindField finds a field by name
func (*TableFieldMetadata) GetChoiceFields ¶ added in v0.0.4
func (metadata *TableFieldMetadata) GetChoiceFields() []FieldMetadata
GetChoiceFields returns all choice fields
func (*TableFieldMetadata) GetDateTimeFields ¶ added in v0.0.4
func (metadata *TableFieldMetadata) GetDateTimeFields() []FieldMetadata
GetDateTimeFields returns all datetime and date fields
func (*TableFieldMetadata) GetDisplayFields ¶ added in v0.0.4
func (metadata *TableFieldMetadata) GetDisplayFields() []FieldMetadata
GetDisplayFields returns fields that are commonly displayed in lists
func (*TableFieldMetadata) GetFieldsByType ¶ added in v0.0.4
func (metadata *TableFieldMetadata) GetFieldsByType(fieldType FieldType) []FieldMetadata
GetFieldsByType returns fields of a specific type
func (*TableFieldMetadata) GetReferenceFields ¶ added in v0.0.4
func (metadata *TableFieldMetadata) GetReferenceFields() []FieldMetadata
GetReferenceFields returns all reference fields
func (*TableFieldMetadata) GetSearchableFields ¶ added in v0.0.4
func (metadata *TableFieldMetadata) GetSearchableFields() []FieldMetadata
GetSearchableFields returns fields that are good for text search
type ValidationError ¶ added in v0.0.4
type ValidationError struct {
Field string `json:"field,omitempty"`
Operator string `json:"operator,omitempty"`
Value string `json:"value,omitempty"`
Message string `json:"message"`
Severity ValidationSeverity `json:"severity"`
Suggestion string `json:"suggestion,omitempty"`
}
ValidationError represents a query validation error
type ValidationResult ¶ added in v0.0.4
type ValidationResult struct {
IsValid bool `json:"is_valid"`
Errors []ValidationError `json:"errors"`
Query string `json:"query"`
}
ValidationResult contains the results of query validation
type ValidationSeverity ¶ added in v0.0.4
type ValidationSeverity string
ValidationSeverity indicates the severity of a validation issue
const ( SeverityError ValidationSeverity = "error" SeverityWarning ValidationSeverity = "warning" SeverityInfo ValidationSeverity = "info" )