34 lines
817 B
Haskell
34 lines
817 B
Haskell
module Handler.Swagger where
|
|
|
|
import Import
|
|
|
|
import Data.Swagger
|
|
import Handler.ListChallenges
|
|
import Handler.ShowChallenge
|
|
import Handler.Query
|
|
import Handler.Tags
|
|
|
|
|
|
import Control.Lens hiding ((.=))
|
|
|
|
getSwaggerR :: Handler Value
|
|
getSwaggerR = return $ toJSON apiDescription
|
|
|
|
apiDescription :: Swagger
|
|
apiDescription = generalApi
|
|
<> listChallengesApi
|
|
<> leaderboardApi
|
|
<> allSubmissionsApi
|
|
<> mySubmissionsApi
|
|
<> challengeReadmeInMarkdownApi
|
|
<> queryApi
|
|
<> challengeSubmissionApi
|
|
<> versionInfoApi
|
|
<> listTagsApi
|
|
|
|
generalApi :: Swagger
|
|
generalApi = (mempty :: Swagger)
|
|
& info .~ (mempty &
|
|
title .~ "Gonito API" &
|
|
version .~ "1.2.0")
|