Skip to content

Commit

Permalink
fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
michael-brennan2005 committed May 28, 2024
1 parent 7036773 commit d048df9
Show file tree
Hide file tree
Showing 8 changed files with 56 additions and 261 deletions.
4 changes: 2 additions & 2 deletions backend/config/auth.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package config
import m "github.com/garrettladley/mattress"

type AuthSettings struct {
AccessKey *m.Secret[string]
RefreshKey *m.Secret[string]
AccessKey *m.Secret[string] `env:"ACCESS_KEY"`
RefreshKey *m.Secret[string] `env:"REFRESH_KEY"`
}

type IntermediateAuthSettings struct {
Expand Down
24 changes: 2 additions & 22 deletions backend/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,8 @@ import (
"github.com/joho/godotenv"
)

type Settings struct {
Application ApplicationSettings
Database DatabaseSettings
SuperUser SuperUserSettings
Auth AuthSettings
AWS AWSSettings
Resend ResendSettings
Calendar CalendarSettings
GoogleSettings OAuthSettings
OutlookSettings OAuthSettings
}

type intermediateSettings struct {
Application ApplicationSettings `yaml:"application"`
Database intermediateDatabaseSettings `yaml:"database"`
SuperUser intermediateSuperUserSettings `yaml:"superuser"`
Auth intermediateAuthSettings `yaml:"authsecret"`
Calendar intermediateCalendarSettings `yaml:"calendar"`
}

func (int *intermediateSettings) into() (*Settings, error) {
databaseSettings, err := int.Database.into()
func GetConfiguration(path string) (*Settings, error) {
err := godotenv.Load(path)
if err != nil {
return nil, err
}
Expand Down
69 changes: 0 additions & 69 deletions backend/config/local.go

This file was deleted.

45 changes: 14 additions & 31 deletions backend/config/oauth.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package config

import (
"errors"
"os"

m "github.com/garrettladley/mattress"
)
Expand All @@ -26,26 +25,18 @@ type OAuthResources struct {
OutlookOAuthSettings *OAuthSettings
}

/**
* GOOGLE
**/
func readGoogleOAuthSettings() (*OAuthSettings, error) {
clientID := os.Getenv("GOOGLE_OAUTH_CLIENT_ID")
if clientID == "" {
return nil, errors.New("GOOGLE_OAUTH_CLIENT_ID is not set")
}
type GoogleOAuthSettings struct {
ClientId string `env:"GOOGLE_OAUTH_CLIENT_ID"`
ClientSecret string `env:"GOOGLE_OAUTH_CLIENT_SECRET"`
}

secretClientID, err := m.NewSecret(clientID)
func (i *GoogleOAuthSettings) Into() (*OAuthSettings, error) {
secretClientID, err := m.NewSecret(i.ClientId)
if err != nil {
return nil, errors.New("failed to create secret from client ID")
}

clientSecret := os.Getenv("GOOGLE_OAUTH_CLIENT_SECRET")
if clientSecret == "" {
return nil, errors.New("GOOGLE_OAUTH_CLIENT_SECRET is not set")
}

secretClientSecret, err := m.NewSecret(clientSecret)
secretClientSecret, err := m.NewSecret(i.ClientSecret)
if err != nil {
return nil, errors.New("failed to create secret from client secret")
}
Expand All @@ -64,26 +55,18 @@ func readGoogleOAuthSettings() (*OAuthSettings, error) {
}, nil
}

/**
* OUTLOOK
**/
func readOutlookOAuthSettings() (*OAuthSettings, error) {
clientID := os.Getenv("OUTLOOK_OAUTH_CLIENT_ID")
if clientID == "" {
return nil, errors.New("OUTLOOK_OAUTH_CLIENT_ID is not set")
}
type OutlookOAuthSettings struct {
ClientId string `env:"OUTLOOK_OAUTH_CLIENT_ID"`
ClientSecret string `env:"OUTLOOK_OAUTH_CLIENT_SECRET"`
}

secretClientID, err := m.NewSecret(clientID)
func (i *OutlookOAuthSettings) Into() (*OAuthSettings, error) {
secretClientID, err := m.NewSecret(i.ClientId)
if err != nil {
return nil, errors.New("failed to create secret from client ID")
}

clientSecret := os.Getenv("OUTLOOK_OAUTH_CLIENT_SECRET")
if clientSecret == "" {
return nil, errors.New("OUTLOOK_OAUTH_CLIENT_SECRET is not set")
}

secretClientSecret, err := m.NewSecret(clientSecret)
secretClientSecret, err := m.NewSecret(i.ClientSecret)
if err != nil {
return nil, errors.New("failed to create secret from client secret")
}
Expand Down
128 changes: 0 additions & 128 deletions backend/config/production.go

This file was deleted.

30 changes: 23 additions & 7 deletions backend/config/settings.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,20 @@ type Settings struct {
AWS AWSSettings
Resend ResendSettings
Calendar CalendarSettings
Google OAuthSettings
Outlook OAuthSettings
}

type IntermediateSettings struct {
Application ApplicationSettings `envPrefix:"SAC_APPLICATION_"`
Database IntermediateDatabaseSettings `envPrefix:"SAC_DB_"`
SuperUser IntermediateSuperUserSettings `envPrefix:"SAC_SUDO_"`
Auth IntermediateAuthSettings `envPrefix:"SAC_AUTH_"`
AWS IntermediateAWSSettings `envPrefix:"SAC_AWS_"`
Resend IntermediateResendSettings `envPrefix:"SAC_RESEND_"`
Calendar IntermediateCalendarSettings `envPrefix:"SAC_CALENDAR_"`
Application ApplicationSettings `envPrefix:"SAC_APPLICATION_"`
Database IntermediateDatabaseSettings `envPrefix:"SAC_DB_"`
SuperUser IntermediateSuperUserSettings `envPrefix:"SAC_SUDO_"`
Auth IntermediateAuthSettings `envPrefix:"SAC_AUTH_"`
AWS IntermediateAWSSettings `envPrefix:"SAC_AWS_"`
Resend IntermediateResendSettings `envPrefix:"SAC_RESEND_"`
Calendar IntermediateCalendarSettings `envPrefix:"SAC_CALENDAR_"`
GoogleSettings GoogleOAuthSettings `envPrefix:"SAC_GOOGLE_OAUTH"`
OutlookSettings OutlookOAuthSettings `envPrefix:"SAC_OUTLOOK_OAUTH"`
}

func (i *IntermediateSettings) Into() (*Settings, error) {
Expand Down Expand Up @@ -51,6 +55,16 @@ func (i *IntermediateSettings) Into() (*Settings, error) {
return nil, nil
}

google, err := i.GoogleSettings.Into()
if err != nil {
return nil, nil
}

outlook, err := i.OutlookSettings.Into()
if err != nil {
return nil, nil
}

return &Settings{
Application: i.Application,
Database: *database,
Expand All @@ -59,5 +73,7 @@ func (i *IntermediateSettings) Into() (*Settings, error) {
AWS: *aws,
Resend: *resend,
Calendar: *calendar,
Google: *google,
Outlook: *outlook,
}, nil
}
Loading

0 comments on commit d048df9

Please sign in to comment.