chore: implement fetch all organizations endpoint (#13941)

* chore: implement fetch all organizations endpoint
* update ui to use list all orgs
This commit is contained in:
Steven Masley
2024-07-18 12:28:36 -10:00
committed by GitHub
parent 6f20a64f9d
commit aa6e6e3d58
11 changed files with 169 additions and 18 deletions

View File

@ -11,12 +11,38 @@ import (
"github.com/coder/coder/v2/coderd/audit"
"github.com/coder/coder/v2/coderd/database"
"github.com/coder/coder/v2/coderd/database/db2sdk"
"github.com/coder/coder/v2/coderd/database/dbtime"
"github.com/coder/coder/v2/coderd/httpapi"
"github.com/coder/coder/v2/coderd/httpmw"
"github.com/coder/coder/v2/codersdk"
)
// @Summary Get organizations
// @ID get-organizations
// @Security CoderSessionToken
// @Produce json
// @Tags Organizations
// @Success 200 {object} []codersdk.Organization
// @Router /organizations [get]
func (api *API) organizations(rw http.ResponseWriter, r *http.Request) {
ctx := r.Context()
organizations, err := api.Database.GetOrganizations(ctx)
if httpapi.Is404Error(err) {
httpapi.ResourceNotFound(rw)
return
}
if err != nil {
httpapi.Write(ctx, rw, http.StatusInternalServerError, codersdk.Response{
Message: "Internal error fetching organizations.",
Detail: err.Error(),
})
return
}
httpapi.Write(ctx, rw, http.StatusOK, db2sdk.List(organizations, convertOrganization))
}
// @Summary Get organization by ID
// @ID get-organization-by-id
// @Security CoderSessionToken