forked from mirrors/gotosocial
Move some consts around
This commit is contained in:
parent
54c4b8de20
commit
645ea31856
3 changed files with 13 additions and 52 deletions
|
@ -20,6 +20,8 @@
|
|||
// Don't judge me.
|
||||
package consts
|
||||
|
||||
import "regexp"
|
||||
|
||||
// FlagNames is used for storing the names of the various flags used for
|
||||
// initializing and storing urfavecli flag variables.
|
||||
type FlagNames struct {
|
||||
|
@ -75,3 +77,6 @@ func GetEnvNames() FlagNames {
|
|||
DbDatabase: "GTS_DB_DATABASE",
|
||||
}
|
||||
}
|
||||
|
||||
var IPV4Regex = regexp.MustCompile(`^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$`)
|
||||
var HostnameRegex = regexp.MustCompile(`^(?:[a-z0-9]+(?:-[a-z0-9]+)*\.)+[a-z]{2,}$`)
|
||||
|
|
|
@ -1,44 +0,0 @@
|
|||
/*
|
||||
GoToSocial
|
||||
Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package db
|
||||
|
||||
import "regexp"
|
||||
|
||||
const (
|
||||
/*
|
||||
general db defaults
|
||||
*/
|
||||
|
||||
// default database to use in whatever db implementation we have
|
||||
defaultDatabase string = "gotosocial"
|
||||
// default address should in most cases be overwritten
|
||||
defaultAddress string = "localhost"
|
||||
|
||||
/*
|
||||
implementation-specific defaults
|
||||
*/
|
||||
|
||||
// widely-recognised default postgres port
|
||||
postgresDefaultPort int = 5432
|
||||
// default user should in most cases be overwritten
|
||||
postgresDefaultUser string = "postgres"
|
||||
)
|
||||
|
||||
var ipv4Regex = regexp.MustCompile(`^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$`)
|
||||
var hostnameRegex = regexp.MustCompile(`^(?:[a-z0-9]+(?:-[a-z0-9]+)*\.)+[a-z]{2,}$`)
|
|
@ -28,6 +28,7 @@ import (
|
|||
|
||||
"github.com/go-fed/activity/streams/vocab"
|
||||
"github.com/go-pg/pg"
|
||||
"github.com/gotosocial/gotosocial/internal/consts"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
|
@ -100,23 +101,22 @@ func derivePGOptions(config *Config) (*pg.Options, error) {
|
|||
return nil, fmt.Errorf("expected db type of %s but got %s", dbTypePostgres, config.Type)
|
||||
}
|
||||
|
||||
// use sensible default port
|
||||
var port int = config.Port
|
||||
if port == 0 {
|
||||
port = postgresDefaultPort
|
||||
// validate port
|
||||
if config.Port == 0 {
|
||||
return nil, errors.New("no port set")
|
||||
}
|
||||
|
||||
// validate address
|
||||
if config.Address == "" {
|
||||
config.Address = defaultAddress
|
||||
return nil, errors.New("no address set")
|
||||
}
|
||||
if !hostnameRegex.MatchString(config.Address) && !ipv4Regex.MatchString(config.Address) && config.Address != "localhost" {
|
||||
if !consts.HostnameRegex.MatchString(config.Address) && !consts.IPV4Regex.MatchString(config.Address) && config.Address != "localhost" {
|
||||
return nil, fmt.Errorf("address %s was neither an ipv4 address nor a valid hostname", config.Address)
|
||||
}
|
||||
|
||||
// validate username
|
||||
if config.User == "" {
|
||||
config.User = postgresDefaultUser
|
||||
return nil, errors.New("no user set")
|
||||
}
|
||||
|
||||
// validate that there's a password
|
||||
|
@ -126,7 +126,7 @@ func derivePGOptions(config *Config) (*pg.Options, error) {
|
|||
|
||||
// validate database
|
||||
if config.Database == "" {
|
||||
config.Database = defaultDatabase
|
||||
return nil, errors.New("no database set")
|
||||
}
|
||||
|
||||
// We can rely on the pg library we're using to set
|
||||
|
|
Loading…
Reference in a new issue