Skip to content

Commit

Permalink
feat: key make support custom env path (#237)
Browse files Browse the repository at this point in the history
* feat: key make support custom env path

* refactor: env path

* fix: tests

* fix: flag Parse

* feat: optimize env
  • Loading branch information
devhaozi authored Jul 10, 2023
1 parent 23981ff commit 4b0ca1d
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 16 deletions.
5 changes: 3 additions & 2 deletions auth/console/jwt_secret_command.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
"github.com/goravel/framework/contracts/config"
"github.com/goravel/framework/contracts/console"
"github.com/goravel/framework/contracts/console/command"
"github.com/goravel/framework/support"
"github.com/goravel/framework/support/str"
)

Expand Down Expand Up @@ -77,14 +78,14 @@ func (receiver *JwtSecretCommand) setSecretInEnvironmentFile(key string) error {

// writeNewEnvironmentFileWith Write a new environment file with the given key.
func (receiver *JwtSecretCommand) writeNewEnvironmentFileWith(key string) error {
content, err := os.ReadFile(".env")
content, err := os.ReadFile(support.EnvPath)
if err != nil {
return err
}

newContent := strings.Replace(string(content), "JWT_SECRET="+receiver.config.GetString("jwt.secret"), "JWT_SECRET="+key, 1)

err = os.WriteFile(".env", []byte(newContent), 0644)
err = os.WriteFile(support.EnvPath, []byte(newContent), 0644)
if err != nil {
return err
}
Expand Down
13 changes: 1 addition & 12 deletions config/service_provider.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package config

import (
"flag"

"github.com/goravel/framework/contracts/foundation"
"github.com/goravel/framework/support"
)
Expand All @@ -13,17 +11,8 @@ type ServiceProvider struct {
}

func (config *ServiceProvider) Register(app foundation.Application) {
var env *string
if support.Env == support.EnvTest {
testEnv := ".env"
env = &testEnv
} else {
env = flag.String("env", ".env", "custom .env path")
flag.Parse()
}

app.Singleton(Binding, func(app foundation.Application) (any, error) {
return NewApplication(*env), nil
return NewApplication(support.EnvPath), nil
})
}

Expand Down
5 changes: 3 additions & 2 deletions console/console/key_generate_command.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
"github.com/goravel/framework/contracts/config"
"github.com/goravel/framework/contracts/console"
"github.com/goravel/framework/contracts/console/command"
"github.com/goravel/framework/support"
"github.com/goravel/framework/support/str"
)

Expand Down Expand Up @@ -82,14 +83,14 @@ func (receiver *KeyGenerateCommand) generateRandomKey() string {

// writeNewEnvironmentFileWith Write a new environment file with the given key.
func (receiver *KeyGenerateCommand) writeNewEnvironmentFileWith(key string) error {
content, err := os.ReadFile(".env")
content, err := os.ReadFile(support.EnvPath)
if err != nil {
return err
}

newContent := strings.Replace(string(content), "APP_KEY="+receiver.config.GetString("app.key"), "APP_KEY="+key, 1)

err = os.WriteFile(".env", []byte(newContent), 0644)
err = os.WriteFile(support.EnvPath, []byte(newContent), 0644)
if err != nil {
return err
}
Expand Down
12 changes: 12 additions & 0 deletions foundation/application.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package foundation

import (
"flag"
"os"
"path/filepath"
"strings"
Expand Down Expand Up @@ -178,6 +179,17 @@ func setEnv() {
support.Env = support.EnvArtisan
}
}

var env *string
if !flag.Parsed() && support.Env != support.EnvTest {
env = flag.String("env", ".env", "custom .env path")
flag.Parse()
} else {
testEnv := ".env"
env = &testEnv
}

support.EnvPath = *env
}

func setRootPath() {
Expand Down
1 change: 1 addition & 0 deletions support/constant.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,6 @@ const (

var (
Env = EnvRuntime
EnvPath = ".env"
RootPath string
)

0 comments on commit 4b0ca1d

Please sign in to comment.