chore(api): Correct DRF Swagger Docs errors

ref: #248 #361 #383
This commit is contained in:
2024-11-08 21:03:38 +09:30
parent e196033821
commit cd0bcf6731
54 changed files with 622 additions and 105 deletions

View File

@ -20,7 +20,7 @@ class ProjectBaseSerializer(serializers.ModelSerializer):
display_name = serializers.SerializerMethodField('get_display_name')
def get_display_name(self, item):
def get_display_name(self, item) -> str:
return str( item )
@ -52,7 +52,7 @@ class ProjectModelSerializer(ProjectBaseSerializer):
_urls = serializers.SerializerMethodField('get_url')
def get_url(self, item):
def get_url(self, item) -> dict:
return {
'_self': reverse("v2:_api_v2_project-detail", request=self._context['view'].request, kwargs={'pk': item.pk}),

View File

@ -13,13 +13,13 @@ class ProjectMilestoneBaseSerializer(serializers.ModelSerializer):
display_name = serializers.SerializerMethodField('get_display_name')
def get_display_name(self, item):
def get_display_name(self, item) -> str:
return str( item )
url = serializers.SerializerMethodField('get_url')
def get_url(self, item):
def get_url(self, item) -> str:
context = self.context.copy()
@ -56,7 +56,7 @@ class ProjectMilestoneModelSerializer(ProjectMilestoneBaseSerializer):
_urls = serializers.SerializerMethodField('get_url')
def get_url(self, item):
def get_url(self, item) -> dict:
return {
'_self': reverse(

View File

@ -14,7 +14,7 @@ class ProjectStateBaseSerializer(serializers.ModelSerializer):
display_name = serializers.SerializerMethodField('get_display_name')
def get_display_name(self, item):
def get_display_name(self, item) -> str:
return str( item )
@ -47,7 +47,7 @@ class ProjectStateModelSerializer(ProjectStateBaseSerializer):
_urls = serializers.SerializerMethodField('get_url')
def get_url(self, item):
def get_url(self, item) -> dict:
return {
'_self': reverse(

View File

@ -14,7 +14,7 @@ class ProjectTypeBaseSerializer(serializers.ModelSerializer):
display_name = serializers.SerializerMethodField('get_display_name')
def get_display_name(self, item):
def get_display_name(self, item) -> str:
return str( item )
@ -46,7 +46,7 @@ class ProjectTypeModelSerializer(ProjectTypeBaseSerializer):
_urls = serializers.SerializerMethodField('get_url')
def get_url(self, item):
def get_url(self, item) -> dict:
return {
'_self': reverse(

View File

@ -1,4 +1,4 @@
from drf_spectacular.utils import extend_schema, extend_schema_view, OpenApiResponse
from drf_spectacular.utils import extend_schema, extend_schema_view, OpenApiParameter, OpenApiResponse
from api.viewsets.common import ModelViewSet
@ -14,6 +14,13 @@ from project_management.serializers.project_milestone import (
create=extend_schema(
summary = 'Create a cluster',
description='',
parameters = [
OpenApiParameter(
name = 'project_id',
location = 'path',
type = int
),
],
responses = {
201: OpenApiResponse(description='Device created', response=ProjectMilestoneViewSerializer),
400: OpenApiResponse(description='Validation failed.'),
@ -23,6 +30,18 @@ from project_management.serializers.project_milestone import (
destroy = extend_schema(
summary = 'Delete a cluster',
description = '',
parameters = [
OpenApiParameter(
name = 'id',
location = 'path',
type = int
),
OpenApiParameter(
name = 'project_id',
location = 'path',
type = int
),
],
responses = {
204: OpenApiResponse(description=''),
403: OpenApiResponse(description='User is missing delete permissions'),
@ -31,6 +50,13 @@ from project_management.serializers.project_milestone import (
list = extend_schema(
summary = 'Fetch all clusters',
description='',
parameters = [
OpenApiParameter(
name = 'project_id',
location = 'path',
type = int
),
],
responses = {
200: OpenApiResponse(description='', response=ProjectMilestoneViewSerializer),
403: OpenApiResponse(description='User is missing view permissions'),
@ -39,6 +65,18 @@ from project_management.serializers.project_milestone import (
retrieve = extend_schema(
summary = 'Fetch a single cluster',
description='',
parameters = [
OpenApiParameter(
name = 'id',
location = 'path',
type = int
),
OpenApiParameter(
name = 'project_id',
location = 'path',
type = int
),
],
responses = {
200: OpenApiResponse(description='', response=ProjectMilestoneViewSerializer),
403: OpenApiResponse(description='User is missing view permissions'),
@ -48,6 +86,18 @@ from project_management.serializers.project_milestone import (
partial_update = extend_schema(
summary = 'Update a cluster',
description = '',
parameters = [
OpenApiParameter(
name = 'id',
location = 'path',
type = int
),
OpenApiParameter(
name = 'project_id',
location = 'path',
type = int
),
],
responses = {
200: OpenApiResponse(description='', response=ProjectMilestoneViewSerializer),
403: OpenApiResponse(description='User is missing change permissions'),

View File

@ -1,6 +1,7 @@
from drf_spectacular.utils import (
extend_schema,
extend_schema_view,
OpenApiParameter,
OpenApiResponse,
PolymorphicProxySerializer,
)
@ -21,6 +22,13 @@ from core.viewsets.ticket import TicketViewSet
create=extend_schema(
summary = 'Create a Project Task',
description='',
parameters = [
OpenApiParameter(
name = 'project_id',
location = 'path',
type = int
),
],
request = PolymorphicProxySerializer(
component_name = 'ProjectTask',
serializers=[
@ -40,6 +48,18 @@ from core.viewsets.ticket import TicketViewSet
destroy = extend_schema(
summary = 'Delete a Project Task',
description = '',
parameters = [
OpenApiParameter(
name = 'id',
location = 'path',
type = int
),
OpenApiParameter(
name = 'project_id',
location = 'path',
type = int
),
],
responses = {
204: OpenApiResponse(description=''),
403: OpenApiResponse(description='User is missing delete permissions'),
@ -48,6 +68,13 @@ from core.viewsets.ticket import TicketViewSet
list = extend_schema(
summary = 'Fetch all Project Task',
description='',
parameters = [
OpenApiParameter(
name = 'project_id',
location = 'path',
type = int
),
],
responses = {
200: OpenApiResponse(description='', response=ProjectTaskTicketViewSerializer),
403: OpenApiResponse(description='User is missing view permissions'),
@ -56,6 +83,18 @@ from core.viewsets.ticket import TicketViewSet
retrieve = extend_schema(
summary = 'Fetch a Project Task',
description='',
parameters = [
OpenApiParameter(
name = 'id',
location = 'path',
type = int
),
OpenApiParameter(
name = 'project_id',
location = 'path',
type = int
),
],
responses = {
200: OpenApiResponse(description='', response=ProjectTaskTicketViewSerializer),
403: OpenApiResponse(description='User is missing view permissions'),
@ -65,6 +104,18 @@ from core.viewsets.ticket import TicketViewSet
partial_update = extend_schema(
summary = 'Update a Project Task',
description = '',
parameters = [
OpenApiParameter(
name = 'id',
location = 'path',
type = int
),
OpenApiParameter(
name = 'project_id',
location = 'path',
type = int
),
],
responses = {
200: OpenApiResponse(description='', response=ProjectTaskTicketViewSerializer),
403: OpenApiResponse(description='User is missing change permissions'),