diff --git a/zooid/api.go b/zooid/api.go index aaae1fe..c36adac 100644 --- a/zooid/api.go +++ b/zooid/api.go @@ -7,6 +7,7 @@ import ( "net/http" "os" "path/filepath" + "regexp" "strings" "fiatjaf.com/nostr" @@ -285,6 +286,9 @@ func (api *APIHandler) validatePatchedConfig(config *Config) error { if config.Schema == "" { return fmt.Errorf("schema is required") } + if !regexp.MustCompile(`^[a-zA-Z_][a-zA-Z0-9_]*$`).MatchString(config.Schema) { + return fmt.Errorf("schema must contain only letters, numbers, and underscores") + } if config.Secret == "" { return fmt.Errorf("secret is required") } diff --git a/zooid/instance.go b/zooid/instance.go index d5da9c4..2c05ded 100644 --- a/zooid/instance.go +++ b/zooid/instance.go @@ -122,7 +122,7 @@ func MakeInstance(filename string) (*Instance, error) { // Initialize the database if err := instance.Events.Init(); err != nil { - log.Fatal("Failed to initialize event store: ", err) + log.Fatal("Failed to initialize event store for ", filename, ": ", err) } // Enable extra functionality