From ce338f067b49e95efd30cb4234294b83c5a0426b Mon Sep 17 00:00:00 2001 From: Mats Rauhala Date: Tue, 28 Aug 2018 22:54:49 +0300 Subject: [PATCH] wip --- src/API/Catalogue.hs | 12 ++++++------ src/Database/Channel.hs | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/API/Catalogue.hs b/src/API/Catalogue.hs index 98c14b6..74872aa 100644 --- a/src/API/Catalogue.hs +++ b/src/API/Catalogue.hs @@ -102,16 +102,16 @@ instance VersionedCatalog AppM 1 where getChannels = getChannelsV1 getBooks = getBooksV1 -relUrl :: Text -> Rel -relUrl x = Rel ("/api/current/" <> x) +relUrl :: Link -> Rel +relUrl x = Rel ("/api/current/" <> (pack . uriPath . linkURI $ x)) getBooksV1 :: Channel.ChannelID -> SafeUser -> AppM (Catalog 1) getBooksV1 identifier SafeUser{} = do updated <- liftIO getCurrentTime let self = relUrl selfUrl start = relUrl startUrl - selfUrl = pack . uriPath . linkURI $ safeLink (Proxy @(BaseAPI 1)) (Proxy @(ChannelCatalog 1)) identifier - startUrl = pack . uriPath . linkURI $ safeLink (Proxy @(BaseAPI 1)) (Proxy @(RootCatalog 1)) + selfUrl = safeLink (Proxy @(BaseAPI 1)) (Proxy @(ChannelCatalog 1)) identifier + startUrl = safeLink (Proxy @(BaseAPI 1)) (Proxy @(RootCatalog 1)) entries = mempty pagination = Pagination Nothing Nothing pure CatalogV1{..} @@ -123,7 +123,7 @@ getChannelsV1 SafeUser{username} = do -- I'm not sure if this safe link approach is really useable with this -- api hierarchy since I can't access the topmost api from here. Also -- authentication would bring a little bit of extra effort as well - selfUrl = pack . uriPath . linkURI $ safeLink (Proxy @(BaseAPI 1)) (Proxy @(RootCatalog 1)) + selfUrl = safeLink (Proxy @(BaseAPI 1)) (Proxy @(RootCatalog 1)) start = self pagination = Pagination Nothing Nothing entries <- map (fromChannel updated) <$> runDB (Channel.userChannels username) @@ -131,7 +131,7 @@ getChannelsV1 SafeUser{username} = do where fromChannel :: UTCTime -> Channel.Channel -> Entry 1 fromChannel updated Channel.Channel{..} = - let url = pack . uriPath . linkURI $ safeLink (Proxy @(BaseAPI 1)) (Proxy @(ChannelCatalog 1)) identifier + let url = safeLink (Proxy @(BaseAPI 1)) (Proxy @(ChannelCatalog 1)) identifier self = relUrl url in EntryV1 channel channel updated channel (Left $ SubSection self) diff --git a/src/Database/Channel.hs b/src/Database/Channel.hs index 4ef3627..10d84bc 100644 --- a/src/Database/Channel.hs +++ b/src/Database/Channel.hs @@ -12,7 +12,7 @@ module Database.Channel , clearChannels , booksChannels , Channel(..) - , ChannelID ) + , ChannelID(..) ) where import ClassyPrelude