@@ -164,7 +164,6 @@ type DecksAPI =
164164 Capture " deck_id" DeckId :>
165165 ReqBody '[JSON ] Deck :> Put '[JSON ] (Item DeckId Deck ) :<|>
166166 Protected :> Capture " deck_id" DeckId :> Delete '[JSON ] ()
167- -- Capture "deck_id" DeckId :> "slides" :> SlidesAPI
168167
169168newtype DeckId = DeckId { unDeckId :: T. Text }
170169 deriving newtype (Aeson.FromJSON , Aeson.ToJSON , FromHttpApiData , ToHttpApiData , Show , Eq )
@@ -234,9 +233,6 @@ instance ToParamSchema DeckId where
234233-- SLIDES
235234
236235type SlidesAPI =
237-
238- -- Protected :> Capture "deck_id" DeckId :> Delete '[JSON] ()
239- Protected :> Capture " deck_id" DeckId :> " slides" :> Get '[JSON ] [Item SlideId Slide ] :<|>
240236 Protected :> Capture " deck_id" DeckId :> " slides" :>
241237 Capture " slide_id" SlideId :> Get '[JSON ] (Item SlideId Slide ) :<|>
242238 Protected :> Capture " deck_id" DeckId :> " slides" :>
@@ -331,7 +327,6 @@ server env = serveUsers :<|> serveDecks :<|> serveSlides
331327 decksPut env :<|>
332328 decksDelete env
333329 serveSlides =
334- slidesGet env :<|>
335330 slidesGetSlideId env :<|>
336331 slidesPost env :<|>
337332 slidesPut env :<|>
@@ -633,33 +628,6 @@ getDeck env deckId = do
633628
634629-- SLIDES
635630
636- slidesGet :: Aws. Env -> Firebase. UserId -> DeckId -> Servant. Handler [Item SlideId Slide ]
637- slidesGet env fuid deckId = do
638-
639- getDeck env deckId >>= \ case
640- Nothing -> do
641- liftIO $ putStrLn $ unwords
642- [ " Trying to GET slides for" , show deckId, " but deck doesn't exist." ]
643- Servant. throwError Servant. err404
644- Just deck@ Deck {deckOwnerId, deckSlides} -> do
645- when (Firebase. unUserId fuid /= unFirebaseId (unUserId deckOwnerId)) $ do
646- liftIO $ putStrLn $ unwords $
647- [ " Slides were requested for " , show deck, " but requester is not the owner" , show fuid ]
648- Servant. throwError Servant. err404
649-
650- res <- runAWS env $ Aws. send $ DynamoDB. scan " Slides"
651- case res of
652- Right scanResponse ->
653- case sequence $ scanResponse ^. DynamoDB. srsItems <&> itemToSlide of
654- Nothing -> do
655- liftIO $ putStrLn $ " Could not parse respose: " <> show scanResponse
656- Servant. throwError Servant. err500
657- Just ids -> pure ids
658-
659- Left e -> do
660- liftIO $ print e
661- Servant. throwError Servant. err500
662-
663631slidesGetSlideId :: Aws. Env -> Firebase. UserId -> DeckId -> SlideId -> Servant. Handler (Item SlideId Slide )
664632slidesGetSlideId env _ _ slideId = do
665633 res <- runAWS env $ Aws. send $ DynamoDB. getItem " Slides" &
0 commit comments