@@ -42,8 +42,16 @@ class ScriptInstanceViewSet(NetBoxModelViewSet):
42
42
serializer_class = ScriptInstanceSerializer
43
43
filterset_class = ScriptInstanceFilterSet
44
44
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 )
46
51
def load (self , request ):
52
+ """
53
+ Load new scripts from `SCRIPT_ROOT`.
54
+ """
47
55
permission = get_permission_for_model (self .queryset .model , "add" )
48
56
49
57
if not request .user .has_perm (permission ):
@@ -73,8 +81,16 @@ def load(self, request):
73
81
74
82
return Response (ScriptInstanceSerializer (loaded_scripts , many = True , context = {"request" : request }).data )
75
83
84
+ @extend_schema (
85
+ methods = ["post" ],
86
+ responses = {200 : OpenApiTypes .OBJECT , 500 : OpenApiTypes .OBJECT },
87
+ request = None ,
88
+ )
76
89
@action (detail = False , methods = ["post" ])
77
90
def sync (self , request ):
91
+ """
92
+ Pull script changes from git.
93
+ """
78
94
permission = get_permission_for_model (self .queryset .model , "sync" )
79
95
80
96
if not request .user .has_perm (permission ):
@@ -91,10 +107,13 @@ def sync(self, request):
91
107
92
108
return Response ({"messages" : messages }, status = http_status .HTTP_200_OK )
93
109
110
+ @extend_schema (
111
+ methods = ["post" ],
112
+ responses = {200 : ScriptExecutionSerializer ()},
113
+ request = ScriptInputSerializer (),
114
+ )
94
115
@action (detail = True , methods = ["post" ])
95
116
def run (self , request , pk ):
96
- # TODO: Add schema definitions.
97
-
98
117
permission = get_permission_for_model (self .queryset .model , "run" )
99
118
if not request .user .has_perm (permission ):
100
119
raise PermissionDenied (f"Missing permission: { permission } " )
0 commit comments