Skip to content

Commit d79f8a4

Browse files
committed
Fix openapi types for created_by and modified_by
1 parent 1d12765 commit d79f8a4

File tree

6 files changed

+74
-16
lines changed

6 files changed

+74
-16
lines changed

src/aap_eda/api/serializers/activation.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
)
3333
from aap_eda.api.serializers.eda_credential import EdaCredentialSerializer
3434
from aap_eda.api.serializers.event_stream import EventStreamOutSerializer
35+
from aap_eda.api.serializers.fields.basic_user import BasicUserFieldSerializer
3536
from aap_eda.api.serializers.fields.yaml import YAMLSerializerField
3637
from aap_eda.api.serializers.organization import OrganizationRefSerializer
3738
from aap_eda.api.serializers.project import (
@@ -290,6 +291,8 @@ class ActivationListSerializer(serializers.ModelSerializer):
290291
allow_null=True,
291292
child=EventStreamOutSerializer(),
292293
)
294+
created_by = BasicUserFieldSerializer()
295+
modified_by = BasicUserFieldSerializer()
293296

294297
class Meta:
295298
model = models.Activation
@@ -312,6 +315,8 @@ class Meta:
312315
"rules_fired_count",
313316
"created_at",
314317
"modified_at",
318+
"created_by",
319+
"modified_by",
315320
"status_message",
316321
"awx_token_id",
317322
"log_level",
@@ -565,6 +570,8 @@ class ActivationReadSerializer(serializers.ModelSerializer):
565570
allow_null=True,
566571
child=EventStreamOutSerializer(),
567572
)
573+
created_by = BasicUserFieldSerializer()
574+
modified_by = BasicUserFieldSerializer()
568575

569576
class Meta:
570577
model = models.Activation
@@ -590,6 +597,8 @@ class Meta:
590597
"rules_fired_count",
591598
"created_at",
592599
"modified_at",
600+
"created_by",
601+
"modified_by",
593602
"restarted_at",
594603
"status_message",
595604
"awx_token_id",
@@ -660,8 +669,6 @@ def to_representation(self, activation):
660669
if activation.ruleset_stats
661670
else ""
662671
)
663-
created_by = BasicUserSerializer(activation.created_by).data
664-
modified_by = BasicUserSerializer(activation.modified_by).data
665672

666673
return {
667674
"id": activation.id,
@@ -696,8 +703,8 @@ def to_representation(self, activation):
696703
"event_streams": event_streams,
697704
"source_mappings": activation.source_mappings,
698705
"skip_audit_events": activation.skip_audit_events,
699-
"created_by": created_by,
700-
"modified_by": modified_by,
706+
"created_by": BasicUserSerializer(activation.created_by).data,
707+
"modified_by": BasicUserSerializer(activation.modified_by).data,
701708
}
702709

703710

src/aap_eda/api/serializers/decision_environment.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,27 +15,31 @@
1515
from rest_framework import serializers
1616

1717
from aap_eda.api.serializers.eda_credential import EdaCredentialRefSerializer
18+
from aap_eda.api.serializers.fields.basic_user import BasicUserFieldSerializer
1819
from aap_eda.api.serializers.organization import OrganizationRefSerializer
1920
from aap_eda.api.serializers.user import BasicUserSerializer
2021
from aap_eda.core import models, validators
2122

2223

2324
class DecisionEnvironmentSerializer(serializers.ModelSerializer):
25+
created_by = BasicUserFieldSerializer()
26+
modified_by = BasicUserFieldSerializer()
27+
2428
class Meta:
2529
model = models.DecisionEnvironment
2630
read_only_fields = [
2731
"id",
2832
"created_at",
2933
"modified_at",
30-
"created_by",
31-
"modified_by",
3234
]
3335
fields = [
3436
"name",
3537
"description",
3638
"image_url",
3739
"organization_id",
3840
"eda_credential_id",
41+
"created_by",
42+
"modified_by",
3943
*read_only_fields,
4044
]
4145

@@ -93,6 +97,8 @@ class DecisionEnvironmentReadSerializer(serializers.ModelSerializer):
9397
required=False, allow_null=True
9498
)
9599
organization = OrganizationRefSerializer()
100+
created_by = BasicUserFieldSerializer()
101+
modified_by = BasicUserFieldSerializer()
96102

97103
class Meta:
98104
model = models.DecisionEnvironment
@@ -112,8 +118,6 @@ class Meta:
112118
"id",
113119
"created_at",
114120
"modified_at",
115-
"created_by",
116-
"modified_by",
117121
]
118122

119123
def to_representation(self, decision_environment):

src/aap_eda/api/serializers/eda_credential.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
from rest_framework import serializers
1818

1919
from aap_eda.api.serializers.credential_type import CredentialTypeRefSerializer
20+
from aap_eda.api.serializers.fields.basic_user import BasicUserFieldSerializer
2021
from aap_eda.api.serializers.organization import OrganizationRefSerializer
2122
from aap_eda.api.serializers.user import BasicUserSerializer
2223
from aap_eda.core import models, validators
@@ -51,15 +52,15 @@ class EdaCredentialSerializer(serializers.ModelSerializer):
5152
)
5253
organization = OrganizationRefSerializer()
5354
references = EdaCredentialReferenceField(required=False, allow_null=True)
55+
created_by = BasicUserFieldSerializer()
56+
modified_by = BasicUserFieldSerializer()
5457

