Compare commits
2 Commits
83e39cbe6c
...
f55a982f57
Author | SHA1 | Date | |
---|---|---|---|
f55a982f57 | |||
3f1b2d3588 |
@ -102,22 +102,24 @@ instance VersionedCatalog AppM 1 where
|
||||
getChannels = getChannelsV1
|
||||
getBooks = getBooksV1
|
||||
|
||||
relUrl :: Text -> Rel
|
||||
relUrl x = Rel ("/api/current/" <> x)
|
||||
|
||||
getBooksV1 :: Channel.ChannelID -> SafeUser -> AppM (Catalog 1)
|
||||
getBooksV1 identifier SafeUser{} = do
|
||||
updated <- liftIO getCurrentTime
|
||||
let self = Rel ("/api/current" <> selfUrl)
|
||||
start = Rel ("/api/current" <> startUrl)
|
||||
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))
|
||||
entries = mempty
|
||||
pagination = Pagination Nothing Nothing
|
||||
pure CatalogV1{..}
|
||||
|
||||
|
||||
getChannelsV1 :: SafeUser -> AppM (Catalog 1)
|
||||
getChannelsV1 SafeUser{username} = do
|
||||
updated <- liftIO getCurrentTime
|
||||
let self = Rel ("/api/current/" <> selfUrl)
|
||||
let self = relUrl selfUrl
|
||||
-- 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
|
||||
@ -130,7 +132,7 @@ getChannelsV1 SafeUser{username} = do
|
||||
fromChannel :: UTCTime -> Channel.Channel -> Entry 1
|
||||
fromChannel updated Channel.Channel{..} =
|
||||
let url = pack . uriPath . linkURI $ safeLink (Proxy @(BaseAPI 1)) (Proxy @(ChannelCatalog 1)) identifier
|
||||
self = Rel ("/api/current/" <> url)
|
||||
self = relUrl url
|
||||
in EntryV1 channel channel updated channel (Left $ SubSection self)
|
||||
|
||||
type VersionedAPI (v :: Nat) = Auth '[SA.BasicAuth, SA.JWT] SafeUser :> BaseAPI v
|
||||
|
Loading…
Reference in New Issue
Block a user