fixed assignments view once again

This commit is contained in:
z1glr
2025-01-21 09:41:27 +00:00
parent c9fb212386
commit 67a4001883
29 changed files with 695 additions and 449 deletions

View File

@@ -16,15 +16,13 @@ func getAvailabilities(args HandlerArgs) responseMessage {
return response
} else {
response.Data = struct {
Availabilities []availabilities.AvailabilityDB `json:"availabilities"`
}{Availabilities: avails}
response.Data = avails
return response
}
}
func postAvailabilitie(args HandlerArgs) responseMessage {
func postAvailability(args HandlerArgs) responseMessage {
response := responseMessage{}
// check admin
@@ -65,7 +63,7 @@ func postAvailabilitie(args HandlerArgs) responseMessage {
}
}
func patchAvailabilities(args HandlerArgs) responseMessage {
func patchAvailabilitiy(args HandlerArgs) responseMessage {
response := responseMessage{}
// check admin
@@ -105,3 +103,32 @@ func patchAvailabilities(args HandlerArgs) responseMessage {
}
}
}
func deleteAvailability(args HandlerArgs) responseMessage {
// check admin
if !args.User.Admin {
logger.Warn().Msg("availability-deletion failed: user is no admin")
return responseMessage{
Status: fiber.StatusUnauthorized,
}
// parse the query
} else if taskID := args.C.QueryInt("id", -1); taskID == -1 {
logger.Log().Msg("availability-deletion failed: invalid query: doesn't include \"id\"")
return responseMessage{
Status: fiber.StatusBadRequest,
}
// delete the task from the database
} else if err := availabilities.Delete(taskID); err != nil {
logger.Error().Msgf("availability-deletion failed: can't delete task from database: %v", err)
return responseMessage{
Status: fiber.StatusInternalServerError,
}
} else {
return responseMessage{}
}
}

View File

@@ -118,18 +118,31 @@ func getEventsUserPending(args HandlerArgs) responseMessage {
}
func deleteEvent(args HandlerArgs) responseMessage {
response := responseMessage{}
// check for admin
if !args.User.Admin {
response.Status = fiber.StatusForbidden
logger.Warn().Msg("event-delete failed: user is no admin")
return responseMessage{
Status: fiber.StatusForbidden,
}
// -1 can't be valid
} else if eventId := args.C.QueryInt("id", -1); eventId == -1 {
response.Status = fiber.StatusBadRequest
} else if err := events.Delete(eventId); err != nil {
response.Status = fiber.StatusInternalServerError
}
logger.Log().Msgf("event-delete failed: \"id\" is missing in query")
return response
return responseMessage{
Status: fiber.StatusBadRequest,
}
} else if err := events.Delete(eventId); err != nil {
logger.Error().Msgf("event-delete failed: can't delete from database: %v", err)
return responseMessage{
Status: fiber.StatusInternalServerError,
}
} else {
logger.Log().Msgf("deleted event with id %d", eventId)
return responseMessage{}
}
}

View File

@@ -86,20 +86,22 @@ func init() {
"POST": {
"events": postEvent,
"users": postUser,
"availabilities": postAvailabilitie,
"availabilities": postAvailability,
"tasks": postTask,
},
"PATCH": {
"users": patchUser,
"events": patchEvent,
"availabilities": patchAvailabilities,
"availabilities": patchAvailabilitiy,
"tasks": patchTask,
},
"PUT": {
"users/password": putPassword,
},
"DELETE": {
"event": deleteEvent,
"event": deleteEvent,
"tasks": deleteTask,
"availabilities": deleteAvailability,
},
}

View File

@@ -6,32 +6,15 @@ import (
)
func getTasks(args HandlerArgs) responseMessage {
// check wether the "map"-query is given
if args.C.QueryBool("map") {
if tasks, err := tasks.GetMap(); err != nil {
logger.Error().Msgf("can't get tasks: %v", err)
if taskSlice, err := tasks.GetSlice(); err != nil {
logger.Error().Msgf("can't get tasks: %v", err)
return responseMessage{
Status: fiber.StatusInternalServerError,
}
} else {
return responseMessage{
Data: tasks,
}
return responseMessage{
Status: fiber.StatusInternalServerError,
}
} else {
if taskSlice, err := tasks.GetSlice(); err != nil {
logger.Error().Msgf("can't get tasks: %v", err)
return responseMessage{
Status: fiber.StatusInternalServerError,
}
} else {
return responseMessage{
Data: struct {
Tasks []tasks.TaskDB `json:"tasks"`
}{Tasks: taskSlice},
}
return responseMessage{
Data: taskSlice,
}
}
}
@@ -115,3 +98,32 @@ func patchTask(args HandlerArgs) responseMessage {
}
}
}
func deleteTask(args HandlerArgs) responseMessage {
// check admin
if !args.User.Admin {
logger.Warn().Msg("task-deletion failed: user is no admin")
return responseMessage{
Status: fiber.StatusUnauthorized,
}
// parse the query
} else if taskID := args.C.QueryInt("id", -1); taskID == -1 {
logger.Log().Msg("task-deletion failed: invalid query: doesn't include \"id\"")
return responseMessage{
Status: fiber.StatusBadRequest,
}
// delete the task from the database
} else if err := tasks.Delete(taskID); err != nil {
logger.Error().Msgf("task-deletion failed: can't delete task from database: %v", err)
return responseMessage{
Status: fiber.StatusInternalServerError,
}
} else {
return responseMessage{}
}
}