wip
This commit is contained in:
		@@ -102,22 +102,24 @@ instance VersionedCatalog AppM 1 where
 | 
				
			|||||||
  getChannels = getChannelsV1
 | 
					  getChannels = getChannelsV1
 | 
				
			||||||
  getBooks = getBooksV1
 | 
					  getBooks = getBooksV1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					relUrl :: Text -> Rel
 | 
				
			||||||
 | 
					relUrl x = Rel ("/api/current/" <> x)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
getBooksV1 :: Channel.ChannelID -> SafeUser -> AppM (Catalog 1)
 | 
					getBooksV1 :: Channel.ChannelID -> SafeUser -> AppM (Catalog 1)
 | 
				
			||||||
getBooksV1 identifier SafeUser{} = do
 | 
					getBooksV1 identifier SafeUser{} = do
 | 
				
			||||||
  updated <- liftIO getCurrentTime
 | 
					  updated <- liftIO getCurrentTime
 | 
				
			||||||
  let self = Rel ("/api/current/" <> selfUrl)
 | 
					  let self = relUrl selfUrl
 | 
				
			||||||
      start = Rel ("/api/current/" <> startUrl)
 | 
					      start = relUrl startUrl
 | 
				
			||||||
      selfUrl = pack . uriPath . linkURI $ safeLink (Proxy @(BaseAPI 1)) (Proxy @(ChannelCatalog 1)) identifier
 | 
					      selfUrl = pack . uriPath . linkURI $ safeLink (Proxy @(BaseAPI 1)) (Proxy @(ChannelCatalog 1)) identifier
 | 
				
			||||||
      startUrl = pack . uriPath . linkURI $ safeLink (Proxy @(BaseAPI 1)) (Proxy @(RootCatalog 1))
 | 
					      startUrl = pack . uriPath . linkURI $ safeLink (Proxy @(BaseAPI 1)) (Proxy @(RootCatalog 1))
 | 
				
			||||||
      entries = mempty
 | 
					      entries = mempty
 | 
				
			||||||
      pagination = Pagination Nothing Nothing
 | 
					      pagination = Pagination Nothing Nothing
 | 
				
			||||||
  pure CatalogV1{..}
 | 
					  pure CatalogV1{..}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
getChannelsV1 :: SafeUser -> AppM (Catalog 1)
 | 
					getChannelsV1 :: SafeUser -> AppM (Catalog 1)
 | 
				
			||||||
getChannelsV1 SafeUser{username} = do
 | 
					getChannelsV1 SafeUser{username} = do
 | 
				
			||||||
  updated <- liftIO getCurrentTime
 | 
					  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
 | 
					      -- 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
 | 
					      -- api hierarchy since I can't access the topmost api from here. Also
 | 
				
			||||||
      -- authentication would bring a little bit of extra effort as well
 | 
					      -- 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 :: UTCTime -> Channel.Channel -> Entry 1
 | 
				
			||||||
    fromChannel updated Channel.Channel{..} =
 | 
					    fromChannel updated Channel.Channel{..} =
 | 
				
			||||||
      let url = pack . uriPath . linkURI $ safeLink (Proxy @(BaseAPI 1)) (Proxy @(ChannelCatalog 1)) identifier
 | 
					      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)
 | 
					      in EntryV1 channel channel updated channel (Left $ SubSection self)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type VersionedAPI (v :: Nat) = Auth '[SA.BasicAuth, SA.JWT] SafeUser :> BaseAPI v
 | 
					type VersionedAPI (v :: Nat) = Auth '[SA.BasicAuth, SA.JWT] SafeUser :> BaseAPI v
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user