diff options
Diffstat (limited to 'api/handlers/schedule.go')
| -rw-r--r-- | api/handlers/schedule.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/api/handlers/schedule.go b/api/handlers/schedule.go new file mode 100644 index 0000000..fd3a183 --- /dev/null +++ b/api/handlers/schedule.go @@ -0,0 +1,25 @@ +package handlers + +import ( + "github.com/LMBishop/confplanner/api/dto" + "github.com/LMBishop/confplanner/pkg/schedule" + "github.com/gofiber/fiber/v2" + "github.com/golang-cz/nilslice" +) + +func GetSchedule(service schedule.Service) fiber.Handler { + return func(c *fiber.Ctx) error { + schedule, lastUpdated, err := service.GetSchedule() + if err != nil { + return err + } + + return &dto.OkResponse{ + Code: fiber.StatusOK, + Data: &dto.GetScheduleResponse{ + Schedule: nilslice.Initialize(*schedule), + LastUpdated: *lastUpdated, + }, + } + } +} |
