Skip to content

Commit d787939

Browse files
committed
Fix schema for ScriptInstance actions. They're not perfect, but should be Good Enough™
1 parent 7789277 commit d787939

File tree

1 file changed

+22
-3
lines changed

1 file changed

+22
-3
lines changed

netbox_script_manager/api/views.py

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,16 @@ class ScriptInstanceViewSet(NetBoxModelViewSet):
4242
serializer_class = ScriptInstanceSerializer
4343
filterset_class = ScriptInstanceFilterSet
4444

45-
@action(detail=False, methods=["post"])
45+
@extend_schema(
46+
methods=["post"],
47+
responses={200: ScriptInstanceSerializer(many=True)},
48+
request=OpenApiTypes.OBJECT,
49+
)
50+
@action(detail=False, methods=["post"], filterset_class=None, pagination_class=None)
4651
def load(self, request):
52+
"""
53+
Load new scripts from `SCRIPT_ROOT`.
54+
"""
4755
permission = get_permission_for_model(self.queryset.model, "add")
4856

4957
if not request.user.has_perm(permission):
@@ -73,8 +81,16 @@ def load(self, request):
7381

7482
return Response(ScriptInstanceSerializer(loaded_scripts, many=True, context={"request": request}).data)
7583

84+
@extend_schema(
85+
methods=["post"],
86+
responses={200: OpenApiTypes.OBJECT, 500: OpenApiTypes.OBJECT},
87+
request=None,
88+
)
7689
@action(detail=False, methods=["post"])
7790
def sync(self, request):
91+
"""
92+
Pull script changes from git.
93+
"""
7894
permission = get_permission_for_model(self.queryset.model, "sync")
7995

8096
if not request.user.has_perm(permission):
@@ -91,10 +107,13 @@ def sync(self, request):
91107

92108
return Response({"messages": messages}, status=http_status.HTTP_200_OK)
93109

110+
@extend_schema(
111+
methods=["post"],
112+
responses={200: ScriptExecutionSerializer()},
113+
request=ScriptInputSerializer(),
114+
)
94115
@action(detail=True, methods=["post"])
95116
def run(self, request, pk):
96-
# TODO: Add schema definitions.
97-
98117
permission = get_permission_for_model(self.queryset.model, "run")
99118
if not request.user.has_perm(permission):
100119
raise PermissionDenied(f"Missing permission: {permission}")

0 commit comments

Comments
 (0)