feat(05-01): restructure fonoteka plugins into Winter directories
- 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
This commit is contained in:
21
classes/registry.go
Normal file
21
classes/registry.go
Normal file
@@ -0,0 +1,21 @@
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user