35 lines
719 B
Go
35 lines
719 B
Go
package handler
|
|
|
|
import (
|
|
"astra-users/model"
|
|
"astra-users/pkg/utils"
|
|
"github.com/labstack/echo/v4"
|
|
"net/http"
|
|
)
|
|
|
|
func (h *Handler) CreateOrganization(c echo.Context) (err error) {
|
|
organization := new(model.OrganizationApi)
|
|
|
|
if err = c.Bind(organization); err != nil {
|
|
return c.NoContent(http.StatusBadRequest)
|
|
}
|
|
|
|
newOrg, err := utils.TypeConverter[model.Organization](organization)
|
|
|
|
tx := h.DB.Create(&newOrg)
|
|
|
|
if tx.RowsAffected == 0 {
|
|
return c.NoContent(http.StatusBadGateway)
|
|
}
|
|
|
|
return c.JSON(http.StatusCreated, newOrg)
|
|
}
|
|
|
|
func (h *Handler) GetOrganizations(c echo.Context) error {
|
|
var organizations []model.Organization
|
|
|
|
h.DB.Find(&organizations)
|
|
|
|
return c.JSON(http.StatusOK, organizations)
|
|
}
|