From a849a2ae815ac3f2954c40c5dc915d8f4df5f7e6 Mon Sep 17 00:00:00 2001 From: Kevin Lyda <kevin@lyda.ie> Date: Sun, 24 Nov 2024 17:06:35 +0000 Subject: [PATCH] Initial api structure --- server/endpoints.go | 25 +++++++++++++++++++++++++ server/server.go | 19 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 server/endpoints.go create mode 100644 server/server.go diff --git a/server/endpoints.go b/server/endpoints.go new file mode 100644 index 0000000..fbc23d9 --- /dev/null +++ b/server/endpoints.go @@ -0,0 +1,25 @@ +// Package server implements the server. +package server + +import ( + "context" + + "git.lyda.ie/kevin/boxes/api" +) + +// Endpoints implements the endpoints. +type Endpoints struct { +} + +// NewEndpoints returns a new Endpoints structure. +func NewEndpoints() *Endpoints { + return &Endpoints{} +} + +// GetLocations returns a list of locations. +func (ep *Endpoints) GetLocations(_ context.Context, _ api.GetLocationsRequestObject) (api.GetLocationsResponseObject, error) { + loc := []api.Location{} + return api.GetLocations200JSONResponse{ + LocationsJSONResponse: loc, + }, nil +} diff --git a/server/server.go b/server/server.go new file mode 100644 index 0000000..3f09009 --- /dev/null +++ b/server/server.go @@ -0,0 +1,19 @@ +// Package server implements the server. +package server + +import ( + "fmt" + + "git.lyda.ie/kevin/boxes/api" + "github.com/labstack/echo/v4" + "github.com/spf13/cobra" +) + +// StartServer starts the metrics and API servers. +func StartServer(_ *cobra.Command, _ []string) { + e := echo.New() + endpoints := NewEndpoints() + server := api.NewStrictHandler(endpoints, nil) + api.RegisterHandlers(e, server) + fmt.Printf("Server exited with: %+v\n", e.Start(":8070")) +} -- GitLab