diff --git a/cmd/root.go b/cmd/root.go index 189c0a44..5b314b61 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -123,7 +123,6 @@ user created with the credentials from options "username" and "password".`, log.Fatal("Image resize workers count could not be < 1") } imgSvc := img.New(workersCount) - log.Println("after img.New") var fileCache diskcache.Interface = diskcache.NewNoOp() cacheDir, err := cmd.Flags().GetString("cache-dir") @@ -134,13 +133,9 @@ user created with the credentials from options "username" and "password".`, } fileCache = diskcache.New(afero.NewOsFs(), cacheDir) } - log.Println("after diskcache.New") server := getRunParams(cmd.Flags(), d.store) - log.Println("after getRunParams") - log.Println(server.Log) setupLog(server.Log) - log.Println("after setupLog") root, err := filepath.Abs(server.Root) checkErr(err) @@ -170,7 +165,6 @@ user created with the credentials from options "username" and "password".`, listener, err = net.Listen("tcp", adr) checkErr(err) } - log.Println("before make(chan)") sigc := make(chan os.Signal, 1) signal.Notify(sigc, os.Interrupt, syscall.SIGTERM) @@ -181,7 +175,6 @@ user created with the credentials from options "username" and "password".`, panic(err) } - log.Println("before fbhttp.NewHandler)") handler, err := fbhttp.NewHandler(imgSvc, fileCache, d.store, server, assetsFs) checkErr(err) diff --git a/storage/bolt/auth.go b/storage/bolt/auth.go index 7ed93d4d..cf15a8fe 100644 --- a/storage/bolt/auth.go +++ b/storage/bolt/auth.go @@ -1,8 +1,6 @@ package bolt import ( - "fmt" - "github.com/asdine/storm/v3" "github.com/filebrowser/filebrowser/v2/auth" @@ -16,7 +14,6 @@ type authBackend struct { func (s authBackend) Get(t settings.AuthMethod) (auth.Auther, error) { var auther auth.Auther - fmt.Println("ERROR: unknown auth method " + t) switch t { case auth.MethodJSONAuth: diff --git a/storage/sql/auth.go b/storage/sql/auth.go index 6575a869..eabe1d57 100644 --- a/storage/sql/auth.go +++ b/storage/sql/auth.go @@ -40,7 +40,7 @@ func (s authBackend) Get(t settings.AuthMethod) (auth.Auther, error) { func (s authBackend) Save(a auth.Auther) error { val, err := json.Marshal(a) - if err != nil { + if !checkError(err, "Fail to save auth.Auther") { return err } return SetSetting(s.db, "auther", string(val)) diff --git a/storage/sql/settings.go b/storage/sql/settings.go index b14cf957..09412e92 100644 --- a/storage/sql/settings.go +++ b/storage/sql/settings.go @@ -19,6 +19,7 @@ type settingsBackend struct { func InitSettingsTable(db *sql.DB) error { sql := "create table if not exists settings(key string primary key, value string)" _, err := db.Exec(sql) + checkError(err, "Fail to create table settings") return err } @@ -28,15 +29,13 @@ func userDefaultsFromString(s string) settings.UserDefaults { } userDefaults := settings.UserDefaults{} err := json.Unmarshal([]byte(s), &userDefaults) - if err != nil { - fmt.Println("ERROR: Fail to parse settings.UserDefaults") - } + checkError(err, "Fail to parse settings.UserDefaults") return userDefaults } func userDefaultsToString(d settings.UserDefaults) string { data, err := json.Marshal(d) - if err != nil { + if !checkError(err, "Fail to stringify settings.UserDefaults") { return "" } return string(data) @@ -48,16 +47,13 @@ func brandingFromString(s string) settings.Branding { } branding := settings.Branding{} err := json.Unmarshal([]byte(s), &branding) - if err != nil { - fmt.Println("ERROR: Fail to parse settings.Branding") - } + checkError(err, "Fail to parse settings.Branding") return branding } func brandingToString(s settings.Branding) string { data, err := json.Marshal(s) - if err != nil { - fmt.Println("ERROR: Fail to jsonify settings.Branding") + if !checkError(err, "Fail to jsonify settings.Branding") { return "" } return string(data) @@ -65,8 +61,7 @@ func brandingToString(s settings.Branding) string { func commandsToString(c map[string][]string) string { data, err := json.Marshal(c) - if err != nil { - fmt.Println("ERROR: Fail to jsonify commands") + if !checkError(err, "Fail to jsonify commands") { return "" } return string(data) @@ -78,9 +73,7 @@ func commandsFromString(s string) map[string][]string { } c := map[string][]string{} err := json.Unmarshal([]byte(s), &c) - if err != nil { - fmt.Println("ERROR: Fail to parse commands") - } + checkError(err, "Fail to parse commands") return c } @@ -90,16 +83,13 @@ func stringsFromString(s string) []string { } c := []string{} err := json.Unmarshal([]byte(s), &c) - if err != nil { - fmt.Println("ERROR: Fail to parse []string") - } + checkError(err, "Fail to parse []string") return c } func stringsToString(c []string) string { data, err := json.Marshal(c) - if err != nil { - fmt.Println("ERROR: Fail to jsonify strings") + if !checkError(err, "Fail to jsonify strings") { return "" } return string(data) @@ -136,18 +126,15 @@ func boolToString(b bool) string { func (s settingsBackend) Get() (*settings.Settings, error) { sql := "select key, value from settings" rows, err := s.db.Query(sql) - if err != nil { - return nil, nil + if !checkError(err, "Fail to Query settings.Settings") { + return nil, err } key := "" value := "" settings1 := cloneSettings(defaultSettings) for rows.Next() { err = rows.Scan(&key, &value) - if err != nil { - fmt.Println(err.Error()) - fmt.Println("ERROR: Fail to query settings.Settings") - } + checkError(err, "Fail to query settings.Settings") if key == "Key" { settings1.Key = []byte(value) } else if key == "Signup" { @@ -186,7 +173,7 @@ func (s settingsBackend) Save(ss *settings.Settings) error { RulesToString(ss.Rules)} sql := fmt.Sprintf("INSERT INTO settings (%s) VALUES(%s)", strings.Join(columns, ","), strings.Join(values, ",")) _, err := s.db.Exec(sql) - if err != nil { + if !checkError(err, "Fail to insert settings.Settings") { return err } return nil @@ -244,7 +231,7 @@ var defaultSettings = settings.Settings{ func cloneServer(server settings.Server) settings.Server { data, err := json.Marshal(server) - if err != nil { + if !checkError(err, "Fail to clone settings.Server") { return settings.Server{} } s := settings.Server{} @@ -254,7 +241,7 @@ func cloneServer(server settings.Server) settings.Server { func cloneSettings(s settings.Settings) settings.Settings { data, err := json.Marshal(s) - if err != nil { + if !checkError(err, "Fail to clone settings.Settings") { return settings.Settings{} } s1 := settings.Settings{} @@ -265,8 +252,8 @@ func cloneSettings(s settings.Settings) settings.Settings { func (s settingsBackend) GetServer() (*settings.Server, error) { sql := "select key, value from settings" rows, err := s.db.Query(sql) - if err != nil { - return nil, nil + if !checkError(err, "Fail to Query for GetServer") { + return nil, err } server := cloneServer(defaultServer) key := "" @@ -274,9 +261,8 @@ func (s settingsBackend) GetServer() (*settings.Server, error) { for rows.Next() { err = rows.Scan(&key, &value) - if err != nil { - fmt.Println(err.Error()) - fmt.Println("ERROR: Fail to query settings.Settings") + if !checkError(err, "Fail to query settings.Settings") { + continue } if key == "Root" { server.Root = value @@ -327,7 +313,7 @@ func (s settingsBackend) SaveServer(ss *settings.Server) error { "'" + ss.AuthHook + "'"} sql := fmt.Sprintf("INSERT INTO settings (%s) VALUES(%s)", strings.Join(columns, ","), strings.Join(values, ",")) _, err := s.db.Exec(sql) - if err != nil { + if !checkError(err, "Fail to insert for settings.Settings") { return err } return nil @@ -337,7 +323,7 @@ func SetSetting(db *sql.DB, key string, value string) error { sql := "select count(key) from settings where key = '" + key + "'" count := 0 err := db.QueryRow(sql).Scan(&count) - if err != nil { + if !checkError(err, "Fail to QueryRow for key="+key) { return err } if count == 0 { @@ -350,7 +336,7 @@ func GetSetting(db *sql.DB, key string) string { sql := "select value from settings where key = '" + key + "';" value := "" err := db.QueryRow(sql).Scan(&value) - if err != nil { + if !checkError(err, "Fail to QueryRow for key "+key) { return value } return value diff --git a/storage/sql/share.go b/storage/sql/share.go index 66372b1e..899eea17 100644 --- a/storage/sql/share.go +++ b/storage/sql/share.go @@ -2,7 +2,6 @@ package sql import ( "database/sql" - "errors" "fmt" "github.com/filebrowser/filebrowser/v2/share" @@ -30,10 +29,7 @@ func parseLink(row linkRecord) (*share.Link, error) { passwordhash := "" token := "" err := row.Scan(&path, &hash, &userid, &expire, &passwordhash, &token) - if err != nil { - s := "ERROR: Fail to parse record for share.Link" - err := errors.New(s) - fmt.Println(s) + if !checkError(err, "Fail to parse record for share.Link") { return nil, err } link := share.Link{} @@ -52,14 +48,13 @@ func queryLinks(db *sql.DB, condition string) ([]*share.Link, error) { sql = sql + " where " + condition } rows, err := db.Query(sql) - if err != nil { + if !checkError(err, "Fail to Query links") { return nil, err } var links []*share.Link = []*share.Link{} for rows.Next() { link, err := parseLink(rows) - if err != nil { - fmt.Println("ERROR: Fail to parse record for share.Link") + if !checkError(err, "Fail to parse record for share.Link") { continue } links = append(links, link) diff --git a/storage/sql/sql.go b/storage/sql/sql.go index 2d94db5e..071ce614 100644 --- a/storage/sql/sql.go +++ b/storage/sql/sql.go @@ -56,17 +56,14 @@ func NewStorage(db *sql.DB) (*storage.Storage, error) { authStore := auth.NewStorage(authBackend{db: db}, userStore) err := SetSetting(db, "version", "2") - if err != nil { - fmt.Println("ERROR: fail to set version") + if !checkError(err, "Fail to set version") { return nil, err } // TODO: default - fmt.Println(GetSetting(db, "auther")) if GetSetting(db, "auther") == "" { err := SetSetting(db, "auther", "json") - if err != nil { - fmt.Println("ERROR: fail to set auther") + if !checkError(err, "Fail to set auther") { return nil, err } } @@ -79,3 +76,12 @@ func NewStorage(db *sql.DB) (*storage.Storage, error) { } return storage, nil } + +func checkError(err error, message string) bool { + if err != nil { + fmt.Println("ERROR: " + err.Error()) + fmt.Println("ERROR: " + message) + return false + } + return true +} diff --git a/storage/sql/users.go b/storage/sql/users.go index 8dbdf024..856646e6 100644 --- a/storage/sql/users.go +++ b/storage/sql/users.go @@ -22,13 +22,14 @@ func PermFromString(s string) users.Permissions { return users.Permissions{} } var perm users.Permissions - json.Unmarshal([]byte(s), &perm) + err := json.Unmarshal([]byte(s), &perm) + checkError(err, "Fail to parse perm from string") return perm } func PermToString(perm users.Permissions) string { data, err := json.Marshal(perm) - if err != nil { + if !checkError(err, "Fail to stringify users.Permissions") { return "" } return string(data) @@ -40,15 +41,13 @@ func CommandsFromString(s string) []string { } var commands []string err := json.Unmarshal([]byte(s), &commands) - if err != nil { - return nil - } + checkError(err, "Fail to parse users Commands") return commands } func CommandsToString(commands []string) string { data, err := json.Marshal(commands) - if err != nil { + if !checkError(err, "Fail to stringify users commands") { return "" } return string(data) @@ -59,13 +58,14 @@ func SortingFromString(s string) files.Sorting { return files.Sorting{} } var sorting files.Sorting - json.Unmarshal([]byte(s), &sorting) + err := json.Unmarshal([]byte(s), &sorting) + checkError(err, "Fail to parse Sorting from string") return sorting } func SortingToString(sorting files.Sorting) string { data, err := json.Marshal(sorting) - if err != nil { + if !checkError(err, "Fail to stringify files.Sorting") { return "" } return string(data) @@ -76,13 +76,14 @@ func rulesFromString(s string) []rules.Rule { return []rules.Rule{} } var rules []rules.Rule - json.Unmarshal([]byte(s), &rules) + err := json.Unmarshal([]byte(s), &rules) + checkError(err, "Fail to parse Rules from string") return rules } func RulesToString(rules []rules.Rule) string { data, err := json.Marshal(rules) - if err != nil { + if !checkError(err, "Fail to stringify []rules.Rule") { return "" } return string(data) @@ -105,9 +106,12 @@ func (s usersBackend) Get(id interface{}) (*users.User, error) { commands := "" sorting := "" rules := "" - sql := "select username, password, scope, lockpassword, viewmode, perm,commands,sorting,rules from users where id=" + strconv.Itoa(int(userID)) - s.db.QueryRow(sql).Scan(&username, &password, &scope, &lockpassword, &viewmode, &perm, &commands, &sorting, &rules) user := users.User{} + sql := "select username, password, scope, lockpassword, viewmode, perm,commands,sorting,rules from users where id=" + strconv.Itoa(int(userID)) + err := s.db.QueryRow(sql).Scan(&username, &password, &scope, &lockpassword, &viewmode, &perm, &commands, &sorting, &rules) + if !checkError(err, "Fail to QueryRow for user") { + return &user, err + } user.ID = userID user.Username = username user.Password = password @@ -124,7 +128,7 @@ func (s usersBackend) Get(id interface{}) (*users.User, error) { func (s usersBackend) Gets() ([]*users.User, error) { sql := "select id, username, password, scope, lockpassword, viewmode, perm,commands,sorting,rules from users" rows, err := s.db.Query(sql) - if err != nil { + if !checkError(err, "Fail to Query []*users.User") { return nil, err } var users2 []*users.User = []*users.User{} @@ -140,8 +144,7 @@ func (s usersBackend) Gets() ([]*users.User, error) { sorting := "" rules := "" err := rows.Scan(&id, &username, &password, &scope, &lockpassword, &viewmode, &perm, &commands, &sorting, &rules) - if err != nil { - fmt.Println("Fail to parse record for user.User") + if !checkError(err, "Fail to parse record for user.User") { continue } user := users.User{} @@ -189,11 +192,11 @@ func (s usersBackend) updateUser(id uint, user *users.User) error { func (s usersBackend) insertUser(user *users.User) error { sql := fmt.Sprintf( - "insert into users (username, password, scope, lockpassword, viewmode, perm, commands, sorting) values ('%s','%s','%s',%d,'%s','%s','%s','%s','%s')", + "insert into users (username, password, scope, lockpassword, viewmode, perm, commands, sorting) values ('%s','%s','%s',%s,'%s','%s','%s','%s','%s')", user.Username, user.Password, user.Scope, - user.LockPassword, + boolToString(user.LockPassword), user.ViewMode, PermToString(user.Perm), CommandsToString(user.Commands), @@ -206,7 +209,7 @@ func (s usersBackend) insertUser(user *users.User) error { func (s usersBackend) Save(user *users.User) error { userOriginal, err := s.GetBy(user.ID) - if err != nil { + if !checkError(err, "Fail to Save *users.User") { return err } if userOriginal != nil {