Files
relay-server/handlers/groups.go
2025-02-08 00:13:31 +01:00

34 lines
827 B
Go

package handlers
import (
"github.com/gofiber/fiber/v2"
"github.com/google/uuid"
"relay-server/database"
"relay-server/helpers"
)
func CreateGroup(c *fiber.Ctx) error {
type createGroupRequest struct {
GroupName string `json:"groupName"`
}
userID := c.Locals("userID").(uuid.UUID)
var req createGroupRequest
if err := c.BodyParser(&req); err != nil {
return helpers.NewError(helpers.ErrInvalidInput, "Invalid request body", err)
}
if req.GroupName == "" {
return helpers.NewError(helpers.ErrInvalidInput, "Group name is empty", nil)
}
groupID, err := database.CreateGroup(database.DB, req.GroupName, userID)
if err != nil {
return err
}
//TODO zrobic io.to(groupID).emit("added to group", {groupID, username: req.GroupName})
return c.Status(fiber.StatusOK).JSON(fiber.Map{"groupID": groupID})
}