- Move models, classes, controllers, middleware, and updates into subpackages - Add self-registering models/updates/classes registries so later plans add files - Keep the genres route and shipped migration SQL unchanged
22 lines
491 B
Go
22 lines
491 B
Go
package classes
|
|
|
|
import "gorm.io/gorm"
|
|
|
|
var hookRegistrars []func(*gorm.DB) error
|
|
|
|
// RegisterHook appends a GORM-callback registrant so later plans add files
|
|
// without editing plugin.go Boot.
|
|
func RegisterHook(fn func(*gorm.DB) error) {
|
|
hookRegistrars = append(hookRegistrars, fn)
|
|
}
|
|
|
|
// RegisterHooks runs every registered hook against gdb.
|
|
func RegisterHooks(gdb *gorm.DB) error {
|
|
for _, fn := range hookRegistrars {
|
|
if err := fn(gdb); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
return nil
|
|
}
|