Migrate GORM to generics API, simplify user-domain relationship, refactor models

This commit is contained in:
Christoph Haas 2026-03-28 17:21:00 +01:00
parent 19ce2224b8
commit 560b40503a
9 changed files with 192 additions and 117 deletions

View file

@ -12,7 +12,8 @@ package db
// Returns a slice of AliasWithDomain (includes domain name) or an error.
func (d *DB) GetAllAliases() ([]AliasWithDomain, error) {
var aliases []VirtualAlias
if err := d.Preload("Domain").Find(&aliases).Error; err != nil {
err := d.Preload("Domain").Find(&aliases).Error
if err != nil {
return nil, err
}
@ -38,7 +39,8 @@ func (d *DB) GetAllAliases() ([]AliasWithDomain, error) {
// Returns a slice of VirtualAlias or an error.
func (d *DB) GetAliasesByDomain(domainID uint) ([]VirtualAlias, error) {
var aliases []VirtualAlias
if err := d.Where("domain_id = ?", domainID).Find(&aliases).Error; err != nil {
err := d.Where("domain_id = ?", domainID).Find(&aliases).Error
if err != nil {
return nil, err
}
if aliases == nil {
@ -52,7 +54,8 @@ func (d *DB) GetAliasesByDomain(domainID uint) ([]VirtualAlias, error) {
// Returns the VirtualAlias or an error (including "record not found").
func (d *DB) GetAliasByID(id uint) (*VirtualAlias, error) {
var alias VirtualAlias
if err := d.Preload("Domain").First(&alias, id).Error; err != nil {
err := d.Where("id = ?", id).Preload("Domain").First(&alias).Error
if err != nil {
return nil, err
}
return &alias, nil
@ -63,7 +66,8 @@ func (d *DB) GetAliasByID(id uint) (*VirtualAlias, error) {
// Returns the VirtualAlias or an error (including "record not found").
func (d *DB) GetAliasBySource(source string) (*VirtualAlias, error) {
var alias VirtualAlias
if err := d.Where("source = ?", source).First(&alias).Error; err != nil {
err := d.Where("source = ?", source).First(&alias).Error
if err != nil {
return nil, err
}
return &alias, nil
@ -78,7 +82,8 @@ func (d *DB) CreateAlias(source, destination string) (*VirtualAlias, error) {
Source: source,
Destination: destination,
}
if err := d.Create(&alias).Error; err != nil {
err := d.Create(&alias).Error
if err != nil {
return nil, err
}
return &alias, nil
@ -95,7 +100,8 @@ func (d *DB) CreateAliasInDomain(source, destination string, domainID uint) (*Vi
Source: source,
Destination: destination,
}
if err := d.Create(&alias).Error; err != nil {
err := d.Create(&alias).Error
if err != nil {
return nil, err
}
return &alias, nil