Add backend validation for aliases

- Validate source email format (RFC 5321 local-part)
- Ensure source is in the correct domain
- Validate destination (single or comma-separated emails)
- Check for duplicate aliases
- Add GetAliasBySource database method
This commit is contained in:
Christoph Haas 2026-03-24 21:57:32 +01:00
parent 25a3eae628
commit 53261dec0c
2 changed files with 45 additions and 0 deletions

View file

@ -42,6 +42,14 @@ func (d *DB) GetAliasByID(id uint) (*Alias, error) {
return &alias, nil
}
func (d *DB) GetAliasBySource(source string) (*Alias, error) {
var alias Alias
if err := d.Where("source = ?", source).First(&alias).Error; err != nil {
return nil, err
}
return &alias, nil
}
func (d *DB) CreateAlias(source, destination string) (*Alias, error) {
alias := Alias{
Source: source,