Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e56d215ff2 |
No files matched your search
@@ -2,6 +2,13 @@
|
||||
|
||||
All notable changes to this project will be documented in this file. For commit guidelines, please refer to [Standard Version](https://github.com/conventional-changelog/standard-version).
|
||||
|
||||
## v0.6.4-beta
|
||||
|
||||
**BugFixes**:
|
||||
- fix preview arow issue. https://github.com/gtsteffaniak/filebrowser/issues/457
|
||||
- fix password change issue.
|
||||
- apply user defaults to publi user on startup https://github.com/gtsteffaniak/filebrowser/issues/451
|
||||
|
||||
## v0.6.3-beta
|
||||
|
||||
**Notes**:
|
||||
|
||||
@@ -15,6 +15,13 @@ func validateUserInfo() {
|
||||
logger.Fatal(fmt.Sprintf("could not load users: %v", err))
|
||||
}
|
||||
for _, user := range usersList {
|
||||
if user.Username == "publicUser" {
|
||||
settings.ApplyUserDefaults(user)
|
||||
err := store.Users.Save(user, false)
|
||||
if err != nil {
|
||||
logger.Error(fmt.Sprintf("could not update user: %v", err))
|
||||
}
|
||||
}
|
||||
updateUserScopes(user)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,6 @@ import (
|
||||
// todo fix this!!
|
||||
// MakeUserDir makes the user directory according to settings.
|
||||
func MakeUserDir(fullPath string) error {
|
||||
logger.Debug(fmt.Sprintf("creating user home dir: [%s]", fullPath))
|
||||
if err := os.MkdirAll(fullPath, os.ModePerm); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"fmt"
|
||||
"reflect"
|
||||
"slices"
|
||||
"strings"
|
||||
|
||||
storm "github.com/asdine/storm/v3"
|
||||
|
||||
@@ -72,6 +73,10 @@ func (st usersBackend) Update(user *users.User, actorIsAdmin bool, fields ...str
|
||||
return err
|
||||
}
|
||||
|
||||
if !slices.Contains(fields, "Password") {
|
||||
user.Password = existingUser.Password
|
||||
}
|
||||
|
||||
if !actorIsAdmin {
|
||||
err := checkRestrictedFields(existingUser, fields)
|
||||
if err != nil {
|
||||
@@ -109,7 +114,7 @@ func (st usersBackend) Update(user *users.User, actorIsAdmin bool, fields ...str
|
||||
// Get the value to be stored
|
||||
val := fieldValue.Interface()
|
||||
// Update the database
|
||||
if err := st.db.UpdateField(user, field, val); err != nil {
|
||||
if err := st.db.UpdateField(existingUser, field, val); err != nil {
|
||||
return fmt.Errorf("failed to update user field: %s, error: %v", field, err)
|
||||
}
|
||||
}
|
||||
@@ -193,34 +198,35 @@ func parseFields(user *users.User, fields []string) ([]string, error) {
|
||||
// Dynamically populate fields to update
|
||||
for i := 0; i < t.NumField(); i++ {
|
||||
field := t.Field(i)
|
||||
if (field.Name == "password" && user.Password != "") || field.Name != "password" {
|
||||
// which=all can't update password
|
||||
if strings.ToLower(field.Name) != "password" && strings.ToLower(field.Name) != "id" && strings.ToLower(field.Name) != "username" {
|
||||
fields = append(fields, field.Name)
|
||||
}
|
||||
}
|
||||
}
|
||||
newfields := []string{}
|
||||
for _, field := range fields {
|
||||
newfields = append(newfields, utils.CapitalizeFirst(field))
|
||||
}
|
||||
if slices.Contains(newfields, "Password") && user.Password != "" {
|
||||
if settings.Config.Auth.Methods.PasswordAuth.Enabled {
|
||||
pass, err := users.HashPwd(user.Password)
|
||||
if err != nil {
|
||||
return newfields, err
|
||||
capitalField := utils.CapitalizeFirst(field)
|
||||
if capitalField == "Scopes" {
|
||||
newScopes, err := settings.ConvertToBackendScopes(user.Scopes)
|
||||
if err == nil {
|
||||
user.Scopes = newScopes
|
||||
}
|
||||
err = files.MakeUserDirs(user)
|
||||
if err != nil {
|
||||
logger.Error(err.Error())
|
||||
}
|
||||
user.Password = pass
|
||||
}
|
||||
}
|
||||
if slices.Contains(newfields, "Scopes") {
|
||||
newScopes, err := settings.ConvertToBackendScopes(user.Scopes)
|
||||
if err == nil {
|
||||
user.Scopes = newScopes
|
||||
}
|
||||
err = files.MakeUserDirs(user)
|
||||
if err != nil {
|
||||
logger.Error(err.Error())
|
||||
}
|
||||
if capitalField == "Password" {
|
||||
value, err := users.HashPwd(user.Password)
|
||||
if err != nil {
|
||||
logger.Error(err.Error())
|
||||
}
|
||||
user.Password = value
|
||||
}
|
||||
newfields = append(newfields, capitalField)
|
||||
}
|
||||
|
||||
return newfields, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -129,9 +129,7 @@ import { notify } from "@/notify";
|
||||
import { state, getters, mutations } from "@/store";
|
||||
import { shareApi, publicApi } from "@/api";
|
||||
import { fromNow } from "@/utils/moment";
|
||||
import { extractSourceFromPath } from "@/utils/url";
|
||||
import Clipboard from "clipboard";
|
||||
import { baseURL } from "@/utils/constants";
|
||||
|
||||
export default {
|
||||
name: "share",
|
||||
|
||||
@@ -87,6 +87,7 @@ import ExtendedImage from "@/components/files/ExtendedImage.vue";
|
||||
import { state, getters, mutations } from "@/store";
|
||||
import { getFileExtension } from "@/utils/files";
|
||||
import { convertToVTT } from "@/utils/subtitles";
|
||||
import { getTypeInfo } from "@/utils/mimetype";
|
||||
|
||||
export default {
|
||||
name: "preview",
|
||||
|
||||
Reference in new issue
Block a user