1
0
Fork 0
mirror of https://github.com/miniflux/v2.git synced 2025-08-06 17:41:00 +00:00
miniflux-v2/api/payload.go

45 lines
967 B
Go
Raw Normal View History

2017-11-19 21:10:04 -08:00
// Copyright 2017 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.
2018-08-24 21:51:50 -07:00
package api // import "miniflux.app/api"
2017-11-19 21:10:04 -08:00
import (
"encoding/json"
"fmt"
"io"
2017-11-24 22:29:20 -08:00
2018-08-24 21:51:50 -07:00
"miniflux.app/model"
2017-11-19 21:10:04 -08:00
)
type feedIconResponse struct {
ID int64 `json:"id"`
MimeType string `json:"mime_type"`
Data string `json:"data"`
}
type entriesResponse struct {
2017-11-19 21:10:04 -08:00
Total int `json:"total"`
Entries model.Entries `json:"entries"`
}
type feedCreationResponse struct {
FeedID int64 `json:"feed_id"`
}
func decodeEntryStatusRequest(r io.ReadCloser) ([]int64, string, error) {
2017-11-19 21:10:04 -08:00
type payload struct {
2017-11-24 22:29:20 -08:00
EntryIDs []int64 `json:"entry_ids"`
Status string `json:"status"`
2017-11-19 21:10:04 -08:00
}
var p payload
decoder := json.NewDecoder(r)
defer r.Close()
2017-11-19 21:10:04 -08:00
if err := decoder.Decode(&p); err != nil {
2017-11-24 22:29:20 -08:00
return nil, "", fmt.Errorf("invalid JSON payload: %v", err)
2017-11-19 21:10:04 -08:00
}
2017-11-24 22:29:20 -08:00
return p.EntryIDs, p.Status, nil
2017-11-19 21:10:04 -08:00
}