added rows close, get group members route

This commit is contained in:
slawk0
2025-02-08 16:13:53 +01:00
parent e8d8c51d64
commit bbae0e8fbb
6 changed files with 93 additions and 0 deletions

View File

@@ -1,6 +1,7 @@
package handlers
import (
"fmt"
"github.com/gofiber/fiber/v2"
"github.com/google/uuid"
"log"
@@ -66,3 +67,29 @@ func AddMemberToGroup(c *fiber.Ctx) error {
log.Println("Successfully added member to group")
return c.Status(fiber.StatusOK).JSON(fiber.Map{"message": "Successfully added member to group"})
}
func GetMembers(c *fiber.Ctx) error {
type params struct {
GroupID uuid.UUID `params:"groupID"`
}
var p params
if err := c.ParamsParser(&p); err != nil {
return helpers.NewError(helpers.ErrInvalidInput, "Invalid params", err)
}
isMember, err := database.IsMember(database.DB, p.GroupID, c.Locals("userID").(uuid.UUID))
if err != nil {
return helpers.NewError(helpers.ErrInternal, "Failed to get members", fmt.Errorf("failed to check if user is a member: %w", err))
}
if !isMember {
return helpers.NewError(helpers.ErrForbidden, "You are not a member of this group", nil)
}
members, err := database.GetMembers(database.DB, p.GroupID)
if err != nil {
return err
}
return c.Status(fiber.StatusOK).JSON(fiber.Map{"members": members})
}