aboutsummaryrefslogtreecommitdiffhomepage
path: root/graphql/schema.graphql
diff options
context:
space:
mode:
Diffstat (limited to 'graphql/schema.graphql')
-rw-r--r--graphql/schema.graphql216
1 files changed, 0 insertions, 216 deletions
diff --git a/graphql/schema.graphql b/graphql/schema.graphql
deleted file mode 100644
index 3f9eddb..0000000
--- a/graphql/schema.graphql
+++ /dev/null
@@ -1,216 +0,0 @@
-scalar DateTime
-
-"""
-Represents a feed subscription in the system
-"""
-type Feed {
- """
- Unique identifier for the feed
- """
- id: ID!
-
- """
- URL of the RSS/Atom feed
- """
- url: String!
-
- """
- Title of the feed (extracted from feed metadata)
- """
- title: String!
-
- """
- Timestamp when the feed was last fetched
- """
- fetchedAt: DateTime!
-
- """
- Whether the user is currently subscribed to this feed
- """
- isSubscribed: Boolean!
-
- """
- Number of unread articles in this feed
- """
- unreadCount: Int!
-
- """
- Articles belonging to this feed
- """
- articles: [Article!]!
-}
-
-"""
-Represents an individual article/post from a feed
-"""
-type Article {
- """
- Unique identifier for the article
- """
- id: ID!
-
- """
- ID of the feed this article belongs to
- """
- feedId: ID!
-
- """
- GUID from the RSS/Atom feed (unique identifier from feed)
- """
- guid: String!
-
- """
- Title of the article
- """
- title: String!
-
- """
- URL/link to the original article
- """
- url: String!
-
- """
- Whether the article has been marked as read
- """
- isRead: Boolean!
-
- """
- The feed this article belongs to
- """
- feed: Feed!
-}
-
-"""
-Represents a user in the system
-"""
-type User {
- """
- Unique identifier for the user
- """
- id: ID!
-
- """
- Username of the user
- """
- username: String!
-}
-
-"""
-Pagination information for cursor-based pagination
-"""
-type PageInfo {
- """
- Whether there are more items after the last item in this page
- """
- hasNextPage: Boolean!
-
- """
- Cursor of the last item in this page
- """
- endCursor: ID
-}
-
-"""
-A paginated list of articles
-"""
-type ArticleConnection {
- """
- The list of articles
- """
- articles: [Article!]!
-
- """
- Pagination information
- """
- pageInfo: PageInfo!
-}
-
-"""
-Authentication payload returned from login mutation
-"""
-type AuthPayload {
- """
- The authenticated user
- """
- user: User!
-}
-
-"""
-Root query type for reading data
-"""
-type Query {
- """
- Get all feeds with their metadata
- """
- feeds: [Feed!]!
-
- """
- Get unread articles with optional feed filter and cursor-based pagination
- """
- unreadArticles(feedId: ID, after: ID, first: Int): ArticleConnection!
-
- """
- Get read articles with optional feed filter and cursor-based pagination
- """
- readArticles(feedId: ID, after: ID, first: Int): ArticleConnection!
-
- """
- Get a specific feed by ID
- """
- feed(id: ID!): Feed
-
- """
- Get a specific article by ID
- """
- article(id: ID!): Article
-
- """
- Get the currently authenticated user
- """
- currentUser: User
-}
-
-"""
-Root mutation type for modifying data
-"""
-type Mutation {
- """
- Add a new feed subscription
- """
- addFeed(url: String!): Feed!
-
- """
- Unsubscribe from a feed (preserves feed and article data)
- """
- unsubscribeFeed(id: ID!): Boolean!
-
- """
- Mark an article as read
- """
- markArticleRead(id: ID!): Article!
-
- """
- Mark an article as unread
- """
- markArticleUnread(id: ID!): Article!
-
- """
- Mark all articles in a feed as read
- """
- markFeedRead(id: ID!): Feed!
-
- """
- Mark all articles in a feed as unread
- """
- markFeedUnread(id: ID!): Feed!
-
- """
- Login with username and password. Creates a session cookie.
- """
- login(username: String!, password: String!): AuthPayload!
-
- """
- Logout the current user and destroy the session
- """
- logout: Boolean!
-}