Documentation
¶
Index ¶
- type Config
- type ControllerType
- type FileGenerator
- type FragmentInjector
- func (fi *FragmentInjector) InjectControllerMethod(controllerPath string, data FragmentMethodData) error
- func (fi *FragmentInjector) InjectRouteRegistration(connectPath string, data FragmentRegistrationData) error
- func (fi *FragmentInjector) InjectRouteVariable(routesPath string, data FragmentRouteData) error
- type FragmentMethodData
- type FragmentRegistrationData
- type FragmentRouteData
- type GeneratedController
- type GeneratedField
- type Generator
- type MainInjector
- type RouteGenerator
- type RouteType
- type TemplateRenderer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ControllerType ¶
type ControllerType int
const ( ResourceController ControllerType = iota ResourceControllerNoViews NormalController )
type FileGenerator ¶
type FileGenerator struct {
// contains filtered or unexported fields
}
func NewFileGenerator ¶
func NewFileGenerator() *FileGenerator
func (*FileGenerator) GenerateController ¶
func (fg *FileGenerator) GenerateController( cat *catalog.Catalog, resourceName string, tableName string, controllerType ControllerType, modulePath string, databaseType string, tableNameOverridden bool, ) error
type FragmentInjector ¶
type FragmentInjector struct {
// contains filtered or unexported fields
}
FragmentInjector handles injecting fragment code into existing controller, route, and connect files.
func NewFragmentInjector ¶
func NewFragmentInjector() *FragmentInjector
NewFragmentInjector creates a new FragmentInjector.
func (*FragmentInjector) InjectControllerMethod ¶
func (fi *FragmentInjector) InjectControllerMethod(controllerPath string, data FragmentMethodData) error
InjectControllerMethod appends a method stub to the end of the controller file. It checks for duplicate methods before injecting.
func (*FragmentInjector) InjectRouteRegistration ¶
func (fi *FragmentInjector) InjectRouteRegistration(connectPath string, data FragmentRegistrationData) error
InjectRouteRegistration inserts a route registration block before the "return errors.Join(errs...)" marker in the connect file. If the marker is not found, it prints manual instructions.
func (*FragmentInjector) InjectRouteVariable ¶
func (fi *FragmentInjector) InjectRouteVariable(routesPath string, data FragmentRouteData) error
InjectRouteVariable appends a route variable declaration to the end of the routes file. It checks for duplicate route variables before injecting.
type FragmentMethodData ¶
FragmentMethodData holds data for rendering the fragment_method.tmpl template.
type FragmentRegistrationData ¶
type FragmentRegistrationData struct {
ResourceName string
MethodName string
HTTPMethod string
HandlerVar string
}
FragmentRegistrationData holds data for rendering the fragment_route_registration.tmpl template.
type FragmentRouteData ¶
type FragmentRouteData struct {
ResourceName string
MethodName string
ConstructorName string
Path string
PluralName string
LowerMethodName string
}
FragmentRouteData holds data for rendering the fragment_route.tmpl template.
type GeneratedController ¶
type GeneratedController struct {
ResourceName string
PluralName string
PluralResourceName string // The pluralized form of ResourceName (respects --table-name override)
ReceiverName string // Short receiver name for methods (e.g., "sf" for StudentFeedback)
Package string
Fields []GeneratedField
ModulePath string
Type ControllerType
DatabaseType string
TableNameOverridden bool
IDType string // "uuid.UUID", "int32", "int64", "string"
IsAutoIncrementID bool // True for serial/bigserial
}
type GeneratedField ¶
type Generator ¶
type Generator struct {
// contains filtered or unexported fields
}
func NewGenerator ¶
type MainInjector ¶ added in v1.0.0
type MainInjector struct {
// contains filtered or unexported fields
}
func NewMainInjector ¶ added in v1.0.0
func NewMainInjector() *MainInjector
func (*MainInjector) InjectController ¶ added in v1.0.0
func (mi *MainInjector) InjectController(resourceName, pluralName string) error
InjectController adds controller constructor and registration to main.go Returns nil if marker not found (logs info message instead of failing)
type RouteGenerator ¶
type RouteGenerator struct {
// contains filtered or unexported fields
}
func NewRouteGenerator ¶
func NewRouteGenerator() *RouteGenerator
func (*RouteGenerator) GenerateRoutes ¶
func (rg *RouteGenerator) GenerateRoutes(resourceName, pluralName, idType string) error
type RouteType ¶ added in v1.0.0
type RouteType int
RouteType represents the type of route constructor to use
func DetectRouteType ¶ added in v1.0.0
DetectRouteType analyzes a path string and returns the appropriate RouteType. It inspects path segments for :param patterns and maps them to routing constructors.
func (RouteType) ConstructorName ¶ added in v1.0.0
ConstructorName returns the routing package constructor function name for this RouteType. For RouteWithID, the idType parameter selects the appropriate type-specific constructor.
type TemplateRenderer ¶
type TemplateRenderer struct {
// contains filtered or unexported fields
}
func NewTemplateRenderer ¶
func NewTemplateRenderer() *TemplateRenderer
func (*TemplateRenderer) RenderControllerFile ¶
func (tr *TemplateRenderer) RenderControllerFile(controller *GeneratedController) (string, error)