Skip to content

Commit 3dc32f3

Browse files
committed
Merge remote-tracking branch 'origin/main' into feature/url-status-type
2 parents a511ef1 + 3b8ff19 commit 3dc32f3

File tree

5 files changed

+10
-14
lines changed

5 files changed

+10
-14
lines changed

app/core/api/serializers.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -508,15 +508,16 @@ class ProjectStackElementXrefSerializer(serializers.ModelSerializer):
508508

509509
class Meta:
510510
model = ProjectStackElementXref
511-
fields = [
511+
fields = (
512512
"uuid",
513513
"project",
514514
"project_name",
515515
"stack_element",
516516
"stack_element_name",
517517
"created_at",
518518
"updated_at",
519-
]
519+
)
520+
read_only_fields = ("uuid", "created_at", "updated_at")
520521

521522

522523
class UrlStatusTypeSerializer(serializers.ModelSerializer):

app/core/api/urls.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@
7171
router.register(
7272
r"project-stack-elements",
7373
ProjectStackElementXrefViewSet,
74-
basename="project-stack-elements",
74+
basename="project-stack-element",
7575
)
7676
router.register(r"url-status-types", UrlStatusTypeViewSet, basename="url-status-type")
7777
urlpatterns = [

app/core/api/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -528,9 +528,9 @@ class ProjectUrlViewSet(viewsets.ModelViewSet):
528528

529529

530530
class ProjectStackElementXrefViewSet(viewsets.ModelViewSet):
531+
permission_classes = [IsAuthenticated]
531532
queryset = ProjectStackElementXref.objects.all()
532533
serializer_class = ProjectStackElementXrefSerializer
533-
permission_classes = [IsAuthenticatedOrReadOnly]
534534

535535

536536
@extend_schema_view(

app/core/models.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -392,8 +392,6 @@ class StackElementType(AbstractBaseModel):
392392
name = models.CharField(max_length=255)
393393
description = models.TextField(blank=True)
394394

395-
# PK of this model is the ForeignKey for stack_element
396-
397395
def __str__(self):
398396
return f"{self.name}"
399397

@@ -410,9 +408,6 @@ class StackElement(AbstractBaseModel):
410408
active = models.BooleanField(null=True)
411409
element_type = models.ForeignKey(StackElementType, on_delete=models.CASCADE)
412410

413-
# PK of this model is the ForeignKey for project_stack_element_xref
414-
# we might be able to use the builtin django many-to-many relation that manages the xref table automatically
415-
416411
class Meta:
417412
verbose_name_plural = "Stack Elements"
418413

app/core/tests/test_api.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
SOC_MAJOR_URL = reverse("soc-major-list")
4444
SOC_MINORS_URL = reverse("soc-minor-list")
4545
URL_TYPE_URL = reverse("url-type-list")
46-
PROJECT_STACK_ELEMENTS_URL = reverse("project-stack-elements-list")
46+
PROJECT_STACK_ELEMENTS_URL = reverse("project-stack-element-list")
4747
URL_STATUS_TYPES_URL = reverse("url-status-type-list")
4848

4949
CREATE_USER_PAYLOAD = {
@@ -644,7 +644,7 @@ def test_list_project_stack_elements(auth_client, project_stack_element_xref):
644644

645645
def test_retrieve_project_stack_element(auth_client, project_stack_element_xref):
646646
url = reverse(
647-
"project-stack-elements-detail", args=[project_stack_element_xref.uuid]
647+
"project-stack-element-detail", args=[project_stack_element_xref.uuid]
648648
)
649649
res = auth_client.get(url)
650650

@@ -659,7 +659,7 @@ def test_retrieve_project_stack_element(auth_client, project_stack_element_xref)
659659

660660
def test_delete_project_stack_element(auth_client, project_stack_element_xref):
661661
url = reverse(
662-
"project-stack-elements-detail", args=[project_stack_element_xref.uuid]
662+
"project-stack-element-detail", args=[project_stack_element_xref.uuid]
663663
)
664664
res = auth_client.delete(url)
665665

@@ -716,11 +716,11 @@ def test_project_stack_element_workflow(auth_client):
716716

717717
# Link Project + StackElement
718718
link_payload = {"project": project_uuid, "stack_element": stack_element_uuid}
719-
res_link = auth_client.post(reverse("project-stack-elements-list"), link_payload)
719+
res_link = auth_client.post(reverse("project-stack-element-list"), link_payload)
720720
assert res_link.status_code == status.HTTP_201_CREATED
721721

722722
# Verify link shows up
723-
res_list = auth_client.get(reverse("project-stack-elements-list"))
723+
res_list = auth_client.get(reverse("project-stack-element-list"))
724724
assert res_list.status_code == status.HTTP_200_OK
725725
assert len(res_list.data) == 1
726726
assert res_list.data[0]["project"] == project_uuid

0 commit comments

Comments
 (0)