17 lines
495 B
Go
17 lines
495 B
Go
package domain
|
|
|
|
import (
|
|
"fmt"
|
|
"git.cin.su/m/Assistant/contracts/capability"
|
|
)
|
|
|
|
func ValidateSkillRevision(value capability.SkillRevision) error {
|
|
if value.SkillID == "" || value.Revision < 1 || value.ImplementationRef == "" || value.Lifecycle == "" || value.RecordedAt < 1 {
|
|
return fmt.Errorf("invalid skill revision")
|
|
}
|
|
if value.Lifecycle == capability.SkillValidated && len(value.ValidationEvidenceRefs) == 0 {
|
|
return fmt.Errorf("validated skill requires evidence")
|
|
}
|
|
return nil
|
|
}
|