2020-09-30 10:00:05 +02:00
|
|
|
package repository
|
|
|
|
|
|
|
|
import (
|
|
|
|
"regexp"
|
|
|
|
|
|
|
|
"github.com/caos/zitadel/internal/errors"
|
|
|
|
)
|
|
|
|
|
|
|
|
var versionRegexp = regexp.MustCompile(`^v[0-9]+(\.[0-9]+){0,2}$`)
|
|
|
|
|
2020-10-06 21:28:09 +02:00
|
|
|
//Version represents the semver of an aggregate
|
2020-09-30 10:00:05 +02:00
|
|
|
type Version string
|
|
|
|
|
2020-10-06 21:28:09 +02:00
|
|
|
//Validate checks if the v is semver
|
2020-09-30 10:00:05 +02:00
|
|
|
func (v Version) Validate() error {
|
|
|
|
if !versionRegexp.MatchString(string(v)) {
|
|
|
|
return errors.ThrowPreconditionFailed(nil, "MODEL-luDuS", "version is not semver")
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|