Skip to content

Commit

Permalink
Fix/websock schmea (OasisLMF#914)
Browse files Browse the repository at this point in the history
* Fix queue-status schema

* Wrap disable ws http requests in env option
  • Loading branch information
sambles authored Oct 12, 2023
1 parent ad64469 commit c093937
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 5 deletions.
5 changes: 3 additions & 2 deletions src/server/oasisapi/asgi.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@
application = get_default_application()

# ONLY run the websocket from here (add safeguard to remove HTTP router)
if 'http' in application.application_mapping:
del application.application_mapping['http']
if os.getenv('OASIS_DISABLE_HTTP', default=True):
if 'http' in application.application_mapping:
del application.application_mapping['http']
4 changes: 2 additions & 2 deletions src/server/oasisapi/queues/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class QueueSerializer(serializers.Serializer):
running_count = serializers.IntegerField()
models = serializers.SerializerMethodField()

@swagger_serializer_method(serializer_or_field=AnalysisModelSerializer)
@swagger_serializer_method(serializer_or_field=AnalysisModelSerializer(many=True))
def get_models(self, instance, *args, **kwargs):
models = [m for m in AnalysisModel.objects.all() if str(m) == instance['name']]
return AnalysisModelSerializer(instance=models, many=True).data
Expand Down Expand Up @@ -55,6 +55,6 @@ class WebsocketSerializer(serializers.Serializer):
status = serializers.CharField()
content = serializers.SerializerMethodField()

@swagger_serializer_method(serializer_or_field=WebsocketContentSerializer)
@swagger_serializer_method(serializer_or_field=WebsocketContentSerializer(many=True))
def get_content(self, instance, *args, **kwargs):
pass
2 changes: 1 addition & 1 deletion src/server/oasisapi/queues/viewsets.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def list(self, request, *args, **kwargs):


class WebsocketViewSet(viewsets.ViewSet):
@swagger_auto_schema(responses={200: WebsocketSerializer(many=True, read_only=True)})
@swagger_auto_schema(responses={200: WebsocketSerializer(many=False, read_only=True)})
def list(self, request, *args, **kwargs):
"""
This endpoint documents the schema for the WebSocket used for async status updates at
Expand Down

0 comments on commit c093937

Please sign in to comment.