diff --git a/backend/internal/service/project/service.go b/backend/internal/service/project/service.go index c2c94b3ccb..a1d7fe54e1 100644 --- a/backend/internal/service/project/service.go +++ b/backend/internal/service/project/service.go @@ -739,9 +739,12 @@ func defaultProjectID(path string) domain.ProjectID { id := strings.ToLower(filepath.Base(path)) id = strings.TrimSpace(id) id = strings.ReplaceAll(id, " ", "-") + id = nonAlphanumeric.ReplaceAllString(id, "-") return domain.ProjectID(id) } +var nonAlphanumeric = regexp.MustCompile(`[^a-zA-Z0-9_-]+`) + var projectIDPattern = regexp.MustCompile(`^[A-Za-z0-9][A-Za-z0-9._-]*$`) func validateProjectID(id domain.ProjectID) error {