implemented modifing of tasks of an event

This commit is contained in:
z1glr
2025-01-13 22:22:10 +00:00
parent 0685283007
commit a3c6fd685d
12 changed files with 468 additions and 288 deletions

View File

@@ -8,40 +8,68 @@ import (
func postEvent(args HandlerArgs) responseMessage {
response := responseMessage{}
// write the event
var body events.EventCreate
// try to parse the body
if err := args.C.BodyParser(&body); err != nil {
response.Status = fiber.StatusBadRequest
logger.Log().Msgf("can't parse body: %v", err)
// validate the parsed body
} else if err := validate.Struct(body); err != nil {
response.Status = fiber.StatusBadRequest
logger.Log().Msgf("invalid body: %v", err)
// create the event
} else if err := events.Create(body); err != nil {
response.Status = fiber.StatusInternalServerError
logger.Error().Msgf("can't create event: %v", err)
// check admin
if !args.User.Admin {
response.Status = fiber.StatusForbidden
} else {
// respond with the new events
if events, err := events.WithAssignments(); err != nil {
// write the event
var body events.EventCreate
// try to parse the body
if err := args.C.BodyParser(&body); err != nil {
response.Status = fiber.StatusBadRequest
logger.Log().Msgf("can't parse body: %v", err)
// validate the parsed body
} else if err := validate.Struct(body); err != nil {
response.Status = fiber.StatusBadRequest
logger.Log().Msgf("invalid body: %v", err)
// create the event
} else if err := events.Create(body); err != nil {
response.Status = fiber.StatusInternalServerError
logger.Error().Msgf("can't retrieve events: %v", err)
} else {
response.Data = events
logger.Error().Msgf("can't create event: %v", err)
}
}
return response
}
func patchEvent(args HandlerArgs) responseMessage {
response := responseMessage{}
// check admin
if !args.User.Admin {
response.Status = fiber.StatusForbidden
} else {
// parse the body
var body events.EventPatch
if err := args.C.BodyParser(&body); err != nil {
response.Status = fiber.StatusBadRequest
logger.Log().Msgf("can't parse body: %v", err)
// validate the body
} else if err := validate.Struct(body); err != nil {
response.Status = fiber.StatusBadRequest
logger.Log().Msgf("ivnalid body: %v", err)
// update the event
} else if err := events.Update(body); err != nil {
response.Status = fiber.StatusInternalServerError
logger.Error().Msgf("updating the event failed: %v", err)
}
}
return response
}
func getEventsAssignments(args HandlerArgs) responseMessage {
response := responseMessage{}

View File

@@ -69,6 +69,7 @@ func init() {
"GET": app.Get,
"POST": app.Post,
"PATCH": app.Patch,
"PUT": app.Put,
"DELETE": app.Delete,
}
@@ -86,8 +87,11 @@ func init() {
"users": postUser,
},
"PATCH": {
"users/password": patchPassword,
"users": patchUser,
"users": patchUser,
"events": patchEvent,
},
"PUT": {
"users/password": putPassword,
},
"DELETE": {
"event": deleteEvent,

View File

@@ -54,7 +54,7 @@ func postUser(args HandlerArgs) responseMessage {
return response
}
func patchPassword(args HandlerArgs) responseMessage {
func putPassword(args HandlerArgs) responseMessage {
response := responseMessage{}
// parse the body
var body users.UserChangePassword