API 참조

Feeds (RSS)

RSS/Atom 피드 구독, 항목 가져오기, 기사를 메모로 저장. OPML 가져오기/내보내기를 지원합니다.

타입 정의

bash
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!]!
}

작업

query

feeds

구독 중인 모든 피드를 나열합니다.

bash
query GetFeeds {
  feeds { id url name fetchContent updatedAt }
}
query

feedsCount

피드당 총 항목 수와 읽지 않은 항목 수.

bash
query GetFeedsCount {
  feedsCount { feedId count unreadCount }
}
query

feedEntries

피드 항목을 검색합니다 (제목 + 설명). 쿼리를 비워 두면 모두 나열됩니다.

bash
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 }
  }
}
query

feedEntryCount

쿼리와 일치하는 피드 항목 수를 셉니다.

bash
query GetFeedEntryCount($query: String!) {
  feedEntryCount(query: $query)
}
query

feedEntry

ID로 단일 피드 항목을 가져옵니다.

bash
query GetFeedEntry($id: ID!) {
  feedEntry(id: $id) { id feedId title description content url publishedAt read favorite }
}
mutation

createFeed

새 피드를 구독합니다. 서버는 RSS 채널을 가져와 이름을 채운 다음 일회성 동기화를 시작합니다.

bash
mutation CreateFeed($url: String!, $fetchContent: Boolean!) {
  createFeed(url: $url, fetchContent: $fetchContent) { id url name fetchContent updatedAt }
}
mutation

updateFeed

피드의 표시 이름 또는 fetchContent 플래그를 업데이트합니다.

bash
mutation UpdateFeed($id: ID!, $name: String!, $fetchContent: Boolean!) {
  updateFeed(id: $id, name: $name, fetchContent: $fetchContent) { id url name fetchContent updatedAt }
}
mutation

deleteFeed

피드 구독을 취소하고 모든 항목 (및 해당 태그 관계)을 삭제합니다.

bash
mutation DeleteFeed($id: ID!) {
  deleteFeed(id: $id)
}
mutation

syncFeeds

일회성 피드 동기화 워커를 트리거합니다. id를 전달하면 단일 피드를 동기화하고, null 또는 빈 값을 전달하면 모두 동기화합니다.

bash
mutation SyncFeeds($id: ID) {
  syncFeeds(id: $id)
}
mutation

fetchFeedContent

단일 피드 항목의 전체 기사 본문을 가져옵니다. 업데이트된 항목을 반환합니다.

bash
mutation FetchFeedContent($id: ID!) {
  fetchFeedContent(id: $id) { id content }
}
mutation

syncFeedContent

fetchFeedContent의 별칭입니다. 하위 호환성을 위해 유지됩니다.

bash
mutation SyncFeedContent($id: ID!) {
  syncFeedContent(id: $id) { id content }
}
mutation

deleteFeedEntries

쿼리와 일치하는 피드 항목 (및 해당 태그 관계)을 삭제합니다.

bash
mutation DeleteFeedEntries($query: String!) {
  deleteFeedEntries(query: $query)
}
mutation

importFeeds

OPML 문서 (문자열)를 피드 데이터베이스로 가져옵니다.

bash
mutation ImportFeeds($content: String!) {
  importFeeds(content: $content)
}
mutation

exportFeeds

구독 중인 모든 피드를 OPML 문자열로 내보냅니다.

bash
mutation ExportFeeds {
  exportFeeds
}