init: Initial commit

This commit is contained in:
Björn Benouarets
2026-01-21 06:35:35 +01:00
commit e13859a3ac
30 changed files with 1224 additions and 0 deletions

27
app/services/tenant.go Normal file
View File

@@ -0,0 +1,27 @@
package services
import (
"net/http"
"git.secnex.io/secnex/mgmt-api/models"
"git.secnex.io/secnex/mgmt-api/repositories"
"git.secnex.io/secnex/mgmt-api/utils"
"github.com/gofiber/fiber/v2"
)
func CreateTenant(name string) *utils.HTTPResponse {
tenant := &models.Tenant{
Name: name,
}
createdOrFoundTenant, err := repositories.UpsertTenant(tenant)
if err != nil {
if utils.IsDuplicateKeyError(err) {
return utils.NewHTTPResponse(http.StatusBadRequest, &fiber.Map{"message": "Tenant already exists"}, "", nil, nil)
}
return utils.NewHTTPResponse(http.StatusInternalServerError, &fiber.Map{"message": "Failed to create tenant"}, "", nil, nil)
}
if createdOrFoundTenant == nil {
return utils.NewHTTPResponse(http.StatusInternalServerError, &fiber.Map{"message": "Failed to create tenant"}, "", nil, nil)
}
return utils.NewHTTPResponse(http.StatusOK, &fiber.Map{"message": "Tenant created", "id": createdOrFoundTenant.ID, "name": createdOrFoundTenant.Name}, "", nil, nil)
}