fin-check-api/db/user.go

30 lines
461 B
Go
Raw Permalink Normal View History

2024-08-02 22:36:55 +02:00
package db
import (
"errors"
"gorm.io/gorm"
)
type User struct {
gorm.Model
Username string
Password string
}
var (
ERROR_USER_USERNAME_NOT_UNIQUE = errors.New("Username already persists in database")
)
func (u *User) BeforeCreate(ctx *gorm.DB) error {
var duplicate User
err := ctx.Find(&duplicate, User{Username: u.Username}).Error
if err != nil {
return err
}
if duplicate.ID != 0 {
return ERROR_USER_USERNAME_NOT_UNIQUE
}
return nil
}