added create group route
This commit is contained in:
33
handlers/groups.go
Normal file
33
handlers/groups.go
Normal file
@@ -0,0 +1,33 @@
|
||||
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})
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user