package controllers import ( "net/http" "code.crute.us/mcrute/cloud-identity-broker/app/middleware" glecho "code.crute.us/mcrute/golib/echo" "github.com/labstack/echo/v4" ) const ( contentTypeV1 = "application/vnd.broker.v1+json" // Original type contentTypeV2 = "application/vnd.broker.v2+json" // Start of migration to multi-cloud ) func APIIndexHandler(c echo.Context) error { p, err := middleware.GetAuthorizedPrincipal(c) if err != nil { return echo.ErrUnauthorized } out := map[string]string{ "accounts": glecho.URLFor(c, "/api/account").String(), } if p.IsAdmin { out["users"] = glecho.URLFor(c, "/api/user").String() } return c.JSON(http.StatusOK, out) }