Skip to content

Commit

Permalink
Add created_by and modified_by fields
Browse files Browse the repository at this point in the history
  • Loading branch information
hsong-rh committed Jan 9, 2025
1 parent a2af9d0 commit b1b56b3
Show file tree
Hide file tree
Showing 19 changed files with 504 additions and 11 deletions.
2 changes: 2 additions & 0 deletions src/aap_eda/api/serializers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@
from .user import (
AwxTokenCreateSerializer,
AwxTokenSerializer,
BasicUserSerializer,
CurrentUserUpdateSerializer,
UserCreateUpdateSerializer,
UserDetailSerializer,
Expand Down Expand Up @@ -108,6 +109,7 @@
"AwxTokenSerializer",
"AwxTokenCreateSerializer",
"CurrentUserUpdateSerializer",
"BasicUserSerializer",
"UserSerializer",
"UserListSerializer",
"UserCreateUpdateSerializer",
Expand Down
7 changes: 7 additions & 0 deletions src/aap_eda/api/serializers/activation.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
ProjectRefSerializer,
)
from aap_eda.api.serializers.rulebook import RulebookRefSerializer
from aap_eda.api.serializers.user import BasicUserSerializer
from aap_eda.api.vault import encrypt_string
from aap_eda.core import models, validators
from aap_eda.core.enums import DefaultCredentialType, ProcessParentType
Expand Down Expand Up @@ -367,6 +368,8 @@ def to_representation(self, activation):
"event_streams": event_streams,
"source_mappings": activation.source_mappings,
"skip_audit_events": activation.skip_audit_events,
"created_by": BasicUserSerializer(activation.created_by).data,
"modified_by": BasicUserSerializer(activation.modified_by).data,
}


Expand Down Expand Up @@ -657,6 +660,8 @@ def to_representation(self, activation):
if activation.ruleset_stats
else ""
)
created_by = BasicUserSerializer(activation.created_by).data
modified_by = BasicUserSerializer(activation.modified_by).data

return {
"id": activation.id,
Expand Down Expand Up @@ -691,6 +696,8 @@ def to_representation(self, activation):
"event_streams": event_streams,
"source_mappings": activation.source_mappings,
"skip_audit_events": activation.skip_audit_events,
"created_by": created_by,
"modified_by": modified_by,
}


Expand Down
29 changes: 28 additions & 1 deletion src/aap_eda/api/serializers/decision_environment.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

from aap_eda.api.serializers.eda_credential import EdaCredentialRefSerializer
from aap_eda.api.serializers.organization import OrganizationRefSerializer
from aap_eda.api.serializers.user import BasicUserSerializer
from aap_eda.core import models, validators


Expand All @@ -26,6 +27,8 @@ class Meta:
"id",
"created_at",
"modified_at",
"created_by",
"modified_by",
]
fields = [
"name",
Expand All @@ -36,6 +39,16 @@ class Meta:
*read_only_fields,
]

def to_representation(self, decision_environment):
result = super().to_representation(decision_environment)
result["created_by"] = BasicUserSerializer(
decision_environment.created_by
).data
result["modified_by"] = BasicUserSerializer(
decision_environment.modified_by
).data
return result


class DecisionEnvironmentCreateSerializer(serializers.ModelSerializer):
"""Serializer for creating the DecisionEnvironment."""
Expand Down Expand Up @@ -92,8 +105,16 @@ class Meta:
"eda_credential",
"created_at",
"modified_at",
"created_by",
"modified_by",
]
read_only_fields = [
"id",
"created_at",
"modified_at",
"created_by",
"modified_by",
]
read_only_fields = ["id", "created_at", "modified_at"]

def to_representation(self, decision_environment):
eda_credential = (
Expand All @@ -109,6 +130,12 @@ def to_representation(self, decision_environment):
else None
)
result = super().to_representation(decision_environment)
result["created_by"] = BasicUserSerializer(
decision_environment.created_by
).data
result["modified_by"] = BasicUserSerializer(
decision_environment.modified_by
).data
result |= {
"organization": organization,
"eda_credential": eda_credential,
Expand Down
7 changes: 7 additions & 0 deletions src/aap_eda/api/serializers/eda_credential.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

from aap_eda.api.serializers.credential_type import CredentialTypeRefSerializer
from aap_eda.api.serializers.organization import OrganizationRefSerializer
from aap_eda.api.serializers.user import BasicUserSerializer
from aap_eda.core import models, validators
from aap_eda.core.utils.credentials import inputs_to_display, validate_inputs
from aap_eda.core.utils.crypto.base import SecretValue
Expand Down Expand Up @@ -57,6 +58,8 @@ class Meta:
"id",
"created_at",
"modified_at",
"created_by",
"modified_by",
"managed",
"organization",
]
Expand Down Expand Up @@ -98,6 +101,10 @@ def to_representation(self, eda_credential):
"references": self.references,
"created_at": eda_credential.created_at,
"modified_at": eda_credential.modified_at,
"created_by": BasicUserSerializer(eda_credential.created_by).data,
"modified_by": BasicUserSerializer(
eda_credential.modified_by
).data,
}


Expand Down
9 changes: 9 additions & 0 deletions src/aap_eda/api/serializers/event_stream.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@

from aap_eda.api.serializers.eda_credential import EdaCredentialRefSerializer
from aap_eda.api.serializers.organization import OrganizationRefSerializer
from aap_eda.api.serializers.user import BasicUserSerializer
from aap_eda.core import enums, models, validators


