on master help sign in
Added create and publish method
commitfcef7e84c3bf72f0a0b21e79c5b7c251999daa8a authoriko <ilyakooo0@gmail.com> dateMon 25 Feb 2019, 23:08 (8 years ago) parenta403d84
1 file changed+10−3
denis/src/Server/API/Draft.hs+10−3
denis/src/Server/API/Draft.hs+10−3
@@ -42,13 +42,15 @@ instance ToJSON DraftUpdate where
4242type DraftApi = "create" :> ReqBody '[JSON] [P.PostElement P.Draft] :> Post '[JSON] P.DraftId :<|>
4343 "update" :> ReqBody '[JSON] DraftUpdate :> PostNoContent '[JSON, PlainText, FormUrlEncoded] NoContent :<|>
4444 "publish" :> ReqBody '[JSON] P.DraftId :> PostNoContent '[JSON, PlainText, FormUrlEncoded] NoContent :<|>
45− "all" :> Post '[JSON] [DraftUpdate]
45+ "all" :> Post '[JSON] [DraftUpdate] :<|>
46+ "createAndPublish" :> ReqBody '[JSON] [P.PostElement P.Draft] :> PostNoContent '[JSON, PlainText, FormUrlEncoded] NoContent
4647
4748draftApi :: UserId -> ServerT DraftApi App
4849draftApi uId =
4950 (fmap P.postId . runQnotFound . createDraft uId) :<|> updateDraftApi uId :<|>
5051 publishDraftApi uId :<|>
51− runQnotFound (fmap (map postToDraft) $ getDrafts uId)
52+ runQnotFound (fmap (map postToDraft) $ getDrafts uId) :<|>
53+ createAndPublish uId
5254
5355updateDraftApi :: UserId -> DraftUpdate -> App NoContent
5456updateDraftApi uId (DraftUpdate dId els) = do
@@ -61,4 +63,9 @@ publishDraftApi uId dId = do
6163 return NoContent
6264
6365postToDraft :: P.Draft -> DraftUpdate
64−postToDraft (P.PostData dId _ body) = DraftUpdate dId body
66+postToDraft (P.PostData dId _ body) = DraftUpdate dId body
67+
68+createAndPublish :: UserId -> [P.PostElement P.Draft] -> App NoContent
69+createAndPublish uId els = do
70+ dId <- fmap P.postId . runQnotFound . createDraft uId $ els
71+ publishDraftApi uId dId