e877800779
Why: It is nice to have the ability to mark an entire category as read in the UI. The API already exposes that functionality anyway, so for consistency reasons, expose it in the UI as well What: Add a new handler in the UI to markCategoryAsRead() and amend views and router to expose the functionality in the UI
37 lines
853 B
Go
37 lines
853 B
Go
// Copyright 2018 Frédéric Guillot. All rights reserved.
|
|
// Use of this source code is governed by the Apache 2.0
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package ui // import "miniflux.app/ui"
|
|
|
|
import (
|
|
"net/http"
|
|
"time"
|
|
|
|
"miniflux.app/http/request"
|
|
"miniflux.app/http/response/html"
|
|
"miniflux.app/http/route"
|
|
)
|
|
|
|
func (h *handler) markCategoryAsRead(w http.ResponseWriter, r *http.Request) {
|
|
userID := request.UserID(r)
|
|
categoryID := request.RouteInt64Param(r, "categoryID")
|
|
|
|
category, err := h.store.Category(userID, categoryID)
|
|
if err != nil {
|
|
html.ServerError(w, r, err)
|
|
return
|
|
}
|
|
|
|
if category == nil {
|
|
html.NotFound(w, r)
|
|
return
|
|
}
|
|
|
|
if err = h.store.MarkCategoryAsRead(userID, categoryID, time.Now()); err != nil {
|
|
html.ServerError(w, r, err)
|
|
return
|
|
}
|
|
|
|
html.Redirect(w, r, route.Path(h.router, "categories"))
|
|
}
|