5558
class Meta:
5659
model = models.EdaCredential
5760
read_only_fields = [
5861
"id",
5962
"created_at",
6063
"modified_at",
61-
"created_by",
62-
"modified_by",
6364
"managed",
6465
"organization",
6566
]
@@ -69,6 +70,8 @@ class Meta:
6970
"inputs",
7071
"credential_type",
7172
"references",
73+
"created_by",
74+
"modified_by",
7275
*read_only_fields,
7376
]
7477

src/aap_eda/api/serializers/event_stream.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
from rest_framework import serializers
2121

2222
from aap_eda.api.serializers.eda_credential import EdaCredentialRefSerializer
23+
from aap_eda.api.serializers.fields.basic_user import BasicUserFieldSerializer
2324
from aap_eda.api.serializers.organization import OrganizationRefSerializer
2425
from aap_eda.api.serializers.user import BasicUserSerializer
2526
from aap_eda.core import enums, models, validators
@@ -83,6 +84,8 @@ class EventStreamOutSerializer(serializers.ModelSerializer):
8384
required=True, allow_null=False
8485
)
8586
url = serializers.SerializerMethodField()
87+
created_by = BasicUserFieldSerializer()
88+
modified_by = BasicUserFieldSerializer()
8689

8790
class Meta:
8891
model = models.EventStream
@@ -98,8 +101,6 @@ class Meta:
98101
"test_headers",
99102
"events_received",
100103
"last_event_received_at",
101-
"created_by",
102-
"modified_by",
103104
]
104105
fields = [
105106
"name",
@@ -108,6 +109,8 @@ class Meta:
108109
"organization",
109110
"eda_credential",
110111
"event_stream_type",
112+
"created_by",
113+
"modified_by",
111114
*read_only_fields,
112115
]
113116

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Copyright 2025 Red Hat, Inc.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
#
15+
from drf_spectacular.utils import extend_schema_field
16+
from rest_framework import serializers
17+
18+
19+
@extend_schema_field(
20+
{
21+
"type": "object",
22+
"properties": {
23+
"id": {"type": "integer"},
24+
"username": {"type": "string"},
25+
"first_name": {"type": "string"},
26+
"last_name": {"type": "string"},
27+
},
28+
}
29+
)
30+
class BasicUserFieldSerializer(serializers.JSONField):
31+
"""Serializer for Basic User Field."""
32+
33+
def to_representation(self, value) -> dict:
34+
return value

src/aap_eda/api/serializers/project.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
from rest_framework.validators import UniqueValidator
1919

2020
from aap_eda.api.serializers.eda_credential import EdaCredentialRefSerializer
21+
from aap_eda.api.serializers.fields.basic_user import BasicUserFieldSerializer
2122
from aap_eda.api.serializers.organization import OrganizationRefSerializer
2223
from aap_eda.api.serializers.user import BasicUserSerializer
2324
from aap_eda.core import models, validators
@@ -43,6 +44,8 @@ class ProjectSerializer(serializers.ModelSerializer, ProxyFieldMixin):
4344
)
4445

4546
proxy = serializers.SerializerMethodField()
47+
created_by = BasicUserFieldSerializer()
48+
modified_by = BasicUserFieldSerializer()
4649

4750
class Meta:
4851
model = models.Project
@@ -55,8 +58,6 @@ class Meta:
5558
"import_error",
5659
"created_at",
5760
"modified_at",
58-
"created_by",
59-
"modified_by",
6061
]
6162
fields = [
6263
"name",
@@ -68,6 +69,8 @@ class Meta:
6869
"scm_refspec",
6970
"verify_ssl",
7071
"proxy",
72+
"created_by",
73+
"modified_by",
7174
*read_only_fields,
7275
]
7376

@@ -187,6 +190,8 @@ class ProjectUpdateRequestSerializer(serializers.ModelSerializer):
187190
allow_null=True,
188191
help_text="Proxy server for http or https connection",
189192
)
193+
created_by = BasicUserFieldSerializer()
194+
modified_by = BasicUserFieldSerializer()
190195

191196
class Meta:
192197
model = models.Project
@@ -238,6 +243,8 @@ class ProjectReadSerializer(serializers.ModelSerializer, ProxyFieldMixin):
238243
required=False, allow_null=True
239244
)
240245
proxy = serializers.SerializerMethodField()
246+
created_by = BasicUserFieldSerializer()
247+
modified_by = BasicUserFieldSerializer()
241248

242249
class Meta:
243250
model = models.Project
@@ -250,8 +257,6 @@ class Meta:
250257
"import_error",
251258
"created_at",
252259
"modified_at",
253-
"created_by",
254-
"modified_by",
255260
]
256261
fields = [
257262
"name",
@@ -263,6 +268,8 @@ class Meta:
263268
"scm_branch",
264269
"scm_refspec",
265270
"proxy",
271+
"created_by",
272+
"modified_by",
266273
*read_only_fields,
267274
]
268275

0 commit comments

Comments
 (0)