{- This file is part of Vervis. - - Written in 2016 by fr33domlover <fr33domlover@riseup.net>. - - ♡ Copying is an act of love. Please copy, reuse and share. - - The author(s) have dedicated all copyright and related and neighboring - rights to this software to the public domain worldwide. This software is - distributed without any warranty. - - You should have received a copy of the CC0 Public Domain Dedication along - with this software. If not, see - <http://creativecommons.org/publicdomain/zero/1.0/>. -} module Handler.Comment where import Import postCommentR :: Handler Value postCommentR = do -- requireJsonBody will parse the request body into the appropriate type, or return a 400 status code if the request JSON is invalid. -- (The ToJSON and FromJSON instances are derived in the config/models file). comment <- (requireJsonBody :: Handler Comment) -- The YesodAuth instance in Foundation.hs defines the UserId to be the type used for authentication. maybeCurrentUserId <- maybeAuthId let comment' = comment { commentUserId = maybeCurrentUserId } insertedComment <- runDB $ insertEntity comment' returnJson insertedComment