feat: wrap commands to send info (#612)

Wrap commands in a better way to pass storage

Former-commit-id: 9a3790c193936b53fe3826d1e051795efd30670b [formerly 04a9f34933a162cf4a98bc1e019f0d6c6404aae7] [formerly ab9be7f27b55a94e6a0f053df6908e357d4b396c [formerly 01ff03e426]]
Former-commit-id: ae7b61281dec2b5527f6032dc6f8c1bd8bb51296 [formerly 780ccc3b166e72bf53114bbfc0a95c0b7ffd8656]
Former-commit-id: 68ee8f7f3931f8e571b0188c96951077d6529cd7
This commit is contained in:
Henrique Dias
2019-01-07 20:24:23 +00:00
committed by GitHub
parent 1133f0f826
commit 77e1fe83db
16 changed files with 170 additions and 212 deletions

View File

@@ -5,7 +5,6 @@ import (
"github.com/filebrowser/filebrowser/v2/rules"
"github.com/filebrowser/filebrowser/v2/settings"
"github.com/filebrowser/filebrowser/v2/storage"
"github.com/filebrowser/filebrowser/v2/users"
"github.com/spf13/cobra"
)
@@ -21,7 +20,7 @@ var rulesAddCmd = &cobra.Command{
Short: "Add a global rule or user rule",
Long: `Add a global rule or user rule.`,
Args: cobra.ExactArgs(1),
Run: func(cmd *cobra.Command, args []string) {
Run: python(func(cmd *cobra.Command, args []string, d pythonData) {
allow := mustGetBool(cmd, "allow")
regex := mustGetBool(cmd, "regex")
exp := args[0]
@@ -41,18 +40,18 @@ var rulesAddCmd = &cobra.Command{
rule.Path = exp
}
user := func(u *users.User, st *storage.Storage) {
user := func(u *users.User) {
u.Rules = append(u.Rules, rule)
err := st.Users.Save(u)
err := d.store.Users.Save(u)
checkErr(err)
}
global := func(s *settings.Settings, st *storage.Storage) {
global := func(s *settings.Settings) {
s.Rules = append(s.Rules, rule)
err := st.Settings.Save(s)
err := d.store.Settings.Save(s)
checkErr(err)
}
runRules(cmd, user, global)
},
runRules(d.store, cmd, user, global)
}, pythonConfig{}),
}