diff options
Diffstat (limited to 'backend/api/generated.go')
| -rw-r--r-- | backend/api/generated.go | 1162 |
1 files changed, 1162 insertions, 0 deletions
diff --git a/backend/api/generated.go b/backend/api/generated.go new file mode 100644 index 0000000..4288f40 --- /dev/null +++ b/backend/api/generated.go @@ -0,0 +1,1162 @@ +// Package api provides primitives to interact with the openapi HTTP API. +// +// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.5.1 DO NOT EDIT. +package api + +import ( + "context" + "encoding/json" + "fmt" + "net/http" + + "github.com/labstack/echo/v4" + "github.com/oapi-codegen/runtime" + strictecho "github.com/oapi-codegen/runtime/strictmiddleware/echo" +) + +// AddFeedRequest defines model for AddFeedRequest. +type AddFeedRequest struct { + Url string `json:"url"` +} + +// Article defines model for Article. +type Article struct { + Feed ArticleFeed `json:"feed"` + FeedId string `json:"feedId"` + Guid string `json:"guid"` + Id string `json:"id"` + IsRead bool `json:"isRead"` + Title string `json:"title"` + Url string `json:"url"` +} + +// ArticleConnection defines model for ArticleConnection. +type ArticleConnection struct { + Articles []Article `json:"articles"` + PageInfo PageInfo `json:"pageInfo"` +} + +// ArticleFeed defines model for ArticleFeed. +type ArticleFeed struct { + Id string `json:"id"` + IsSubscribed bool `json:"isSubscribed"` + Title string `json:"title"` + Url string `json:"url"` +} + +// ErrorResponse defines model for ErrorResponse. +type ErrorResponse struct { + Message string `json:"message"` +} + +// Feed defines model for Feed. +type Feed struct { + FetchedAt string `json:"fetchedAt"` + Id string `json:"id"` + IsSubscribed bool `json:"isSubscribed"` + Title string `json:"title"` + UnreadCount int32 `json:"unreadCount"` + Url string `json:"url"` +} + +// LoginRequest defines model for LoginRequest. +type LoginRequest struct { + Password string `json:"password"` + Username string `json:"username"` +} + +// LoginResponse defines model for LoginResponse. +type LoginResponse struct { + User User `json:"user"` +} + +// PageInfo defines model for PageInfo. +type PageInfo struct { + EndCursor *string `json:"endCursor,omitempty"` + HasNextPage bool `json:"hasNextPage"` +} + +// User defines model for User. +type User struct { + Id string `json:"id"` + Username string `json:"username"` +} + +// ArticlesListReadArticlesParams defines parameters for ArticlesListReadArticles. +type ArticlesListReadArticlesParams struct { + FeedId *string `form:"feedId,omitempty" json:"feedId,omitempty"` + After *string `form:"after,omitempty" json:"after,omitempty"` + First *int32 `form:"first,omitempty" json:"first,omitempty"` +} + +// ArticlesListUnreadArticlesParams defines parameters for ArticlesListUnreadArticles. +type ArticlesListUnreadArticlesParams struct { + FeedId *string `form:"feedId,omitempty" json:"feedId,omitempty"` + After *string `form:"after,omitempty" json:"after,omitempty"` + First *int32 `form:"first,omitempty" json:"first,omitempty"` +} + +// AuthLoginJSONRequestBody defines body for AuthLogin for application/json ContentType. +type AuthLoginJSONRequestBody = LoginRequest + +// FeedsAddFeedJSONRequestBody defines body for FeedsAddFeed for application/json ContentType. +type FeedsAddFeedJSONRequestBody = AddFeedRequest + +// ServerInterface represents all server handlers. +type ServerInterface interface { + + // (GET /api/articles/read) + ArticlesListReadArticles(ctx echo.Context, params ArticlesListReadArticlesParams) error + + // (GET /api/articles/unread) + ArticlesListUnreadArticles(ctx echo.Context, params ArticlesListUnreadArticlesParams) error + + // (GET /api/articles/{articleId}) + ArticlesGetArticle(ctx echo.Context, articleId string) error + + // (POST /api/articles/{articleId}/read) + ArticlesMarkArticleRead(ctx echo.Context, articleId string) error + + // (POST /api/articles/{articleId}/unread) + ArticlesMarkArticleUnread(ctx echo.Context, articleId string) error + + // (POST /api/auth/login) + AuthLogin(ctx echo.Context) error + + // (POST /api/auth/logout) + AuthLogout(ctx echo.Context) error + + // (GET /api/auth/me) + AuthGetCurrentUser(ctx echo.Context) error + + // (GET /api/feeds) + FeedsListFeeds(ctx echo.Context) error + + // (POST /api/feeds) + FeedsAddFeed(ctx echo.Context) error + + // (DELETE /api/feeds/{feedId}) + FeedsUnsubscribeFeed(ctx echo.Context, feedId string) error + + // (GET /api/feeds/{feedId}) + FeedsGetFeed(ctx echo.Context, feedId string) error + + // (POST /api/feeds/{feedId}/read) + FeedsMarkFeedRead(ctx echo.Context, feedId string) error + + // (POST /api/feeds/{feedId}/unread) + FeedsMarkFeedUnread(ctx echo.Context, feedId string) error +} + +// ServerInterfaceWrapper converts echo contexts to parameters. +type ServerInterfaceWrapper struct { + Handler ServerInterface +} + +// ArticlesListReadArticles converts echo context to params. +func (w *ServerInterfaceWrapper) ArticlesListReadArticles(ctx echo.Context) error { + var err error + + // Parameter object where we will unmarshal all parameters from the context + var params ArticlesListReadArticlesParams + // ------------- Optional query parameter "feedId" ------------- + + err = runtime.BindQueryParameter("form", false, false, "feedId", ctx.QueryParams(), ¶ms.FeedId) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter feedId: %s", err)) + } + + // ------------- Optional query parameter "after" ------------- + + err = runtime.BindQueryParameter("form", false, false, "after", ctx.QueryParams(), ¶ms.After) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter after: %s", err)) + } + + // ------------- Optional query parameter "first" ------------- + + err = runtime.BindQueryParameter("form", false, false, "first", ctx.QueryParams(), ¶ms.First) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter first: %s", err)) + } + + // Invoke the callback with all the unmarshaled arguments + err = w.Handler.ArticlesListReadArticles(ctx, params) + return err +} + +// ArticlesListUnreadArticles converts echo context to params. +func (w *ServerInterfaceWrapper) ArticlesListUnreadArticles(ctx echo.Context) error { + var err error + + // Parameter object where we will unmarshal all parameters from the context + var params ArticlesListUnreadArticlesParams + // ------------- Optional query parameter "feedId" ------------- + + err = runtime.BindQueryParameter("form", false, false, "feedId", ctx.QueryParams(), ¶ms.FeedId) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter feedId: %s", err)) + } + + // ------------- Optional query parameter "after" ------------- + + err = runtime.BindQueryParameter("form", false, false, "after", ctx.QueryParams(), ¶ms.After) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter after: %s", err)) + } + + // ------------- Optional query parameter "first" ------------- + + err = runtime.BindQueryParameter("form", false, false, "first", ctx.QueryParams(), ¶ms.First) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter first: %s", err)) + } + + // Invoke the callback with all the unmarshaled arguments + err = w.Handler.ArticlesListUnreadArticles(ctx, params) + return err +} + +// ArticlesGetArticle converts echo context to params. +func (w *ServerInterfaceWrapper) ArticlesGetArticle(ctx echo.Context) error { + var err error + // ------------- Path parameter "articleId" ------------- + var articleId string + + err = runtime.BindStyledParameterWithOptions("simple", "articleId", ctx.Param("articleId"), &articleId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter articleId: %s", err)) + } + + // Invoke the callback with all the unmarshaled arguments + err = w.Handler.ArticlesGetArticle(ctx, articleId) + return err +} + +// ArticlesMarkArticleRead converts echo context to params. +func (w *ServerInterfaceWrapper) ArticlesMarkArticleRead(ctx echo.Context) error { + var err error + // ------------- Path parameter "articleId" ------------- + var articleId string + + err = runtime.BindStyledParameterWithOptions("simple", "articleId", ctx.Param("articleId"), &articleId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter articleId: %s", err)) + } + + // Invoke the callback with all the unmarshaled arguments + err = w.Handler.ArticlesMarkArticleRead(ctx, articleId) + return err +} + +// ArticlesMarkArticleUnread converts echo context to params. +func (w *ServerInterfaceWrapper) ArticlesMarkArticleUnread(ctx echo.Context) error { + var err error + // ------------- Path parameter "articleId" ------------- + var articleId string + + err = runtime.BindStyledParameterWithOptions("simple", "articleId", ctx.Param("articleId"), &articleId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter articleId: %s", err)) + } + + // Invoke the callback with all the unmarshaled arguments + err = w.Handler.ArticlesMarkArticleUnread(ctx, articleId) + return err +} + +// AuthLogin converts echo context to params. +func (w *ServerInterfaceWrapper) AuthLogin(ctx echo.Context) error { + var err error + + // Invoke the callback with all the unmarshaled arguments + err = w.Handler.AuthLogin(ctx) + return err +} + +// AuthLogout converts echo context to params. +func (w *ServerInterfaceWrapper) AuthLogout(ctx echo.Context) error { + var err error + + // Invoke the callback with all the unmarshaled arguments + err = w.Handler.AuthLogout(ctx) + return err +} + +// AuthGetCurrentUser converts echo context to params. +func (w *ServerInterfaceWrapper) AuthGetCurrentUser(ctx echo.Context) error { + var err error + + // Invoke the callback with all the unmarshaled arguments + err = w.Handler.AuthGetCurrentUser(ctx) + return err +} + +// FeedsListFeeds converts echo context to params. +func (w *ServerInterfaceWrapper) FeedsListFeeds(ctx echo.Context) error { + var err error + + // Invoke the callback with all the unmarshaled arguments + err = w.Handler.FeedsListFeeds(ctx) + return err +} + +// FeedsAddFeed converts echo context to params. +func (w *ServerInterfaceWrapper) FeedsAddFeed(ctx echo.Context) error { + var err error + + // Invoke the callback with all the unmarshaled arguments + err = w.Handler.FeedsAddFeed(ctx) + return err +} + +// FeedsUnsubscribeFeed converts echo context to params. +func (w *ServerInterfaceWrapper) FeedsUnsubscribeFeed(ctx echo.Context) error { + var err error + // ------------- Path parameter "feedId" ------------- + var feedId string + + err = runtime.BindStyledParameterWithOptions("simple", "feedId", ctx.Param("feedId"), &feedId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter feedId: %s", err)) + } + + // Invoke the callback with all the unmarshaled arguments + err = w.Handler.FeedsUnsubscribeFeed(ctx, feedId) + return err +} + +// FeedsGetFeed converts echo context to params. +func (w *ServerInterfaceWrapper) FeedsGetFeed(ctx echo.Context) error { + var err error + // ------------- Path parameter "feedId" ------------- + var feedId string + + err = runtime.BindStyledParameterWithOptions("simple", "feedId", ctx.Param("feedId"), &feedId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter feedId: %s", err)) + } + + // Invoke the callback with all the unmarshaled arguments + err = w.Handler.FeedsGetFeed(ctx, feedId) + return err +} + +// FeedsMarkFeedRead converts echo context to params. +func (w *ServerInterfaceWrapper) FeedsMarkFeedRead(ctx echo.Context) error { + var err error + // ------------- Path parameter "feedId" ------------- + var feedId string + + err = runtime.BindStyledParameterWithOptions("simple", "feedId", ctx.Param("feedId"), &feedId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter feedId: %s", err)) + } + + // Invoke the callback with all the unmarshaled arguments + err = w.Handler.FeedsMarkFeedRead(ctx, feedId) + return err +} + +// FeedsMarkFeedUnread converts echo context to params. +func (w *ServerInterfaceWrapper) FeedsMarkFeedUnread(ctx echo.Context) error { + var err error + // ------------- Path parameter "feedId" ------------- + var feedId string + + err = runtime.BindStyledParameterWithOptions("simple", "feedId", ctx.Param("feedId"), &feedId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter feedId: %s", err)) + } + + // Invoke the callback with all the unmarshaled arguments + err = w.Handler.FeedsMarkFeedUnread(ctx, feedId) + return err +} + +// This is a simple interface which specifies echo.Route addition functions which +// are present on both echo.Echo and echo.Group, since we want to allow using +// either of them for path registration +type EchoRouter interface { + CONNECT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route + DELETE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route + GET(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route + HEAD(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route + OPTIONS(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route + PATCH(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route + POST(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route + PUT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route + TRACE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route +} + +// RegisterHandlers adds each server route to the EchoRouter. +func RegisterHandlers(router EchoRouter, si ServerInterface) { + RegisterHandlersWithBaseURL(router, si, "") +} + +// Registers handlers, and prepends BaseURL to the paths, so that the paths +// can be served under a prefix. +func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL string) { + + wrapper := ServerInterfaceWrapper{ + Handler: si, + } + + router.GET(baseURL+"/api/articles/read", wrapper.ArticlesListReadArticles) + router.GET(baseURL+"/api/articles/unread", wrapper.ArticlesListUnreadArticles) + router.GET(baseURL+"/api/articles/:articleId", wrapper.ArticlesGetArticle) + router.POST(baseURL+"/api/articles/:articleId/read", wrapper.ArticlesMarkArticleRead) + router.POST(baseURL+"/api/articles/:articleId/unread", wrapper.ArticlesMarkArticleUnread) + router.POST(baseURL+"/api/auth/login", wrapper.AuthLogin) + router.POST(baseURL+"/api/auth/logout", wrapper.AuthLogout) + router.GET(baseURL+"/api/auth/me", wrapper.AuthGetCurrentUser) + router.GET(baseURL+"/api/feeds", wrapper.FeedsListFeeds) + router.POST(baseURL+"/api/feeds", wrapper.FeedsAddFeed) + router.DELETE(baseURL+"/api/feeds/:feedId", wrapper.FeedsUnsubscribeFeed) + router.GET(baseURL+"/api/feeds/:feedId", wrapper.FeedsGetFeed) + router.POST(baseURL+"/api/feeds/:feedId/read", wrapper.FeedsMarkFeedRead) + router.POST(baseURL+"/api/feeds/:feedId/unread", wrapper.FeedsMarkFeedUnread) + +} + +type ArticlesListReadArticlesRequestObject struct { + Params ArticlesListReadArticlesParams +} + +type ArticlesListReadArticlesResponseObject interface { + VisitArticlesListReadArticlesResponse(w http.ResponseWriter) error +} + +type ArticlesListReadArticles200JSONResponse ArticleConnection + +func (response ArticlesListReadArticles200JSONResponse) VisitArticlesListReadArticlesResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + + return json.NewEncoder(w).Encode(response) +} + +type ArticlesListUnreadArticlesRequestObject struct { + Params ArticlesListUnreadArticlesParams +} + +type ArticlesListUnreadArticlesResponseObject interface { + VisitArticlesListUnreadArticlesResponse(w http.ResponseWriter) error +} + +type ArticlesListUnreadArticles200JSONResponse ArticleConnection + +func (response ArticlesListUnreadArticles200JSONResponse) VisitArticlesListUnreadArticlesResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + + return json.NewEncoder(w).Encode(response) +} + +type ArticlesGetArticleRequestObject struct { + ArticleId string `json:"articleId"` +} + +type ArticlesGetArticleResponseObject interface { + VisitArticlesGetArticleResponse(w http.ResponseWriter) error +} + +type ArticlesGetArticle200JSONResponse Article + +func (response ArticlesGetArticle200JSONResponse) VisitArticlesGetArticleResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + + return json.NewEncoder(w).Encode(response) +} + +type ArticlesGetArticle404JSONResponse ErrorResponse + +func (response ArticlesGetArticle404JSONResponse) VisitArticlesGetArticleResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + + return json.NewEncoder(w).Encode(response) +} + +type ArticlesMarkArticleReadRequestObject struct { + ArticleId string `json:"articleId"` +} + +type ArticlesMarkArticleReadResponseObject interface { + VisitArticlesMarkArticleReadResponse(w http.ResponseWriter) error +} + +type ArticlesMarkArticleRead200JSONResponse Article + +func (response ArticlesMarkArticleRead200JSONResponse) VisitArticlesMarkArticleReadResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + + return json.NewEncoder(w).Encode(response) +} + +type ArticlesMarkArticleRead404JSONResponse ErrorResponse + +func (response ArticlesMarkArticleRead404JSONResponse) VisitArticlesMarkArticleReadResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + + return json.NewEncoder(w).Encode(response) +} + +type ArticlesMarkArticleUnreadRequestObject struct { + ArticleId string `json:"articleId"` +} + +type ArticlesMarkArticleUnreadResponseObject interface { + VisitArticlesMarkArticleUnreadResponse(w http.ResponseWriter) error +} + +type ArticlesMarkArticleUnread200JSONResponse Article + +func (response ArticlesMarkArticleUnread200JSONResponse) VisitArticlesMarkArticleUnreadResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + + return json.NewEncoder(w).Encode(response) +} + +type ArticlesMarkArticleUnread404JSONResponse ErrorResponse + +func (response ArticlesMarkArticleUnread404JSONResponse) VisitArticlesMarkArticleUnreadResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + + return json.NewEncoder(w).Encode(response) +} + +type AuthLoginRequestObject struct { + Body *AuthLoginJSONRequestBody +} + +type AuthLoginResponseObject interface { + VisitAuthLoginResponse(w http.ResponseWriter) error +} + +type AuthLogin200JSONResponse LoginResponse + +func (response AuthLogin200JSONResponse) VisitAuthLoginResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + + return json.NewEncoder(w).Encode(response) +} + +type AuthLogin401JSONResponse ErrorResponse + +func (response AuthLogin401JSONResponse) VisitAuthLoginResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(401) + + return json.NewEncoder(w).Encode(response) +} + +type AuthLogoutRequestObject struct { +} + +type AuthLogoutResponseObject interface { + VisitAuthLogoutResponse(w http.ResponseWriter) error +} + +type AuthLogout204Response struct { +} + +func (response AuthLogout204Response) VisitAuthLogoutResponse(w http.ResponseWriter) error { + w.WriteHeader(204) + return nil +} + +type AuthLogout401JSONResponse ErrorResponse + +func (response AuthLogout401JSONResponse) VisitAuthLogoutResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(401) + + return json.NewEncoder(w).Encode(response) +} + +type AuthGetCurrentUserRequestObject struct { +} + +type AuthGetCurrentUserResponseObject interface { + VisitAuthGetCurrentUserResponse(w http.ResponseWriter) error +} + +type AuthGetCurrentUser200JSONResponse User + +func (response AuthGetCurrentUser200JSONResponse) VisitAuthGetCurrentUserResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + + return json.NewEncoder(w).Encode(response) +} + +type AuthGetCurrentUser401JSONResponse ErrorResponse + +func (response AuthGetCurrentUser401JSONResponse) VisitAuthGetCurrentUserResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(401) + + return json.NewEncoder(w).Encode(response) +} + +type FeedsListFeedsRequestObject struct { +} + +type FeedsListFeedsResponseObject interface { + VisitFeedsListFeedsResponse(w http.ResponseWriter) error +} + +type FeedsListFeeds200JSONResponse []Feed + +func (response FeedsListFeeds200JSONResponse) VisitFeedsListFeedsResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + + return json.NewEncoder(w).Encode(response) +} + +type FeedsAddFeedRequestObject struct { + Body *FeedsAddFeedJSONRequestBody +} + +type FeedsAddFeedResponseObject interface { + VisitFeedsAddFeedResponse(w http.ResponseWriter) error +} + +type FeedsAddFeed201JSONResponse Feed + +func (response FeedsAddFeed201JSONResponse) VisitFeedsAddFeedResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(201) + + return json.NewEncoder(w).Encode(response) +} + +type FeedsAddFeed400JSONResponse ErrorResponse + +func (response FeedsAddFeed400JSONResponse) VisitFeedsAddFeedResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(400) + + return json.NewEncoder(w).Encode(response) +} + +type FeedsUnsubscribeFeedRequestObject struct { + FeedId string `json:"feedId"` +} + +type FeedsUnsubscribeFeedResponseObject interface { + VisitFeedsUnsubscribeFeedResponse(w http.ResponseWriter) error +} + +type FeedsUnsubscribeFeed204Response struct { +} + +func (response FeedsUnsubscribeFeed204Response) VisitFeedsUnsubscribeFeedResponse(w http.ResponseWriter) error { + w.WriteHeader(204) + return nil +} + +type FeedsUnsubscribeFeed404JSONResponse ErrorResponse + +func (response FeedsUnsubscribeFeed404JSONResponse) VisitFeedsUnsubscribeFeedResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + + return json.NewEncoder(w).Encode(response) +} + +type FeedsGetFeedRequestObject struct { + FeedId string `json:"feedId"` +} + +type FeedsGetFeedResponseObject interface { + VisitFeedsGetFeedResponse(w http.ResponseWriter) error +} + +type FeedsGetFeed200JSONResponse Feed + +func (response FeedsGetFeed200JSONResponse) VisitFeedsGetFeedResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + + return json.NewEncoder(w).Encode(response) +} + +type FeedsGetFeed404JSONResponse ErrorResponse + +func (response FeedsGetFeed404JSONResponse) VisitFeedsGetFeedResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + + return json.NewEncoder(w).Encode(response) +} + +type FeedsMarkFeedReadRequestObject struct { + FeedId string `json:"feedId"` +} + +type FeedsMarkFeedReadResponseObject interface { + VisitFeedsMarkFeedReadResponse(w http.ResponseWriter) error +} + +type FeedsMarkFeedRead200JSONResponse Feed + +func (response FeedsMarkFeedRead200JSONResponse) VisitFeedsMarkFeedReadResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + + return json.NewEncoder(w).Encode(response) +} + +type FeedsMarkFeedRead404JSONResponse ErrorResponse + +func (response FeedsMarkFeedRead404JSONResponse) VisitFeedsMarkFeedReadResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + + return json.NewEncoder(w).Encode(response) +} + +type FeedsMarkFeedUnreadRequestObject struct { + FeedId string `json:"feedId"` +} + +type FeedsMarkFeedUnreadResponseObject interface { + VisitFeedsMarkFeedUnreadResponse(w http.ResponseWriter) error +} + +type FeedsMarkFeedUnread200JSONResponse Feed + +func (response FeedsMarkFeedUnread200JSONResponse) VisitFeedsMarkFeedUnreadResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + + return json.NewEncoder(w).Encode(response) +} + +type FeedsMarkFeedUnread404JSONResponse ErrorResponse + +func (response FeedsMarkFeedUnread404JSONResponse) VisitFeedsMarkFeedUnreadResponse(w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + + return json.NewEncoder(w).Encode(response) +} + +// StrictServerInterface represents all server handlers. +type StrictServerInterface interface { + + // (GET /api/articles/read) + ArticlesListReadArticles(ctx context.Context, request ArticlesListReadArticlesRequestObject) (ArticlesListReadArticlesResponseObject, error) + + // (GET /api/articles/unread) + ArticlesListUnreadArticles(ctx context.Context, request ArticlesListUnreadArticlesRequestObject) (ArticlesListUnreadArticlesResponseObject, error) + + // (GET /api/articles/{articleId}) + ArticlesGetArticle(ctx context.Context, request ArticlesGetArticleRequestObject) (ArticlesGetArticleResponseObject, error) + + // (POST /api/articles/{articleId}/read) + ArticlesMarkArticleRead(ctx context.Context, request ArticlesMarkArticleReadRequestObject) (ArticlesMarkArticleReadResponseObject, error) + + // (POST /api/articles/{articleId}/unread) + ArticlesMarkArticleUnread(ctx context.Context, request ArticlesMarkArticleUnreadRequestObject) (ArticlesMarkArticleUnreadResponseObject, error) + + // (POST /api/auth/login) + AuthLogin(ctx context.Context, request AuthLoginRequestObject) (AuthLoginResponseObject, error) + + // (POST /api/auth/logout) + AuthLogout(ctx context.Context, request AuthLogoutRequestObject) (AuthLogoutResponseObject, error) + + // (GET /api/auth/me) + AuthGetCurrentUser(ctx context.Context, request AuthGetCurrentUserRequestObject) (AuthGetCurrentUserResponseObject, error) + + // (GET /api/feeds) + FeedsListFeeds(ctx context.Context, request FeedsListFeedsRequestObject) (FeedsListFeedsResponseObject, error) + + // (POST /api/feeds) + FeedsAddFeed(ctx context.Context, request FeedsAddFeedRequestObject) (FeedsAddFeedResponseObject, error) + + // (DELETE /api/feeds/{feedId}) + FeedsUnsubscribeFeed(ctx context.Context, request FeedsUnsubscribeFeedRequestObject) (FeedsUnsubscribeFeedResponseObject, error) + + // (GET /api/feeds/{feedId}) + FeedsGetFeed(ctx context.Context, request FeedsGetFeedRequestObject) (FeedsGetFeedResponseObject, error) + + // (POST /api/feeds/{feedId}/read) + FeedsMarkFeedRead(ctx context.Context, request FeedsMarkFeedReadRequestObject) (FeedsMarkFeedReadResponseObject, error) + + // (POST /api/feeds/{feedId}/unread) + FeedsMarkFeedUnread(ctx context.Context, request FeedsMarkFeedUnreadRequestObject) (FeedsMarkFeedUnreadResponseObject, error) +} + +type StrictHandlerFunc = strictecho.StrictEchoHandlerFunc +type StrictMiddlewareFunc = strictecho.StrictEchoMiddlewareFunc + +func NewStrictHandler(ssi StrictServerInterface, middlewares []StrictMiddlewareFunc) ServerInterface { + return &strictHandler{ssi: ssi, middlewares: middlewares} +} + +type strictHandler struct { + ssi StrictServerInterface + middlewares []StrictMiddlewareFunc +} + +// ArticlesListReadArticles operation middleware +func (sh *strictHandler) ArticlesListReadArticles(ctx echo.Context, params ArticlesListReadArticlesParams) error { + var request ArticlesListReadArticlesRequestObject + + request.Params = params + + handler := func(ctx echo.Context, request interface{}) (interface{}, error) { + return sh.ssi.ArticlesListReadArticles(ctx.Request().Context(), request.(ArticlesListReadArticlesRequestObject)) + } + for _, middleware := range sh.middlewares { + handler = middleware(handler, "ArticlesListReadArticles") + } + + response, err := handler(ctx, request) + + if err != nil { + return err + } else if validResponse, ok := response.(ArticlesListReadArticlesResponseObject); ok { + return validResponse.VisitArticlesListReadArticlesResponse(ctx.Response()) + } else if response != nil { + return fmt.Errorf("unexpected response type: %T", response) + } + return nil +} + +// ArticlesListUnreadArticles operation middleware +func (sh *strictHandler) ArticlesListUnreadArticles(ctx echo.Context, params ArticlesListUnreadArticlesParams) error { + var request ArticlesListUnreadArticlesRequestObject + + request.Params = params + + handler := func(ctx echo.Context, request interface{}) (interface{}, error) { + return sh.ssi.ArticlesListUnreadArticles(ctx.Request().Context(), request.(ArticlesListUnreadArticlesRequestObject)) + } + for _, middleware := range sh.middlewares { + handler = middleware(handler, "ArticlesListUnreadArticles") + } + + response, err := handler(ctx, request) + + if err != nil { + return err + } else if validResponse, ok := response.(ArticlesListUnreadArticlesResponseObject); ok { + return validResponse.VisitArticlesListUnreadArticlesResponse(ctx.Response()) + } else if response != nil { + return fmt.Errorf("unexpected response type: %T", response) + } + return nil +} + +// ArticlesGetArticle operation middleware +func (sh *strictHandler) ArticlesGetArticle(ctx echo.Context, articleId string) error { + var request ArticlesGetArticleRequestObject + + request.ArticleId = articleId + + handler := func(ctx echo.Context, request interface{}) (interface{}, error) { + return sh.ssi.ArticlesGetArticle(ctx.Request().Context(), request.(ArticlesGetArticleRequestObject)) + } + for _, middleware := range sh.middlewares { + handler = middleware(handler, "ArticlesGetArticle") + } + + response, err := handler(ctx, request) + + if err != nil { + return err + } else if validResponse, ok := response.(ArticlesGetArticleResponseObject); ok { + return validResponse.VisitArticlesGetArticleResponse(ctx.Response()) + } else if response != nil { + return fmt.Errorf("unexpected response type: %T", response) + } + return nil +} + +// ArticlesMarkArticleRead operation middleware +func (sh *strictHandler) ArticlesMarkArticleRead(ctx echo.Context, articleId string) error { + var request ArticlesMarkArticleReadRequestObject + + request.ArticleId = articleId + + handler := func(ctx echo.Context, request interface{}) (interface{}, error) { + return sh.ssi.ArticlesMarkArticleRead(ctx.Request().Context(), request.(ArticlesMarkArticleReadRequestObject)) + } + for _, middleware := range sh.middlewares { + handler = middleware(handler, "ArticlesMarkArticleRead") + } + + response, err := handler(ctx, request) + + if err != nil { + return err + } else if validResponse, ok := response.(ArticlesMarkArticleReadResponseObject); ok { + return validResponse.VisitArticlesMarkArticleReadResponse(ctx.Response()) + } else if response != nil { + return fmt.Errorf("unexpected response type: %T", response) + } + return nil +} + +// ArticlesMarkArticleUnread operation middleware +func (sh *strictHandler) ArticlesMarkArticleUnread(ctx echo.Context, articleId string) error { + var request ArticlesMarkArticleUnreadRequestObject + + request.ArticleId = articleId + + handler := func(ctx echo.Context, request interface{}) (interface{}, error) { + return sh.ssi.ArticlesMarkArticleUnread(ctx.Request().Context(), request.(ArticlesMarkArticleUnreadRequestObject)) + } + for _, middleware := range sh.middlewares { + handler = middleware(handler, "ArticlesMarkArticleUnread") + } + + response, err := handler(ctx, request) + + if err != nil { + return err + } else if validResponse, ok := response.(ArticlesMarkArticleUnreadResponseObject); ok { + return validResponse.VisitArticlesMarkArticleUnreadResponse(ctx.Response()) + } else if response != nil { + return fmt.Errorf("unexpected response type: %T", response) + } + return nil +} + +// AuthLogin operation middleware +func (sh *strictHandler) AuthLogin(ctx echo.Context) error { + var request AuthLoginRequestObject + + var body AuthLoginJSONRequestBody + if err := ctx.Bind(&body); err != nil { + return err + } + request.Body = &body + + handler := func(ctx echo.Context, request interface{}) (interface{}, error) { + return sh.ssi.AuthLogin(ctx.Request().Context(), request.(AuthLoginRequestObject)) + } + for _, middleware := range sh.middlewares { + handler = middleware(handler, "AuthLogin") + } + + response, err := handler(ctx, request) + + if err != nil { + return err + } else if validResponse, ok := response.(AuthLoginResponseObject); ok { + return validResponse.VisitAuthLoginResponse(ctx.Response()) + } else if response != nil { + return fmt.Errorf("unexpected response type: %T", response) + } + return nil +} + +// AuthLogout operation middleware +func (sh *strictHandler) AuthLogout(ctx echo.Context) error { + var request AuthLogoutRequestObject + + handler := func(ctx echo.Context, request interface{}) (interface{}, error) { + return sh.ssi.AuthLogout(ctx.Request().Context(), request.(AuthLogoutRequestObject)) + } + for _, middleware := range sh.middlewares { + handler = middleware(handler, "AuthLogout") + } + + response, err := handler(ctx, request) + + if err != nil { + return err + } else if validResponse, ok := response.(AuthLogoutResponseObject); ok { + return validResponse.VisitAuthLogoutResponse(ctx.Response()) + } else if response != nil { + return fmt.Errorf("unexpected response type: %T", response) + } + return nil +} + +// AuthGetCurrentUser operation middleware +func (sh *strictHandler) AuthGetCurrentUser(ctx echo.Context) error { + var request AuthGetCurrentUserRequestObject + + handler := func(ctx echo.Context, request interface{}) (interface{}, error) { + return sh.ssi.AuthGetCurrentUser(ctx.Request().Context(), request.(AuthGetCurrentUserRequestObject)) + } + for _, middleware := range sh.middlewares { + handler = middleware(handler, "AuthGetCurrentUser") + } + + response, err := handler(ctx, request) + + if err != nil { + return err + } else if validResponse, ok := response.(AuthGetCurrentUserResponseObject); ok { + return validResponse.VisitAuthGetCurrentUserResponse(ctx.Response()) + } else if response != nil { + return fmt.Errorf("unexpected response type: %T", response) + } + return nil +} + +// FeedsListFeeds operation middleware +func (sh *strictHandler) FeedsListFeeds(ctx echo.Context) error { + var request FeedsListFeedsRequestObject + + handler := func(ctx echo.Context, request interface{}) (interface{}, error) { + return sh.ssi.FeedsListFeeds(ctx.Request().Context(), request.(FeedsListFeedsRequestObject)) + } + for _, middleware := range sh.middlewares { + handler = middleware(handler, "FeedsListFeeds") + } + + response, err := handler(ctx, request) + + if err != nil { + return err + } else if validResponse, ok := response.(FeedsListFeedsResponseObject); ok { + return validResponse.VisitFeedsListFeedsResponse(ctx.Response()) + } else if response != nil { + return fmt.Errorf("unexpected response type: %T", response) + } + return nil +} + +// FeedsAddFeed operation middleware +func (sh *strictHandler) FeedsAddFeed(ctx echo.Context) error { + var request FeedsAddFeedRequestObject + + var body FeedsAddFeedJSONRequestBody + if err := ctx.Bind(&body); err != nil { + return err + } + request.Body = &body + + handler := func(ctx echo.Context, request interface{}) (interface{}, error) { + return sh.ssi.FeedsAddFeed(ctx.Request().Context(), request.(FeedsAddFeedRequestObject)) + } + for _, middleware := range sh.middlewares { + handler = middleware(handler, "FeedsAddFeed") + } + + response, err := handler(ctx, request) + + if err != nil { + return err + } else if validResponse, ok := response.(FeedsAddFeedResponseObject); ok { + return validResponse.VisitFeedsAddFeedResponse(ctx.Response()) + } else if response != nil { + return fmt.Errorf("unexpected response type: %T", response) + } + return nil +} + +// FeedsUnsubscribeFeed operation middleware +func (sh *strictHandler) FeedsUnsubscribeFeed(ctx echo.Context, feedId string) error { + var request FeedsUnsubscribeFeedRequestObject + + request.FeedId = feedId + + handler := func(ctx echo.Context, request interface{}) (interface{}, error) { + return sh.ssi.FeedsUnsubscribeFeed(ctx.Request().Context(), request.(FeedsUnsubscribeFeedRequestObject)) + } + for _, middleware := range sh.middlewares { + handler = middleware(handler, "FeedsUnsubscribeFeed") + } + + response, err := handler(ctx, request) + + if err != nil { + return err + } else if validResponse, ok := response.(FeedsUnsubscribeFeedResponseObject); ok { + return validResponse.VisitFeedsUnsubscribeFeedResponse(ctx.Response()) + } else if response != nil { + return fmt.Errorf("unexpected response type: %T", response) + } + return nil +} + +// FeedsGetFeed operation middleware +func (sh *strictHandler) FeedsGetFeed(ctx echo.Context, feedId string) error { + var request FeedsGetFeedRequestObject + + request.FeedId = feedId + + handler := func(ctx echo.Context, request interface{}) (interface{}, error) { + return sh.ssi.FeedsGetFeed(ctx.Request().Context(), request.(FeedsGetFeedRequestObject)) + } + for _, middleware := range sh.middlewares { + handler = middleware(handler, "FeedsGetFeed") + } + + response, err := handler(ctx, request) + + if err != nil { + return err + } else if validResponse, ok := response.(FeedsGetFeedResponseObject); ok { + return validResponse.VisitFeedsGetFeedResponse(ctx.Response()) + } else if response != nil { + return fmt.Errorf("unexpected response type: %T", response) + } + return nil +} + +// FeedsMarkFeedRead operation middleware +func (sh *strictHandler) FeedsMarkFeedRead(ctx echo.Context, feedId string) error { + var request FeedsMarkFeedReadRequestObject + + request.FeedId = feedId + + handler := func(ctx echo.Context, request interface{}) (interface{}, error) { + return sh.ssi.FeedsMarkFeedRead(ctx.Request().Context(), request.(FeedsMarkFeedReadRequestObject)) + } + for _, middleware := range sh.middlewares { + handler = middleware(handler, "FeedsMarkFeedRead") + } + + response, err := handler(ctx, request) + + if err != nil { + return err + } else if validResponse, ok := response.(FeedsMarkFeedReadResponseObject); ok { + return validResponse.VisitFeedsMarkFeedReadResponse(ctx.Response()) + } else if response != nil { + return fmt.Errorf("unexpected response type: %T", response) + } + return nil +} + +// FeedsMarkFeedUnread operation middleware +func (sh *strictHandler) FeedsMarkFeedUnread(ctx echo.Context, feedId string) error { + var request FeedsMarkFeedUnreadRequestObject + + request.FeedId = feedId + + handler := func(ctx echo.Context, request interface{}) (interface{}, error) { + return sh.ssi.FeedsMarkFeedUnread(ctx.Request().Context(), request.(FeedsMarkFeedUnreadRequestObject)) + } + for _, middleware := range sh.middlewares { + handler = middleware(handler, "FeedsMarkFeedUnread") + } + + response, err := handler(ctx, request) + + if err != nil { + return err + } else if validResponse, ok := response.(FeedsMarkFeedUnreadResponseObject); ok { + return validResponse.VisitFeedsMarkFeedUnreadResponse(ctx.Response()) + } else if response != nil { + return fmt.Errorf("unexpected response type: %T", response) + } + return nil +} |
