From 602f4c39ca883b98e055079765e4ff8f652223f9 Mon Sep 17 00:00:00 2001 From: Filip Gralinski Date: Wed, 3 Mar 2021 22:02:39 +0100 Subject: [PATCH] Team in end-points --- Handler/ShowChallenge.hs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Handler/ShowChallenge.hs b/Handler/ShowChallenge.hs index 85379fe..dafe47c 100644 --- a/Handler/ShowChallenge.hs +++ b/Handler/ShowChallenge.hs @@ -73,6 +73,7 @@ import Data.HashMap.Strict.InsOrd (fromList) instance ToJSON LeaderboardEntry where toJSON entry = object [ "submitter" .= (formatSubmitter $ leaderboardUser entry) + , "team" .= (teamIdent <$> entityVal <$> leaderboardTeam entry) , "when" .= (submissionStamp $ leaderboardBestSubmission entry) , "version" .= (formatVersion $ leaderboardVersion entry) , "description" .= descriptionToBeShown (leaderboardBestSubmission entry) @@ -171,6 +172,7 @@ instance ToSchema LeaderboardEntryView where & type_ .~ SwaggerObject & properties .~ fromList [ ("submitter", stringSchema) + , ("team", stringSchema) , ("when", stringSchema) , ("version", stringSchema) , ("description", stringSchema) @@ -1081,7 +1083,8 @@ convertTableEntryToView tests entry = do submissionViewIsOwner = (entityKey <$> mUserId) == Just (submissionSubmitter submission), submissionViewIsReevaluable = isReevaluable, submissionViewIsVisible = isVisible, - submissionViewIsPublic = submissionIsPublic submission + submissionViewIsPublic = submissionIsPublic submission, + submissionViewTeam = teamIdent <$> entityVal <$> tableEntryTeam entry } where submission = entityVal $ tableEntrySubmission entry @@ -1176,7 +1179,8 @@ data SubmissionView = SubmissionView { submissionViewIsOwner :: Bool, submissionViewIsReevaluable :: Bool, submissionViewIsVisible :: Bool, - submissionViewIsPublic :: Bool + submissionViewIsPublic :: Bool, + submissionViewTeam :: Maybe Text } instance ToJSON SubmissionView where @@ -1195,6 +1199,7 @@ instance ToJSON SubmissionView where , "isReevaluable" .= submissionViewIsReevaluable s , "isVisible" .= submissionViewIsVisible s , "isPublic" .= submissionViewIsPublic s + , "team" .= submissionViewTeam s ] instance ToSchema SubmissionView where @@ -1222,6 +1227,7 @@ instance ToSchema SubmissionView where , ("isReevaluable", boolSchema) , ("isVisible", boolSchema) , ("isPublic", boolSchema) + , ("team", stringSchema) ] & required .~ [ "id", "variant", "rank", "submitter", "when", "version", "description", "tags", "hash", "evaluations",