2023-06-05 14:18:05 -07:00

32 lines
520 B
Go

package state
import (
"github.com/go-ozzo/ozzo-validation/v4"
"gorm.io/gorm"
)
type ValidationCode string
const (
VALIDATION_UNIQUE ValidationCode = "unique"
)
func checkUnique(tx *gorm.DB) validation.RuleFunc {
return func(value interface{}) error {
var count int64
result := tx.Count(&count)
if result.Error != nil {
return validation.NewInternalError(result.Error)
}
if count > 0 {
return validation.NewError(
string(VALIDATION_UNIQUE),
"must be unique",
)
}
return nil
}
}