30 lines
682 B
Go
30 lines
682 B
Go
package repositories
|
|
|
|
import (
|
|
"git.secnex.io/secnex/mgmt-api/database"
|
|
"git.secnex.io/secnex/mgmt-api/models"
|
|
)
|
|
|
|
func CreateTenant(tenant *models.Tenant) error {
|
|
return database.DB.Create(tenant).Error
|
|
}
|
|
|
|
func UpsertTenant(tenant *models.Tenant) (*models.Tenant, error) {
|
|
createdOrFoundTenant := tenant
|
|
err := database.DB.
|
|
Where("id = ?", tenant.ID).
|
|
FirstOrCreate(createdOrFoundTenant).Error
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return createdOrFoundTenant, nil
|
|
}
|
|
|
|
func GetTenantByID(id string) (*models.Tenant, error) {
|
|
var tenant *models.Tenant
|
|
if err := database.DB.Where("id = ?", id).First(&tenant).Error; err != nil {
|
|
return nil, err
|
|
}
|
|
return tenant, nil
|
|
}
|