feat(09-02): add admin create and reset-password commands

- Commands hash with bcrypt, validate role codes, and revoke tokens on reset
- Generated app main appends cabana.RuntimeCommands exactly once
This commit is contained in:
Jakub Zych
2026-09-24 17:56:34 +02:00
parent d27f442c49
commit 5f218977e4
3 changed files with 213 additions and 6 deletions

View File

@@ -87,6 +87,7 @@ func generateMain(m Manifest) ([]byte, error) {
b.WriteString("\t\"os\"\n\n")
b.WriteString("\t\"git.golem15.com/golem15/summercms/backpack\"\n")
b.WriteString("\t\"git.golem15.com/golem15/summercms/bonfire\"\n")
b.WriteString("\t\"git.golem15.com/golem15/summercms/cabana\"\n")
b.WriteString("\t\"git.golem15.com/golem15/summercms/compass\"\n")
b.WriteString("\t\"git.golem15.com/golem15/summercms/lagoon\"\n")
b.WriteString("\t\"git.golem15.com/golem15/summercms/pact\"\n")
@@ -112,6 +113,7 @@ func generateMain(m Manifest) ([]byte, error) {
b.WriteString("\tcommands := lagoon.RuntimeCommands(app, plugins)\n")
b.WriteString("\tcommands = append(commands, surf.ServeCommand(app, plugins))\n")
b.WriteString("\tcommands = append(commands, surf.RouteListCommand(app, plugins))\n")
b.WriteString("\tcommands = append(commands, cabana.RuntimeCommands(app)...)\n")
b.WriteString("\tfor _, plugin := range plugins {\n")
b.WriteString("\t\tif hasCommands, ok := plugin.(pact.HasCommands); ok {\n")
b.WriteString("\t\t\tcommands = append(commands, hasCommands.Commands()...)\n")