add: AllowOrigins config && changed config format

This commit is contained in:
$(pass /github/name)
2024-09-07 08:51:58 +02:00
parent 82413499f5
commit 8f3d73af90
4 changed files with 30 additions and 25 deletions

View File

@@ -18,7 +18,7 @@ func main() {
config.LoadConfig()
err := database.Open(config.DB.Path)
err := database.Open(config.DB.Path, config.Recipients.AdminEmail)
if err != nil {
logger.Error.Fatalf("Couldn't init database: %v", err)
}

View File

@@ -1,6 +1,9 @@
{
"site": {
"WebsiteTitle": "My Carsharing Site",
"BaseURL": "https://domain.de",
"BaseUrl": "https://domain.de",
"AllowOrigins": "https://domain.de"
},
"Environment": "dev",
"db": {
"Path": "data/db.sqlite3"

View File

@@ -23,6 +23,11 @@ type DatabaseConfig struct {
Path string `json:"Path" default:"data/db.sqlite3" envconfig:"DB_PATH"`
}
type SiteConfig struct {
AllowOrigins string `json:"AllowOrigins" envconfig:"ALLOW_ORIGINS"`
WebsiteTitle string `json:"WebsiteTitle" envconfig:"WEBSITE_TITLE"`
BaseURL string `json:"BaseUrl" envconfig:"BASE_URL"`
}
type AuthenticationConfig struct {
JWTSecret string
CSRFSecret string
@@ -57,11 +62,10 @@ type SecurityConfig struct {
}
type Config struct {
Auth AuthenticationConfig `json:"auth"`
Site SiteConfig `json:"site"`
Templates TemplateConfig `json:"templates"`
Recipients RecipientsConfig `json:"recipients"`
ConfigFilePath string `json:"config_file_path" envconfig:"CONFIG_FILE_PATH"`
WebsiteTitle string `json:"WebsiteTitle" envconfig:"WEBSITE_TITLE"`
BaseURL string `json:"BaseUrl" envconfig:"BASE_URL"`
Env string `json:"Environment" default:"development" envconfig:"ENV"`
DB DatabaseConfig `json:"db"`
SMTP SMTPConfig `json:"smtp"`
@@ -69,8 +73,7 @@ type Config struct {
}
var (
BaseURL string
WebsiteTitle string
Site SiteConfig
CFGPath string
CFG Config
Auth AuthenticationConfig
@@ -115,11 +118,10 @@ func LoadConfig() {
DB = CFG.DB
Templates = CFG.Templates
SMTP = CFG.SMTP
BaseURL = CFG.BaseURL
Recipients = CFG.Recipients
Security = CFG.Security
Env = CFG.Env
WebsiteTitle = CFG.WebsiteTitle
Site = CFG.Site
logger.Info.Printf("Config loaded: %#v", CFG)
}

View File

@@ -70,7 +70,7 @@ func (s *EmailService) SendVerificationEmail(user *models.User, token *string) e
FirstName: user.FirstName,
LastName: user.LastName,
Token: *token,
BASEURL: config.BaseURL,
BASEURL: config.Site.BaseURL,
}
subject := constants.MailVerificationSubject
@@ -102,8 +102,8 @@ func (s *EmailService) SendWelcomeEmail(user *models.User) error {
MembershipID: user.Membership.ID,
MembershipFee: float32(user.Membership.SubscriptionModel.MonthlyFee),
RentalFee: float32(user.Membership.SubscriptionModel.HourlyRate),
BASEURL: config.BaseURL,
WebsiteTitle: config.WebsiteTitle,
BASEURL: config.Site.BaseURL,
WebsiteTitle: config.Site.WebsiteTitle,
Logo: config.Templates.LogoURI,
}
@@ -151,9 +151,9 @@ func (s *EmailService) SendRegistrationNotification(user *models.User) error {
Email: user.Email,
Phone: user.Phone,
IBAN: user.BankAccount.IBAN,
BASEURL: config.BaseURL,
BASEURL: config.Site.BaseURL,
Logo: config.Templates.LogoURI,
WebsiteTitle: config.WebsiteTitle,
WebsiteTitle: config.Site.WebsiteTitle,
}
subject := constants.MailRegistrationSubject
@@ -175,9 +175,9 @@ func (s *EmailService) RelayContactFormMessage(sender string, name string, messa
}{
Message: message,
Name: name,
BASEURL: config.BaseURL,
BASEURL: config.Site.BaseURL,
Logo: config.Templates.LogoURI,
WebsiteTitle: config.WebsiteTitle,
WebsiteTitle: config.Site.WebsiteTitle,
}
subject := constants.MailContactSubject
body, err := ParseTemplate("mail_contact_form.tmpl", data)