package server

import "regexp"

// migrationNameRe validates DNS-subdomain-style names: lowercase alnum and
// internal hyphens, 1-63 chars. Compatible with kubernetes label values.
var migrationNameRe = regexp.MustCompile(`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$`)

// isValidMigrationName reports whether name is a legal migration identifier
// per migrationNameRe, rejecting bad input before any file IO.
func isValidMigrationName(name string) bool {
	if len(name) == 0 || len(name) > 63 {
		return false
	}
	return migrationNameRe.MatchString(name)
}
