Ariver
2026-06-03 5de2a0495c233e6f12ae1ebb6e71cb6c73fbbc72
privatevoice.src/internal/model/validator.go
@@ -39,7 +39,7 @@
      if len(rule.AllOf) > 0 {
         for _, rel := range rule.AllOf {
            path := filepath.Join(dir, rel)
            if !validRequiredFile(path) {
            if !validRequiredPath(path, rule.Directory) {
               result.Valid = false
               result.Missing = append(result.Missing, rel)
               continue
@@ -54,7 +54,7 @@
         var selected string
         for _, rel := range rule.AnyOf {
            path := filepath.Join(dir, rel)
            if validRequiredFile(path) {
            if validRequiredPath(path, rule.Directory) {
               selected = path
               break
            }
@@ -72,8 +72,18 @@
}
func validRequiredFile(path string) bool {
   return validRequiredPath(path, false)
}
func validRequiredPath(path string, directory bool) bool {
   info, err := os.Stat(path)
   if err != nil || info.IsDir() {
   if err != nil {
      return false
   }
   if directory {
      return info.IsDir()
   }
   if info.IsDir() {
      return false
   }
   return info.Size() > 0