diff --git a/app/pulp/app/serializers/__init__.py b/app/pulp/app/serializers/__init__.py index 3089dfd44d..4bade7284b 100644 --- a/app/pulp/app/serializers/__init__.py +++ b/app/pulp/app/serializers/__init__.py @@ -8,4 +8,4 @@ NotesKeyValueRelatedField) # NOQA from pulp.app.serializers.content import ContentSerializer, ContentRelatedField # NOQA from pulp.app.serializers.repository import RepositorySerializer # NOQA -from pulp.app.serializers.task import TaskSerializer # NOQA +from pulp.app.serializers.task import TaskSerializer, WorkerSerializer # NOQA diff --git a/app/pulp/app/serializers/task.py b/app/pulp/app/serializers/task.py index 160017fbae..238885ccf8 100755 --- a/app/pulp/app/serializers/task.py +++ b/app/pulp/app/serializers/task.py @@ -6,7 +6,7 @@ class TaskTagSerializer(serializers.ModelSerializer): name = serializers.CharField( - help_text="The name of the tag", + help_text="The name of the tag" ) class Meta: @@ -15,6 +15,10 @@ class Meta: class TaskSerializer(ModelSerializer): + _href = serializers.HyperlinkedIdentityField( + view_name='tasks-detail', + ) + group = serializers.UUIDField( help_text="The group that this task belongs to.", read_only=True @@ -50,7 +54,8 @@ class TaskSerializer(ModelSerializer): help_text="The worker associated with this task." " This field is empty if a worker is not yet assigned.", read_only=True, - view_name='workers-detail' + view_name='workers-detail', + lookup_field='name' ) parent = serializers.HyperlinkedRelatedField( @@ -70,3 +75,23 @@ class Meta: 'finished_at', 'non_fatal_errors', 'result', 'worker', 'parent', 'tags') + +class WorkerSerializer(ModelSerializer): + _href = serializers.HyperlinkedIdentityField( + view_name='workers-detail', + lookup_field='name' + ) + + name = serializers.CharField( + help_text='The name of the worker.', + read_only=True + ) + + last_heartbeat = serializers.DateTimeField( + help_text='Timestamp of the last time the worker talked to the service.', + read_only=True + ) + + class Meta: + model = models.Worker + fields = ModelSerializer.Meta.fields + ('name', 'last_heartbeat')