1
0
Fork 0
mirror of https://github.com/miniflux/v2.git synced 2025-08-01 17:38:37 +00:00

feat(settings): add validation for entry order and categories sorting order

This commit is contained in:
Frédéric Guillot 2025-05-11 17:27:09 -07:00
parent f15d29deb3
commit 5ae2cbd943
22 changed files with 77 additions and 16 deletions

View file

@ -76,22 +76,24 @@ func (h *handler) updateSettings(w http.ResponseWriter, r *http.Request) {
}
userModificationRequest := &model.UserModificationRequest{
Username: model.OptionalString(settingsForm.Username),
Password: model.OptionalString(settingsForm.Password),
Theme: model.OptionalString(settingsForm.Theme),
Language: model.OptionalString(settingsForm.Language),
Timezone: model.OptionalString(settingsForm.Timezone),
EntryDirection: model.OptionalString(settingsForm.EntryDirection),
EntriesPerPage: model.OptionalNumber(settingsForm.EntriesPerPage),
DisplayMode: model.OptionalString(settingsForm.DisplayMode),
GestureNav: model.OptionalString(settingsForm.GestureNav),
DefaultReadingSpeed: model.OptionalNumber(settingsForm.DefaultReadingSpeed),
CJKReadingSpeed: model.OptionalNumber(settingsForm.CJKReadingSpeed),
DefaultHomePage: model.OptionalString(settingsForm.DefaultHomePage),
MediaPlaybackRate: model.OptionalNumber(settingsForm.MediaPlaybackRate),
BlockFilterEntryRules: model.OptionalString(settingsForm.BlockFilterEntryRules),
KeepFilterEntryRules: model.OptionalString(settingsForm.KeepFilterEntryRules),
ExternalFontHosts: model.OptionalString(settingsForm.ExternalFontHosts),
Username: model.OptionalString(settingsForm.Username),
Password: model.OptionalString(settingsForm.Password),
Theme: model.OptionalString(settingsForm.Theme),
Language: model.OptionalString(settingsForm.Language),
Timezone: model.OptionalString(settingsForm.Timezone),
EntryDirection: model.OptionalString(settingsForm.EntryDirection),
EntryOrder: model.OptionalString(settingsForm.EntryOrder),
EntriesPerPage: model.OptionalNumber(settingsForm.EntriesPerPage),
CategoriesSortingOrder: model.OptionalString(settingsForm.CategoriesSortingOrder),
DisplayMode: model.OptionalString(settingsForm.DisplayMode),
GestureNav: model.OptionalString(settingsForm.GestureNav),
DefaultReadingSpeed: model.OptionalNumber(settingsForm.DefaultReadingSpeed),
CJKReadingSpeed: model.OptionalNumber(settingsForm.CJKReadingSpeed),
DefaultHomePage: model.OptionalString(settingsForm.DefaultHomePage),
MediaPlaybackRate: model.OptionalNumber(settingsForm.MediaPlaybackRate),
BlockFilterEntryRules: model.OptionalString(settingsForm.BlockFilterEntryRules),
KeepFilterEntryRules: model.OptionalString(settingsForm.KeepFilterEntryRules),
ExternalFontHosts: model.OptionalString(settingsForm.ExternalFontHosts),
}
if validationErr := validator.ValidateUserModification(h.store, loggedUser.ID, userModificationRequest); validationErr != nil {