gonito/Handler/Swagger.hs

36 lines
868 B
Haskell
Raw Normal View History

module Handler.Swagger where
import Import
import Data.Swagger
import Handler.ListChallenges
import Handler.ShowChallenge
2021-02-15 13:48:58 +01:00
import Handler.Query
2021-03-11 21:23:18 +01:00
import Handler.Tags
2021-03-11 22:27:22 +01:00
import Handler.Team
2021-03-11 21:23:18 +01:00
import Control.Lens hiding ((.=))
getSwaggerR :: Handler Value
getSwaggerR = return $ toJSON apiDescription
apiDescription :: Swagger
2021-02-08 12:27:44 +01:00
apiDescription = generalApi
<> listChallengesApi
<> leaderboardApi
<> allSubmissionsApi
<> mySubmissionsApi
<> challengeReadmeInMarkdownApi
2021-02-15 13:48:58 +01:00
<> queryApi
2021-02-15 21:35:09 +01:00
<> challengeSubmissionApi
2021-02-24 14:11:30 +01:00
<> versionInfoApi
2021-03-11 21:23:18 +01:00
<> listTagsApi
2021-03-11 22:27:22 +01:00
<> myTeamsApi
generalApi :: Swagger
generalApi = (mempty :: Swagger)
& info .~ (mempty &
2021-02-15 20:45:45 +01:00
title .~ "Gonito API" &
2021-03-13 11:20:38 +01:00
version .~ "2.1.0")