fin-check-api/db/user.go
2024-08-02 23:36:55 +03:00

30 lines
461 B
Go

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
}