Feeds (RSS)
Suscríbete a feeds RSS/Atom, obtén entradas y guarda artículos como notas. Admite importación/exportación OPML.
Definiciones de tipos
type Feed {
id: ID!
url: String! # RSS/Atom URL
name: String! # display name (defaults to feed title)
fetchContent: Boolean! # when true, the server fetches the full article body
updatedAt: String!
}
type FeedCount {
feedId: ID!
count: Int! # total entries
unreadCount: Int!
}
type FeedEntry {
id: ID!
feedId: ID!
title: String!
description: String! # short summary
content: String! # full article body (may be empty until fetched)
url: String! # canonical article URL
publishedAt: String! # ISO 8601
read: Boolean!
favorite: Boolean!
tags: [Tag!]!
}Operaciones
feeds
Lista todos los feeds suscritos.
query GetFeeds {
feeds { id url name fetchContent updatedAt }
}feedsCount
Contadores de entradas totales y no leídas por feed.
query GetFeedsCount {
feedsCount { feedId count unreadCount }
}feedEntries
Busca entradas de feed (título + descripción). Deja la consulta vacía para listar todas.
query GetFeedEntries($offset: Int!, $limit: Int!, $query: String!) {
feedEntries(offset: $offset, limit: $limit, query: $query) {
id feedId title description content url publishedAt read favorite
tags { id name }
}
}feedEntryCount
Cuenta las entradas de feed que coinciden con una consulta.
query GetFeedEntryCount($query: String!) {
feedEntryCount(query: $query)
}feedEntry
Obtiene una única entrada de feed por ID.
query GetFeedEntry($id: ID!) {
feedEntry(id: $id) { id feedId title description content url publishedAt read favorite }
}createFeed
Suscribe a un feed nuevo. El servidor obtiene el canal RSS para rellenar el nombre y luego lanza una sincronización única.
mutation CreateFeed($url: String!, $fetchContent: Boolean!) {
createFeed(url: $url, fetchContent: $fetchContent) { id url name fetchContent updatedAt }
}updateFeed
Actualiza el nombre para mostrar o el indicador fetchContent de un feed.
mutation UpdateFeed($id: ID!, $name: String!, $fetchContent: Boolean!) {
updateFeed(id: $id, name: $name, fetchContent: $fetchContent) { id url name fetchContent updatedAt }
}deleteFeed
Se desuscribe de un feed y elimina todas sus entradas (y sus relaciones de etiquetas).
mutation DeleteFeed($id: ID!) {
deleteFeed(id: $id)
}syncFeeds
Dispara un worker de sincronización de feeds única. Pasa un id para sincronizar un único feed; pasa null o vacío para sincronizar todos.
mutation SyncFeeds($id: ID) {
syncFeeds(id: $id)
}fetchFeedContent
Obtiene el cuerpo completo del artículo para una única entrada de feed. Devuelve la entrada actualizada.
mutation FetchFeedContent($id: ID!) {
fetchFeedContent(id: $id) { id content }
}syncFeedContent
Alias de fetchFeedContent. Mantenido por compatibilidad retroactiva.
mutation SyncFeedContent($id: ID!) {
syncFeedContent(id: $id) { id content }
}deleteFeedEntries
Elimina las entradas de feed que coinciden con una consulta (y sus relaciones de etiquetas).
mutation DeleteFeedEntries($query: String!) {
deleteFeedEntries(query: $query)
}importFeeds
Importa un documento OPML (como cadena) en la base de datos de feeds.
mutation ImportFeeds($content: String!) {
importFeeds(content: $content)
}exportFeeds
Exporta todos los feeds suscritos como cadena OPML.
mutation ExportFeeds {
exportFeeds
}