miniflux-v2/internal/api/opml.go

37 lines
965 B
Go
Raw Normal View History

// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
2018-04-30 03:56:40 +02:00
package api // import "miniflux.app/v2/internal/api"
2018-04-30 03:56:40 +02:00
import (
"net/http"
"miniflux.app/v2/internal/http/request"
"miniflux.app/v2/internal/http/response/json"
"miniflux.app/v2/internal/http/response/xml"
"miniflux.app/v2/internal/reader/opml"
2018-04-30 03:56:40 +02:00
)
func (h *handler) exportFeeds(w http.ResponseWriter, r *http.Request) {
opmlHandler := opml.NewHandler(h.store)
opmlExport, err := opmlHandler.Export(request.UserID(r))
2018-04-30 03:56:40 +02:00
if err != nil {
2018-10-08 03:42:43 +02:00
json.ServerError(w, r, err)
2018-04-30 03:56:40 +02:00
return
}
xml.OK(w, r, opmlExport)
2018-04-30 03:56:40 +02:00
}
func (h *handler) importFeeds(w http.ResponseWriter, r *http.Request) {
opmlHandler := opml.NewHandler(h.store)
2018-09-03 23:26:40 +02:00
err := opmlHandler.Import(request.UserID(r), r.Body)
2018-04-30 03:56:40 +02:00
defer r.Body.Close()
if err != nil {
2018-10-08 03:42:43 +02:00
json.ServerError(w, r, err)
2018-04-30 03:56:40 +02:00
return
}
2018-10-08 03:42:43 +02:00
json.Created(w, r, map[string]string{"message": "Feeds imported successfully"})
2018-04-30 03:56:40 +02:00
}