diff options
Diffstat (limited to 'pkg/apiv2/echo.go')
-rw-r--r-- | pkg/apiv2/echo.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/pkg/apiv2/echo.go b/pkg/apiv2/echo.go new file mode 100644 index 0000000..daa68a8 --- /dev/null +++ b/pkg/apiv2/echo.go @@ -0,0 +1,36 @@ +package apiv2 + +import ( + "net/http" + + "github.com/labstack/echo/v4" +) + +func (a *API) getListHandler(c echo.Context) error { + echos, err := a.idec.GetEchos() + if err != nil { + return err + } + + return c.JSON(http.StatusOK, echos) +} + +func (a *API) getEchoHandler(c echo.Context) error { + q := new(getEchosRequest) + if err := c.Bind(q); err != nil { + return err + } + + echos, err := a.idec.GetEchosByIDs(q.EchoIDs, q.Offset, q.Limit) + if err != nil { + return err + } + + return c.JSON(http.StatusOK, echos) +} + +type getEchosRequest struct { + EchoIDs []string `query:"e"` + Offset int `query:"offset"` + Limit int `query:"limit"` +} |