feat(03-01): initialize fonoteka workspace with user and genre migrations

Add compiled golem15.user and golem15.fonoteka plugins, squash schema
to the genre slice tables, and seed the 15 canonical genres on ICU pl-PL.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jakub Zych
2026-09-17 19:55:36 +02:00
commit f975ad94bb
5 changed files with 166 additions and 0 deletions

37
plugin.go Normal file
View File

@@ -0,0 +1,37 @@
package user
import (
"embed"
"io/fs"
"git.golem15.com/golem15/summercms/backpack"
"git.golem15.com/golem15/summercms/pact"
"git.golem15.com/golem15/summercms/party"
"github.com/go-gormigrate/gormigrate/v2"
)
var (
_ party.Plugin = (*Plugin)(nil)
_ pact.HasConfig = (*Plugin)(nil)
_ pact.HasMigrations = (*Plugin)(nil)
)
//go:embed config
var configFS embed.FS
// Plugin is the stub golem15.user plugin.
type Plugin struct{}
func (p *Plugin) ID() string { return "golem15.user" }
func (p *Plugin) Requires() []string { return nil }
func (p *Plugin) Register(*backpack.App) error { return nil }
func (p *Plugin) Boot(*backpack.App) error { return nil }
func (p *Plugin) ConfigFS() fs.FS { return configFS }
func (p *Plugin) Migrations() []*gormigrate.Migration { return migrations }
func init() {
party.Register(&Plugin{})
}