Commit 374fabb4 authored by davelopez's avatar davelopez
Browse files

Provide request context to `url_for`

When using FastAPI, we need call `url_builder` to generate the correct API URL instead of the legacy `url_for`.
Here we were missing the request context that provides this functionality.

Also the name of the endpoint for `/api/histories/{id}` was missing.
parent 216378ab
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -469,9 +469,9 @@ class HistorySerializer(sharable.SharableModelSerializer, deletable.PurgableSeri
            'nice_size': lambda item, key, **context: item.disk_nice_size,
            'state': self.serialize_history_state,

            'url': lambda item, key, **context: self.url_for('history', id=self.app.security.encode_id(item.id)),
            'url': lambda item, key, **context: self.url_for('history', id=self.app.security.encode_id(item.id), context=context),
            'contents_url': lambda item, key, **context: self.url_for('history_contents',
                                                           history_id=self.app.security.encode_id(item.id)),
                                                           history_id=self.app.security.encode_id(item.id), context=context),

            'empty': lambda item, key, **context: (len(item.datasets) + len(item.dataset_collections)) <= 0,
            'count': lambda item, key, **context: len(item.datasets),
+1 −0
Original line number Diff line number Diff line
@@ -188,6 +188,7 @@ class FastAPIHistories:

    @router.get(
        '/api/histories/{id}',
        name="history",
        summary='Returns the history with the given ID.',
    )
    def show(