calendrier/controllers/event.go
2024-02-25 20:30:36 +01:00

165 lines
4.4 KiB
Go

package controllers
import (
"git.gnous.eu/Rick/calendrier/models"
"git.gnous.eu/Rick/calendrier/services"
"github.com/gofiber/fiber/v2"
)
// @Summary Retourne tous les évènemenst
// @Tag event
// @Param name query string false "Nom de l'évènement"
// @Produce json
// @Success 200 {array} models.Event
// @Failure 401 "Token mal formaté"
// @Failure 500 "Erreur dans la base de données"
// @Router /events [get]
func GetEvents(c *fiber.Ctx) error {
return nil
}
// @Summary Retourne les informations sur un évènement
// @Tag event
// @Produce json
// @Success 200 models.Event
// @Failure 401 "Token mal formaté"
// @Failure 404 "Évènement introuvable"
// @Failure 500 "Erreur dans la base de données"
// @Router /event/{id} [get]
func GetEvent(c *fiber.Ctx) error {
return nil
}
// @Summary Créer un évènement
// @Tag event
// @Accept json
// @Success 200
// @Failure 401 "Token mal formaté"
// @Failure 500 "Erreur dans la base de données"
// @Router /event [post]
func PostEvent(c *fiber.Ctx) error {
// TODO faire la création du lien avec l'utilisateur
// TODO ignorer l'id
tmp := new(models.Event)
err := c.BodyParser(tmp)
name := GetName(c)
if err != nil {
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{"err": err.Error()})
}
err = services.CreateEvent(tmp, name)
if err != nil {
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{"err": err.Error()})
} else {
return c.SendStatus(fiber.StatusOK)
}
}
// @Summary Modifie les informations sur un évènement
// @Tag event
// @Accept json
// @Success 200
// @Failure 401 "Token mal formaté"
// @Failure 404 "Évènement introuvable"
// @Failure 500 "Erreur dans la base de données"
// @Router /event/{id} [patch]
func PatchEvent(c *fiber.Ctx) error {
return nil
}
// @Summary Retourne les informations sur un évènement
// @Tag event
// @Success 200
// @Failure 401 "Token mal formaté"
// @Failure 404 "Évènement introuvable"
// @Failure 500 "Erreur dans la base de données"
// @Router /event/{id} [delete]
func DeleteEvent(c *fiber.Ctx) error {
return nil
}
// @Summary Retourne les informations de toutes les éditions d'un évènement
// @Tag event
// @Param from query int false "Date minimum de l'édition."
// @Param to query int false "Date maximum de l'édition."
// @Produce json
// @Success 200 {array} models.Edition
// @Failure 401 "Token mal formaté"
// @Failure 404 "Évènement ou édition introuvable"
// @Failure 500 "Erreur dans la base de données"
// @Router /event/{id}/editions [get]
func GetEditions(c *fiber.Ctx) error {
return nil
}
// @Summary Retourne les informations sur une édition d'un évènement
// @Tag event
// @Produce json
// @Success 200 models.Edition
// @Failure 401 "Token mal formaté"
// @Failure 404 "Évènement ou édition introuvable"
// @Failure 500 "Erreur dans la base de données"
// @Router /event/{id}/edition/{id} [get]
func GetEdition(c *fiber.Ctx) error {
return nil
}
// @Summary Créer une édition
// @Tag event
// @Produce json
// @Success 200
// @Failure 401 "Token mal formaté"
// @Failure 500 "Erreur dans la base de données"
// @Router /event/{id}/edition [post]
func PostEdition(c *fiber.Ctx) error {
return nil
}
// @Summary Met à jour une édition
// @Tag event
// @Produce json
// @Success 200
// @Failure 401 "Token mal formaté"
// @Failure 404 "Évènement ou édition introuvable"
// @Failure 500 "Erreur dans la base de données"
// @Router /event/{id}/edition/{id} [patch]
func PatchEdition(c *fiber.Ctx) error {
return nil
}
// @Summary Supprime une édition
// @Tag event
// @Produce json
// @Success 200
// @Failure 401 "Token mal formaté"
// @Failure 404 "Évènement ou édition introuvable"
// @Failure 500 "Erreur dans la base de données"
// @Router /event/{id}/edition/{id} [delete]
func DeleteEdition(c *fiber.Ctx) error {
return nil
}
// @Summary Ajoute un utilisateur dans un évènement
// @Tag event
// @Success 200
// @Failure 401 "Token mal formaté"
// @Failure 404 "Évènement ou utilisateur introuvable"
// @Failure 500 "Erreur dans la base de données"
// @Router /event/{id}/user/{id} [post]
func PostEventUser(c *fiber.Ctx) error {
return nil
}
// @Summary Supprime un utilisateur dans un évènement
// @Tag event
// @Success 200
// @Failure 401 "Token mal formaté"
// @Failure 404 "Évènement ou utilisateur introuvable"
// @Failure 500 "Erreur dans la base de données"
// @Router /event/{id}/user/{id} [delete]
func DeleteEventUser(c *fiber.Ctx) error {
return nil
}