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>
120 lines
2.7 KiB
Cheetah
120 lines
2.7 KiB
Cheetah
{{define "model.go"}}// Code generated by summer make. DO NOT EDIT.
|
|
|
|
package models
|
|
|
|
import "time"
|
|
|
|
// {{.Ident}} is a generated GORM model for {{.PluginID}}.
|
|
type {{.Ident}} struct {
|
|
ID uint `gorm:"primaryKey"`
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
}
|
|
|
|
func ({{.Ident}}) TableName() string { return {{printf "%q" .Table}} }
|
|
{{end}}
|
|
|
|
{{define "migration.go"}}// Code generated by summer make. DO NOT EDIT.
|
|
|
|
package updates
|
|
|
|
import (
|
|
"github.com/go-gormigrate/gormigrate/v2"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// {{.Func}} returns the {{.MigrationID}} gormigrate entry.
|
|
func {{.Func}}() *gormigrate.Migration {
|
|
return &gormigrate.Migration{
|
|
ID: {{printf "%q" .MigrationID}},
|
|
Migrate: func(tx *gorm.DB) error {
|
|
return tx.Exec({{printf "%q" .UpSQL}}).Error
|
|
},
|
|
Rollback: func(tx *gorm.DB) error {
|
|
return tx.Exec({{printf "%q" .DownSQL}}).Error
|
|
},
|
|
}
|
|
}
|
|
{{end}}
|
|
|
|
{{define "command.go"}}// Code generated by summer make. DO NOT EDIT.
|
|
|
|
package console
|
|
|
|
import (
|
|
"context"
|
|
|
|
"git.golem15.com/golem15/summercms/bonfire"
|
|
)
|
|
|
|
// {{.Func}} returns the {{.CommandName}} console command.
|
|
func {{.Func}}() bonfire.Command {
|
|
return bonfire.Command{
|
|
Name: {{printf "%q" .CommandName}},
|
|
Description: {{printf "%q" .Description}},
|
|
Run: func(ctx context.Context, in bonfire.Input, out bonfire.Output) error {
|
|
out.Printf({{printf "%q" .CommandName}} + "\n")
|
|
return nil
|
|
},
|
|
}
|
|
}
|
|
{{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}}
|