2019-01-05 22:44:33 +00:00
|
|
|
package settings
|
|
|
|
|
2019-01-09 08:13:24 +00:00
|
|
|
import (
|
2019-01-11 20:25:39 +00:00
|
|
|
"crypto/rand"
|
2019-01-09 08:13:24 +00:00
|
|
|
|
2024-12-17 00:01:55 +00:00
|
|
|
"github.com/gtsteffaniak/filebrowser/backend/users"
|
2019-01-09 08:13:24 +00:00
|
|
|
)
|
2019-01-05 22:44:33 +00:00
|
|
|
|
2022-06-03 13:59:36 +00:00
|
|
|
const DefaultUsersHomeBasePath = "/users"
|
|
|
|
|
2019-01-05 22:44:33 +00:00
|
|
|
// AuthMethod describes an authentication method.
|
|
|
|
type AuthMethod string
|
|
|
|
|
2021-07-26 10:00:05 +00:00
|
|
|
// GenerateKey generates a key of 512 bits.
|
2019-01-11 20:25:39 +00:00
|
|
|
func GenerateKey() ([]byte, error) {
|
2021-07-26 10:00:05 +00:00
|
|
|
b := make([]byte, 64) //nolint:gomnd
|
2019-01-11 20:25:39 +00:00
|
|
|
_, err := rand.Read(b)
|
|
|
|
// Note that err == nil only if we read len(b) bytes.
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
return b, nil
|
|
|
|
}
|
2023-09-01 14:00:02 +00:00
|
|
|
|
2023-09-03 22:03:00 +00:00
|
|
|
func GetSettingsConfig(nameType string, Value string) string {
|
2023-09-01 14:00:02 +00:00
|
|
|
return nameType + Value
|
2023-09-03 22:03:00 +00:00
|
|
|
}
|
2024-10-07 22:44:53 +00:00
|
|
|
|
2024-11-21 00:15:30 +00:00
|
|
|
func AdminPerms() users.Permissions {
|
|
|
|
return users.Permissions{
|
2024-10-07 22:44:53 +00:00
|
|
|
Create: true,
|
|
|
|
Rename: true,
|
|
|
|
Modify: true,
|
|
|
|
Delete: true,
|
|
|
|
Share: true,
|
|
|
|
Download: true,
|
|
|
|
Admin: true,
|
2024-11-21 00:15:30 +00:00
|
|
|
Api: true,
|
2024-10-07 22:44:53 +00:00
|
|
|
}
|
|
|
|
}
|
2024-11-21 00:15:30 +00:00
|
|
|
|
|
|
|
// Apply applies the default options to a user.
|
|
|
|
func ApplyUserDefaults(u users.User) users.User {
|
|
|
|
u.StickySidebar = Config.UserDefaults.StickySidebar
|
|
|
|
u.DisableSettings = Config.UserDefaults.DisableSettings
|
|
|
|
u.DarkMode = Config.UserDefaults.DarkMode
|
|
|
|
u.Scope = Config.UserDefaults.Scope
|
|
|
|
u.Locale = Config.UserDefaults.Locale
|
|
|
|
u.ViewMode = Config.UserDefaults.ViewMode
|
|
|
|
u.SingleClick = Config.UserDefaults.SingleClick
|
|
|
|
u.Perm = Config.UserDefaults.Perm
|
|
|
|
u.Sorting = Config.UserDefaults.Sorting
|
|
|
|
u.Commands = Config.UserDefaults.Commands
|
2025-01-27 00:21:12 +00:00
|
|
|
u.ShowHidden = Config.UserDefaults.ShowHidden
|
2024-11-21 00:15:30 +00:00
|
|
|
u.DateFormat = Config.UserDefaults.DateFormat
|
|
|
|
return u
|
|
|
|
}
|