From 2889b562e64993482bd13fd806af8ed0865bab8b Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 14 Feb 2026 11:52:56 +0900 Subject: refactor: migrate API from GraphQL to REST (TypeSpec/OpenAPI) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace the entire GraphQL stack (gqlgen, urql, graphql-codegen) with a TypeSpec → OpenAPI 3.x pipeline using oapi-codegen for Go server stubs and openapi-fetch + openapi-typescript for the frontend client. Co-Authored-By: Claude Opus 4.6 --- backend/graphql/model/generated.go | 77 -------------------------------------- 1 file changed, 77 deletions(-) delete mode 100644 backend/graphql/model/generated.go (limited to 'backend/graphql/model') diff --git a/backend/graphql/model/generated.go b/backend/graphql/model/generated.go deleted file mode 100644 index a305535..0000000 --- a/backend/graphql/model/generated.go +++ /dev/null @@ -1,77 +0,0 @@ -// Code generated by github.com/99designs/gqlgen, DO NOT EDIT. - -package model - -// Represents an individual article/post from a feed -type Article struct { - // Unique identifier for the article - ID string `json:"id"` - // ID of the feed this article belongs to - FeedID string `json:"feedId"` - // GUID from the RSS/Atom feed (unique identifier from feed) - GUID string `json:"guid"` - // Title of the article - Title string `json:"title"` - // URL/link to the original article - URL string `json:"url"` - // Whether the article has been marked as read - IsRead bool `json:"isRead"` - // The feed this article belongs to - Feed *Feed `json:"feed"` -} - -// A paginated list of articles -type ArticleConnection struct { - // The list of articles - Articles []*Article `json:"articles"` - // Pagination information - PageInfo *PageInfo `json:"pageInfo"` -} - -// Authentication payload returned from login mutation -type AuthPayload struct { - // The authenticated user - User *User `json:"user"` -} - -// Represents a feed subscription in the system -type Feed struct { - // Unique identifier for the feed - ID string `json:"id"` - // URL of the RSS/Atom feed - URL string `json:"url"` - // Title of the feed (extracted from feed metadata) - Title string `json:"title"` - // Timestamp when the feed was last fetched - FetchedAt string `json:"fetchedAt"` - // Whether the user is currently subscribed to this feed - IsSubscribed bool `json:"isSubscribed"` - // Number of unread articles in this feed - UnreadCount int32 `json:"unreadCount"` - // Articles belonging to this feed - Articles []*Article `json:"articles"` -} - -// Root mutation type for modifying data -type Mutation struct { -} - -// Pagination information for cursor-based pagination -type PageInfo struct { - // Whether there are more items after the last item in this page - HasNextPage bool `json:"hasNextPage"` - // Cursor of the last item in this page - EndCursor *string `json:"endCursor,omitempty"` -} - -// Root query type for reading data -type Query struct { -} - -// Represents a user in the system -type User struct { - // Unique identifier for the user - ID string `json:"id"` - // Username of the user - Username string `json:"username"` -} -- cgit v1.3-1-g0d28