Mandanten, OAuth, Cleanup von der Main Methode.
This commit is contained in:
@ -5,6 +5,7 @@ import (
|
||||
|
||||
"git.kocoder.xyz/kocoded/vt/model"
|
||||
"git.kocoder.xyz/kocoded/vt/query"
|
||||
"git.kocoder.xyz/kocoded/vt/utils"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
@ -12,8 +13,8 @@ type ansprechpartnerRouter struct {
|
||||
logger *slog.Logger
|
||||
}
|
||||
|
||||
func RegisterAnsprechpartnerRouter(group fiber.Router, logger *slog.Logger) {
|
||||
router := &ansprechpartnerRouter{logger: logger}
|
||||
func RegisterAnsprechpartnerRouter(group fiber.Router, appCtx *utils.Application) {
|
||||
router := &ansprechpartnerRouter{logger: appCtx.Logger}
|
||||
|
||||
group.Post("/new", router.createAnsprechpartner)
|
||||
group.Get("/all", router.getAllAnsprechpartners)
|
||||
|
@ -5,6 +5,7 @@ import (
|
||||
|
||||
"git.kocoder.xyz/kocoded/vt/model"
|
||||
"git.kocoder.xyz/kocoded/vt/query"
|
||||
"git.kocoder.xyz/kocoded/vt/utils"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
@ -12,8 +13,8 @@ type firmaRouter struct {
|
||||
logger *slog.Logger
|
||||
}
|
||||
|
||||
func RegisterFirmaRouter(group fiber.Router, logger *slog.Logger) {
|
||||
router := &firmaRouter{logger: logger}
|
||||
func RegisterFirmaRouter(group fiber.Router, appCtx *utils.Application) {
|
||||
router := &firmaRouter{logger: appCtx.Logger}
|
||||
|
||||
group.Post("/new", router.createFirma)
|
||||
group.Get("/all", router.getAllFirmen)
|
||||
|
79
routers/mandant.go
Normal file
79
routers/mandant.go
Normal file
@ -0,0 +1,79 @@
|
||||
package routers
|
||||
|
||||
import (
|
||||
"log/slog"
|
||||
"slices"
|
||||
|
||||
"git.kocoder.xyz/kocoded/vt/utils"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
type Mandant struct {
|
||||
ID string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Logo string `json:"logo"`
|
||||
Plan string `json:"plan"`
|
||||
Color string `json:"color"`
|
||||
}
|
||||
|
||||
type mandantRouter struct {
|
||||
logger *slog.Logger
|
||||
mandanten []*Mandant
|
||||
currentMandant *Mandant
|
||||
}
|
||||
|
||||
func RegisterMandantRouter(group fiber.Router, appCtx *utils.Application) {
|
||||
mandanten := []*Mandant{
|
||||
{
|
||||
ID: uuid.NewString(),
|
||||
Name: "Acme Inc",
|
||||
Logo: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWNvbW1hbmQtaWNvbiBsdWNpZGUtY29tbWFuZCI+PHBhdGggZD0iTTE1IDZ2MTJhMyAzIDAgMSAwIDMtM0g2YTMgMyAwIDEgMCAzIDNWNmEzIDMgMCAxIDAtMyAzaDEyYTMgMyAwIDEgMC0zLTMiLz48L3N2Zz4=",
|
||||
Plan: "Enterprise",
|
||||
Color: "#ff2056",
|
||||
},
|
||||
{
|
||||
ID: uuid.NewString(),
|
||||
Name: "Acme Corp.",
|
||||
Logo: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1leWUtY2xvc2VkLWljb24gbHVjaWRlLWV5ZS1jbG9zZWQiPjxwYXRoIGQ9Im0xNSAxOC0uNzIyLTMuMjUiLz48cGF0aCBkPSJNMiA4YTEwLjY0NSAxMC42NDUgMCAwIDAgMjAgMCIvPjxwYXRoIGQ9Im0yMCAxNS0xLjcyNi0yLjA1Ii8+PHBhdGggZD0ibTQgMTUgMS43MjYtMi4wNSIvPjxwYXRoIGQ9Im05IDE4IC43MjItMy4yNSIvPjwvc3ZnPg==",
|
||||
Plan: "Startup",
|
||||
Color: "#e12afb",
|
||||
},
|
||||
{
|
||||
ID: uuid.NewString(),
|
||||
Name: "Evil Corp.",
|
||||
Logo: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWNvbW1hbmQtaWNvbiBsdWNpZGUtY29tbWFuZCI+PHBhdGggZD0iTTE1IDZ2MTJhMyAzIDAgMSAwIDMtM0g2YTMgMyAwIDEgMCAzIDNWNmEzIDMgMCAxIDAtMyAzaDEyYTMgMyAwIDEgMC0zLTMiLz48L3N2Zz4=",
|
||||
Plan: "Free",
|
||||
Color: "#4f39f6",
|
||||
},
|
||||
}
|
||||
|
||||
router := &mandantRouter{logger: appCtx.Logger, mandanten: mandanten, currentMandant: mandanten[0]}
|
||||
|
||||
group.Get("/current", router.getCurrentMandant)
|
||||
group.Put("/current", router.setCurrentMandant)
|
||||
group.Get("/all", router.getAllMandant)
|
||||
}
|
||||
|
||||
func (r *mandantRouter) getCurrentMandant(c *fiber.Ctx) error {
|
||||
return c.JSON(r.currentMandant)
|
||||
}
|
||||
|
||||
func (r *mandantRouter) getAllMandant(c *fiber.Ctx) error {
|
||||
return c.JSON(r.mandanten)
|
||||
}
|
||||
|
||||
func (r *mandantRouter) setCurrentMandant(c *fiber.Ctx) error {
|
||||
mandant := &Mandant{}
|
||||
|
||||
if err := c.BodyParser(mandant); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
mandantId := slices.IndexFunc(r.mandanten, func(m *Mandant) bool {
|
||||
return m.ID == mandant.ID
|
||||
})
|
||||
|
||||
r.currentMandant = r.mandanten[mandantId]
|
||||
return c.JSON(r.currentMandant)
|
||||
}
|
Reference in New Issue
Block a user