Create lists model & controllers
This commit is contained in:
parent
52951753a1
commit
fe71c07e17
4 changed files with 75 additions and 4 deletions
35
controllers/lists.go
Normal file
35
controllers/lists.go
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
package controllers
|
||||||
|
|
||||||
|
import "github.com/gofiber/fiber/v2"
|
||||||
|
|
||||||
|
func Lists(c *fiber.Ctx) error {
|
||||||
|
return c.SendString("Lists")
|
||||||
|
}
|
||||||
|
|
||||||
|
func ListShow(c *fiber.Ctx) error {
|
||||||
|
return c.SendString("ListShow")
|
||||||
|
}
|
||||||
|
|
||||||
|
func ListAdd(c *fiber.Ctx) error {
|
||||||
|
return c.SendString("ListAdd")
|
||||||
|
}
|
||||||
|
|
||||||
|
func ListEdit(c *fiber.Ctx) error {
|
||||||
|
return c.SendString("ListEdit")
|
||||||
|
}
|
||||||
|
|
||||||
|
func ListDelete(c *fiber.Ctx) error {
|
||||||
|
return c.SendString("ListDelete")
|
||||||
|
}
|
||||||
|
|
||||||
|
func ListItemAdd(c *fiber.Ctx) error {
|
||||||
|
return c.SendString("ListItemAdd")
|
||||||
|
}
|
||||||
|
|
||||||
|
func ListItemEdit(c *fiber.Ctx) error {
|
||||||
|
return c.SendString("ListItemEdit")
|
||||||
|
}
|
||||||
|
|
||||||
|
func ListItemDelete(c *fiber.Ctx) error {
|
||||||
|
return c.SendString("ListItemDelete")
|
||||||
|
}
|
||||||
22
main.go
22
main.go
|
|
@ -93,18 +93,38 @@ func main() {
|
||||||
app.Use(middlewares.TemplatesMiddleware)
|
app.Use(middlewares.TemplatesMiddleware)
|
||||||
app.Use("/admin", middlewares.AuthzAdmin)
|
app.Use("/admin", middlewares.AuthzAdmin)
|
||||||
|
|
||||||
// Controllers
|
// Homepage
|
||||||
app.Get("/", controllers.Homepage)
|
app.Get("/", controllers.Homepage)
|
||||||
|
|
||||||
|
// Login & logout
|
||||||
app.Get("/login", controllers.LoginForm)
|
app.Get("/login", controllers.LoginForm)
|
||||||
app.Post("/login", controllers.LoginForm)
|
app.Post("/login", controllers.LoginForm)
|
||||||
app.Get("/logout", controllers.LogoutProcess)
|
app.Get("/logout", controllers.LogoutProcess)
|
||||||
|
|
||||||
|
// Welcome page on first login
|
||||||
app.Get("/welcome", controllers.WelcomePage)
|
app.Get("/welcome", controllers.WelcomePage)
|
||||||
app.Post("/welcome", controllers.WelcomePage)
|
app.Post("/welcome", controllers.WelcomePage)
|
||||||
|
|
||||||
|
// TOTP enroll & verify
|
||||||
app.Get("/totp/enroll", controllers.TotpEnrollPage)
|
app.Get("/totp/enroll", controllers.TotpEnrollPage)
|
||||||
app.Post("/totp/enroll", controllers.TotpEnrollPage)
|
app.Post("/totp/enroll", controllers.TotpEnrollPage)
|
||||||
app.Get("/totp/verify", controllers.TotpVerifyPage)
|
app.Get("/totp/verify", controllers.TotpVerifyPage)
|
||||||
app.Post("/totp/verify", controllers.TotpVerifyPage)
|
app.Post("/totp/verify", controllers.TotpVerifyPage)
|
||||||
|
|
||||||
|
// Admin: Lists
|
||||||
|
app.Get("/admin/lists", controllers.Lists)
|
||||||
|
app.Get("/admin/lists/:id<int;min(0)>", controllers.ListShow)
|
||||||
|
app.Get("/admin/lists/add", controllers.ListAdd)
|
||||||
|
app.Post("/admin/lists/add", controllers.ListAdd)
|
||||||
|
app.Get("/admin/lists/:id<int;min(0)>/edit", controllers.ListEdit)
|
||||||
|
app.Post("/admin/lists/:id<int;min(0)>/edit", controllers.ListEdit)
|
||||||
|
app.Delete("/admin/lists/:id<int;min(0)>", controllers.ListDelete)
|
||||||
|
app.Get("/admin/lists/:id<int;min(0)>/items/add", controllers.ListItemAdd)
|
||||||
|
app.Post("/admin/lists/:id<int;min(0)>/items/add", controllers.ListItemAdd)
|
||||||
|
app.Get("/admin/lists/:id<int;min(0)>/items/:id<int;min(0)>", controllers.ListItemEdit)
|
||||||
|
app.Post("/admin/lists/:id<int;min(0)>/items/:id<int;min(0)>", controllers.ListItemEdit)
|
||||||
|
app.Delete("/admin/lists/:id<int;min(0)>/items/:id<int;min(0)>", controllers.ListItemDelete)
|
||||||
|
|
||||||
listenAddr := fmt.Sprintf(
|
listenAddr := fmt.Sprintf(
|
||||||
"%s:%d",
|
"%s:%d",
|
||||||
config.App.ListenAddress,
|
config.App.ListenAddress,
|
||||||
|
|
|
||||||
16
models/lists.go
Normal file
16
models/lists.go
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
package models
|
||||||
|
|
||||||
|
import "gorm.io/gorm"
|
||||||
|
|
||||||
|
type List struct {
|
||||||
|
gorm.Model
|
||||||
|
Name string
|
||||||
|
Multi bool
|
||||||
|
}
|
||||||
|
|
||||||
|
type ListItem struct {
|
||||||
|
gorm.Model
|
||||||
|
Value string
|
||||||
|
Default string
|
||||||
|
List List
|
||||||
|
}
|
||||||
|
|
@ -53,17 +53,17 @@
|
||||||
</a>
|
</a>
|
||||||
<ul class="dropdown-menu dropdown-menu-end">
|
<ul class="dropdown-menu dropdown-menu-end">
|
||||||
<li>
|
<li>
|
||||||
<a class="dropdown-item" href="/account/manage">
|
<a class="dropdown-item" href="/admin/sections">
|
||||||
<i class="feather me-2" data-feather="home"></i>Sections
|
<i class="feather me-2" data-feather="home"></i>Sections
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="dropdown-item" href="/account/totp">
|
<a class="dropdown-item" href="/admin/lists">
|
||||||
<i class="feather me-2" data-feather="list"></i>Listes
|
<i class="feather me-2" data-feather="list"></i>Listes
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="dropdown-item" href="/logout">
|
<a class="dropdown-item" href="/admin/fields">
|
||||||
<i class="feather me-2" data-feather="database"></i>Champs supplémentaires
|
<i class="feather me-2" data-feather="database"></i>Champs supplémentaires
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue