Initial commit.
This commit is contained in:
128
routers/ansprechpartner.go
Normal file
128
routers/ansprechpartner.go
Normal file
@ -0,0 +1,128 @@
|
||||
package routers
|
||||
|
||||
import (
|
||||
"log/slog"
|
||||
|
||||
"git.kocoder.xyz/kocoded/vt/model"
|
||||
"git.kocoder.xyz/kocoded/vt/query"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
type ansprechpartnerRouter struct {
|
||||
logger *slog.Logger
|
||||
}
|
||||
|
||||
func RegisterAnsprechpartnerRouter(group fiber.Router, logger *slog.Logger) {
|
||||
router := &ansprechpartnerRouter{logger: logger}
|
||||
|
||||
group.Post("/new", router.createAnsprechpartner)
|
||||
group.Get("/all", router.getAllAnsprechpartners)
|
||||
group.Get("/:id<int>", router.getAnsprechpartner)
|
||||
group.Get("/:id<int>/firmen", router.getAnsprechpartnerFirmen)
|
||||
group.Put("/:id<int>", router.updateAnsprechpartner)
|
||||
group.Delete("/:id<int>", router.deleteAnsprechpartner)
|
||||
}
|
||||
|
||||
func (r *ansprechpartnerRouter) createAnsprechpartner(c *fiber.Ctx) error {
|
||||
ansprechpartner := new(model.Ansprechpartner)
|
||||
|
||||
if err := c.BodyParser(ansprechpartner); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
ap := query.Ansprechpartner
|
||||
|
||||
if err := ap.Omit(ap.UpdatedAt, ap.DeletedAt).Create(ansprechpartner); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return c.SendString("Hello")
|
||||
}
|
||||
|
||||
func (r *ansprechpartnerRouter) getAllAnsprechpartners(c *fiber.Ctx) error {
|
||||
aps, err := query.Ansprechpartner.Find()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = c.JSON(aps)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r *ansprechpartnerRouter) getAnsprechpartner(c *fiber.Ctx) error {
|
||||
id, err := c.ParamsInt("id")
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
ap, err := query.Ansprechpartner.Where(query.Ansprechpartner.ID.Eq(uint(id))).First()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return c.JSON(ap)
|
||||
}
|
||||
|
||||
func (r *ansprechpartnerRouter) getAnsprechpartnerFirmen(c *fiber.Ctx) error {
|
||||
id, err := c.ParamsInt("id")
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
ap, err := query.Ansprechpartner.Where(query.Ansprechpartner.ID.Eq(uint(id))).First()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
firmen, err := query.Ansprechpartner.Firmen.Model(ap).Find()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
ap.Firmen = firmen
|
||||
|
||||
return c.JSON(ap)
|
||||
}
|
||||
|
||||
func (r *ansprechpartnerRouter) updateAnsprechpartner(c *fiber.Ctx) error {
|
||||
ansprechpartner := new(model.Ansprechpartner)
|
||||
id, err := c.ParamsInt("id")
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err = c.BodyParser(ansprechpartner); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
ap := query.Ansprechpartner
|
||||
|
||||
res, err := ap.Where(ap.ID.Eq(uint(id))).Omit(ap.ID, ap.CreatedAt, ap.UpdatedAt, ap.DeletedAt).Updates(ansprechpartner)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return c.JSON(res)
|
||||
}
|
||||
|
||||
func (r *ansprechpartnerRouter) deleteAnsprechpartner(c *fiber.Ctx) error {
|
||||
id, err := c.ParamsInt("id")
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
res, err := query.Ansprechpartner.Where(query.Ansprechpartner.ID.Value(uint(id))).Delete()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return c.JSON(res)
|
||||
}
|
Reference in New Issue
Block a user