feat(04-01): generate jobs and admin controllers, reject model imports
Scaffold pact.Job and pact.AdminController stubs with Winter YAML assets, and fail summer build when models imports a sibling package. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -59,3 +59,61 @@ func {{.Func}}() bonfire.Command {
|
||||
}
|
||||
}
|
||||
{{end}}
|
||||
|
||||
{{define "job.go"}}// Code generated by summer make. DO NOT EDIT.
|
||||
|
||||
package jobs
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"git.golem15.com/golem15/summercms/pact"
|
||||
)
|
||||
|
||||
// {{.Ident}}Args is the typed payload for {{.Kind}}.
|
||||
type {{.Ident}}Args struct{}
|
||||
|
||||
func ({{.Ident}}Args) Kind() string { return {{printf "%q" .Kind}} }
|
||||
|
||||
type {{.Worker}} struct{}
|
||||
|
||||
func ({{.Worker}}) Work(ctx context.Context, args pact.JobArgs) error {
|
||||
if _, ok := args.({{.Ident}}Args); !ok {
|
||||
return fmt.Errorf("jobs: unexpected args type %T", args)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// {{.Func}} returns the {{.Kind}} job.
|
||||
func {{.Func}}() pact.Job { return {{.Worker}}{} }
|
||||
{{end}}
|
||||
|
||||
{{define "admin_controller.go"}}// Code generated by summer make. DO NOT EDIT.
|
||||
|
||||
package controllers
|
||||
|
||||
import "git.golem15.com/golem15/summercms/pact"
|
||||
|
||||
type {{.Worker}} struct{}
|
||||
|
||||
func ({{.Worker}}) ID() string { return {{printf "%q" .Kind}} }
|
||||
func ({{.Worker}}) ModelName() string { return {{printf "%q" .Ident}} }
|
||||
func ({{.Worker}}) ConfigDir() string { return {{printf "%q" .ConfigDir}} }
|
||||
|
||||
// {{.Func}} returns the {{.Kind}} admin controller.
|
||||
func {{.Func}}() pact.AdminController { return {{.Worker}}{} }
|
||||
{{end}}
|
||||
|
||||
{{define "fields.yaml"}}fields:
|
||||
id:
|
||||
label: ID
|
||||
span: auto
|
||||
type: number
|
||||
{{end}}
|
||||
|
||||
{{define "columns.yaml"}}columns:
|
||||
id:
|
||||
label: ID
|
||||
searchable: true
|
||||
{{end}}
|
||||
|
||||
Reference in New Issue
Block a user