gonito/Handler/Swagger.hs

40 lines
1004 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
2021-04-27 11:49:22 +02:00
<> addUserApi
<> userInfoApi
2021-02-08 12:27:44 +01:00
<> 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
<> challengeImgApi
2021-06-16 08:49:50 +02:00
<> challengeRepoApi
generalApi :: Swagger
generalApi = (mempty :: Swagger)
& info .~ (mempty &
2021-02-15 20:45:45 +01:00
title .~ "Gonito API" &
2021-05-31 08:02:54 +02:00
version .~ "3.0.0")