From 9669ae3ade485ebed02195276b09ba17eaf1769c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Thu, 4 Mar 2021 15:26:03 +0000 Subject: [PATCH] precreate folders to json files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jörn Friedrich Dreyer --- storage/pkg/command/authbasic.go | 8 ++++++++ storage/pkg/command/groups.go | 9 +++++++++ storage/pkg/command/sharing.go | 13 +++++++++++++ storage/pkg/command/users.go | 8 ++++++++ 4 files changed, 38 insertions(+) diff --git a/storage/pkg/command/authbasic.go b/storage/pkg/command/authbasic.go index 2772c35975..bcd05f5d45 100644 --- a/storage/pkg/command/authbasic.go +++ b/storage/pkg/command/authbasic.go @@ -6,6 +6,7 @@ import ( "os" "os/signal" "path" + "path/filepath" "time" "github.com/cs3org/reva/cmd/revad/runtime" @@ -67,6 +68,13 @@ func AuthBasic(cfg *config.Config) *cli.Command { defer cancel() + // precreate folders + if cfg.Reva.AuthProvider.Driver == "json" && cfg.Reva.AuthProvider.JSON != "" { + if err := os.MkdirAll(filepath.Dir(cfg.Reva.AuthProvider.JSON), os.ModeExclusive); err != nil { + return err + } + } + { uuid := uuid.Must(uuid.NewV4()) diff --git a/storage/pkg/command/groups.go b/storage/pkg/command/groups.go index 4cda6fc335..283634e2bf 100644 --- a/storage/pkg/command/groups.go +++ b/storage/pkg/command/groups.go @@ -6,6 +6,7 @@ import ( "os" "os/signal" "path" + "path/filepath" "time" "github.com/cs3org/reva/cmd/revad/runtime" @@ -64,8 +65,16 @@ func Groups(cfg *config.Config) *cli.Command { ctx, cancel = context.WithCancel(context.Background()) //metrics = metrics.New() ) + defer cancel() + // precreate folders + if cfg.Reva.Groups.Driver == "json" && cfg.Reva.Groups.JSON != "" { + if err := os.MkdirAll(filepath.Dir(cfg.Reva.Groups.JSON), os.ModeExclusive); err != nil { + return err + } + } + { uuid := uuid.Must(uuid.NewV4()) pidFile := path.Join(os.TempDir(), "revad-"+c.Command.Name+"-"+uuid.String()+".pid") diff --git a/storage/pkg/command/sharing.go b/storage/pkg/command/sharing.go index b0b6c8de69..6eb4becb08 100644 --- a/storage/pkg/command/sharing.go +++ b/storage/pkg/command/sharing.go @@ -6,6 +6,7 @@ import ( "os" "os/signal" "path" + "path/filepath" "time" "github.com/cs3org/reva/cmd/revad/runtime" @@ -67,6 +68,18 @@ func Sharing(cfg *config.Config) *cli.Command { defer cancel() + // precreate folders + if cfg.Reva.Sharing.UserDriver == "json" && cfg.Reva.Sharing.UserJSONFile != "" { + if err := os.MkdirAll(filepath.Dir(cfg.Reva.Sharing.UserJSONFile), os.ModeExclusive); err != nil { + return err + } + } + if cfg.Reva.Sharing.PublicDriver == "json" && cfg.Reva.Sharing.PublicJSONFile != "" { + if err := os.MkdirAll(filepath.Dir(cfg.Reva.Sharing.PublicJSONFile), os.ModeExclusive); err != nil { + return err + } + } + { uuid := uuid.Must(uuid.NewV4()) diff --git a/storage/pkg/command/users.go b/storage/pkg/command/users.go index 67004ac80a..801a9e1c6f 100644 --- a/storage/pkg/command/users.go +++ b/storage/pkg/command/users.go @@ -6,6 +6,7 @@ import ( "os" "os/signal" "path" + "path/filepath" "time" "github.com/cs3org/reva/cmd/revad/runtime" @@ -67,6 +68,13 @@ func Users(cfg *config.Config) *cli.Command { defer cancel() + // precreate folders + if cfg.Reva.Users.Driver == "json" && cfg.Reva.Users.JSON != "" { + if err := os.MkdirAll(filepath.Dir(cfg.Reva.Users.JSON), os.ModeExclusive); err != nil { + return err + } + } + { uuid := uuid.Must(uuid.NewV4()) pidFile := path.Join(os.TempDir(), "revad-"+c.Command.Name+"-"+uuid.String()+".pid")