Expand Down Expand Up @@ -97,6 +98,8 @@ class Meta:
"test_headers",
"events_received",
"last_event_received_at",
"created_by",
"modified_by",
]
fields = [
"name",
Expand Down Expand Up @@ -127,3 +130,9 @@ def get_organization(self, obj) -> Optional[OrganizationRefSerializer]:
if obj.organization
else None
)

def to_representation(self, instance):
result = super().to_representation(instance)
result["created_by"] = BasicUserSerializer(instance.created_by).data
result["modified_by"] = BasicUserSerializer(instance.modified_by).data
return result
21 changes: 21 additions & 0 deletions src/aap_eda/api/serializers/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

from aap_eda.api.serializers.eda_credential import EdaCredentialRefSerializer
from aap_eda.api.serializers.organization import OrganizationRefSerializer
from aap_eda.api.serializers.user import BasicUserSerializer
from aap_eda.core import models, validators
from aap_eda.core.utils.crypto.base import SecretValue

Expand Down Expand Up @@ -54,6 +55,8 @@ class Meta:
"import_error",
"created_at",
"modified_at",
"created_by",
"modified_by",
]
fields = [
"name",
Expand All @@ -68,6 +71,12 @@ class Meta:
*read_only_fields,
]

def to_representation(self, instance):
result = super().to_representation(instance)
result["created_by"] = BasicUserSerializer(instance.created_by).data
result["modified_by"] = BasicUserSerializer(instance.modified_by).data
return result


class ProjectCreateRequestSerializer(serializers.ModelSerializer):
organization_id = serializers.IntegerField(
Expand Down Expand Up @@ -191,6 +200,8 @@ class Meta:
"scm_refspec",
"verify_ssl",
"proxy",
"created_by",
"modified_by",
]

def validate(self, data):
Expand All @@ -209,6 +220,12 @@ def validate(self, data):
)
return data

def to_representation(self, instance):
result = super().to_representation(instance)
result["created_by"] = BasicUserSerializer(instance.created_by).data
result["modified_by"] = BasicUserSerializer(instance.modified_by).data
return result


class ProjectReadSerializer(serializers.ModelSerializer, ProxyFieldMixin):
"""Serializer for reading the Project with embedded objects."""
Expand All @@ -233,6 +250,8 @@ class Meta:
"import_error",
"created_at",
"modified_at",
"created_by",
"modified_by",
]
fields = [
"name",
Expand Down Expand Up @@ -284,6 +303,8 @@ def to_representation(self, project):
"import_error": project.import_error,
"created_at": project.created_at,
"modified_at": project.modified_at,
"created_by": BasicUserSerializer(project.created_by).data,
"modified_by": BasicUserSerializer(project.modified_by).data,
}


Expand Down
11 changes: 11 additions & 0 deletions src/aap_eda/api/serializers/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,17 @@ class Meta:
]


class BasicUserSerializer(serializers.ModelSerializer):
class Meta:
model = models.User
fields = [
"id",
"username",
"first_name",
"last_name",
]


class UserListSerializer(serializers.Serializer):
id = serializers.IntegerField(
required=True, help_text="The ID of the user"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
# Generated by Django 4.2.16 on 2025-01-07 20:48

import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):
dependencies = [
("core", "0054_DAB_help_text"),
]

operations = [
migrations.AddField(
model_name="activation",
name="created_by",
field=models.ForeignKey(
default=None,
editable=False,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="%s(class)s_created+",
to=settings.AUTH_USER_MODEL,
),
),
migrations.AddField(
model_name="activation",
name="modified_by",
field=models.ForeignKey(
default=None,
editable=False,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="%s(class)s_modified+",
to=settings.AUTH_USER_MODEL,
),
),
migrations.AddField(
model_name="decisionenvironment",
name="created_by",
field=models.ForeignKey(
default=None,
editable=False,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="%s(class)s_created+",
to=settings.AUTH_USER_MODEL,
),
),
migrations.AddField(
model_name="decisionenvironment",
name="modified_by",
field=models.ForeignKey(
default=None,
editable=False,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="%s(class)s_modified+",
to=settings.AUTH_USER_MODEL,
),
),
migrations.AddField(
model_name="edacredential",
name="created_by",
field=models.ForeignKey(
default=None,
editable=False,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="%s(class)s_created+",
to=settings.AUTH_USER_MODEL,
),
),
migrations.AddField(
model_name="edacredential",
name="modified_by",
field=models.ForeignKey(
default=None,
editable=False,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="%s(class)s_modified+",
to=settings.AUTH_USER_MODEL,
),
),
migrations.AddField(
model_name="eventstream",
name="created_by",
field=models.ForeignKey(
default=None,
editable=False,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="%s(class)s_created+",
to=settings.AUTH_USER_MODEL,
),
),
migrations.AddField(
model_name="eventstream",
name="modified_by",
field=models.ForeignKey(
default=None,
editable=False,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="%s(class)s_modified+",
to=settings.AUTH_USER_MODEL,
),
),
migrations.AddField(
model_name="project",
name="created_by",
field=models.ForeignKey(
default=None,
editable=False,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="%s(class)s_created+",
to=settings.AUTH_USER_MODEL,
),
),
migrations.AddField(
model_name="project",
name="modified_by",
field=models.ForeignKey(
default=None,
editable=False,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="%s(class)s_modified+",
to=settings.AUTH_USER_MODEL,
),
),
]
Loading

0 comments on commit b1b56b3

Please sign in to comment.