@ -12,7 +12,7 @@ class OrganizationBaseSerializer(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 )
|
||||
|
||||
@ -44,7 +44,7 @@ class OrganizationModelSerializer(OrganizationBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse("v2:_api_v2_organization-detail", request=self._context['view'].request, kwargs={'pk': item.pk}),
|
||||
|
@ -12,13 +12,13 @@ class TeamUserBaseSerializer(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:
|
||||
|
||||
return reverse(
|
||||
"v2:_api_v2_organization_team_user-detail",
|
||||
@ -53,7 +53,7 @@ class TeamUserModelSerializer(TeamUserBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse(
|
||||
|
@ -14,13 +14,13 @@ class TeamBaseSerializer(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:
|
||||
|
||||
return reverse(
|
||||
"v2:_api_v2_organization_team-detail",
|
||||
@ -57,7 +57,7 @@ class TeamModelSerializer(TeamBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse(
|
||||
|
@ -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 access.serializers.teams import (
|
||||
Team,
|
||||
@ -15,6 +15,13 @@ from api.viewsets.common import ModelViewSet
|
||||
create=extend_schema(
|
||||
summary = 'Create a team within this organization',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'organization_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='Allready exists', response=TeamViewSerializer),
|
||||
201: OpenApiResponse(description='Created', response=TeamViewSerializer),
|
||||
@ -25,6 +32,18 @@ from api.viewsets.common import ModelViewSet
|
||||
destroy = extend_schema(
|
||||
summary = 'Delete a team from this organization',
|
||||
description = '',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'organization_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
204: OpenApiResponse(description=''),
|
||||
403: OpenApiResponse(description='User is missing delete permissions'),
|
||||
@ -33,6 +52,13 @@ from api.viewsets.common import ModelViewSet
|
||||
list = extend_schema(
|
||||
summary = 'Fetch all teams from this organization',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'organization_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=TeamViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing view permissions'),
|
||||
@ -41,6 +67,18 @@ from api.viewsets.common import ModelViewSet
|
||||
retrieve = extend_schema(
|
||||
summary = 'Fetch a single team from this organization',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'organization_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=TeamViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing view permissions'),
|
||||
@ -50,6 +88,18 @@ from api.viewsets.common import ModelViewSet
|
||||
partial_update = extend_schema(
|
||||
summary = 'Update a team within this organization',
|
||||
description = '',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'organization_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=TeamViewSerializer),
|
||||
# 201: OpenApiResponse(description='Created', response=OrganizationViewSerializer),
|
||||
|
@ -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 access.serializers.team_user import (
|
||||
TeamUsers,
|
||||
@ -14,6 +14,18 @@ from api.viewsets.common import ModelViewSet
|
||||
create=extend_schema(
|
||||
summary = 'Create a user within this team',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'organization_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'team_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
# 200: OpenApiResponse(description='Allready exists', response=TeamUserViewSerializer),
|
||||
201: OpenApiResponse(description='Created', response=TeamUserViewSerializer),
|
||||
@ -24,6 +36,23 @@ from api.viewsets.common import ModelViewSet
|
||||
destroy = extend_schema(
|
||||
summary = 'Delete a user from this team',
|
||||
description = '',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'organization_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'team_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
204: OpenApiResponse(description=''),
|
||||
403: OpenApiResponse(description='User is missing delete permissions'),
|
||||
@ -32,6 +61,18 @@ from api.viewsets.common import ModelViewSet
|
||||
list = extend_schema(
|
||||
summary = 'Fetch all users from this team',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'organization_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'team_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=TeamUserViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing view permissions'),
|
||||
@ -40,6 +81,23 @@ from api.viewsets.common import ModelViewSet
|
||||
retrieve = extend_schema(
|
||||
summary = 'Fetch a single user from this team',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'organization_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'team_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=TeamUserViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing view permissions'),
|
||||
@ -49,6 +107,23 @@ from api.viewsets.common import ModelViewSet
|
||||
partial_update = extend_schema(
|
||||
summary = 'Update a user within this team',
|
||||
description = '',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'organization_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'team_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=TeamUserViewSerializer),
|
||||
# 201: OpenApiResponse(description='Created', response=OrganizationViewSerializer),
|
||||
|
@ -5,6 +5,20 @@ from rest_framework.authentication import BaseAuthentication, get_authorization_
|
||||
|
||||
from api.models.tokens import AuthToken
|
||||
|
||||
# scheme.py
|
||||
from drf_spectacular.extensions import OpenApiAuthenticationExtension
|
||||
|
||||
class TokenScheme(OpenApiAuthenticationExtension):
|
||||
target_class = "api.auth.TokenAuthentication"
|
||||
name = "TokenAuthentication"
|
||||
|
||||
def get_security_definition(self, auto_schema):
|
||||
return {
|
||||
"type": "apiKey",
|
||||
"in": "header",
|
||||
"name": "Token Authorization",
|
||||
"description": "Token-based authentication with required prefix 'Token'",
|
||||
}
|
||||
|
||||
|
||||
class TokenAuthentication(BaseAuthentication):
|
||||
|
@ -5,6 +5,7 @@ from rest_framework.permissions import IsAuthenticated
|
||||
|
||||
from access.mixin import OrganizationMixin
|
||||
|
||||
from api.auth import TokenScheme
|
||||
from api.react_ui_metadata import ReactUIMetadata
|
||||
from api.views.mixin import OrganizationPermissionAPI
|
||||
|
||||
|
@ -10,7 +10,7 @@ class ContentTypeBaseSerializer(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 )
|
||||
|
||||
@ -43,7 +43,7 @@ class ContentTypeViewSerializer(ContentTypeBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse("v2:_api_v2_content_type-detail", request=self._context['view'].request, kwargs={'pk': item.pk}),
|
||||
|
@ -11,7 +11,7 @@ class PermissionBaseSerializer(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 PermissionViewSerializer(PermissionBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse("v2:_api_v2_permission-detail", request=self._context['view'].request, kwargs={'pk': item.pk}),
|
||||
|
@ -9,7 +9,7 @@ class UserBaseSerializer(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 )
|
||||
|
||||
|
@ -17,13 +17,13 @@ class KnowledgeBaseBaseSerializer(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:
|
||||
|
||||
return reverse(
|
||||
"v2:_api_v2_knowledge_base-detail",
|
||||
@ -59,7 +59,7 @@ class KnowledgeBaseModelSerializer(KnowledgeBaseBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse(
|
||||
|
@ -18,13 +18,13 @@ class KnowledgeBaseCategoryBaseSerializer(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:
|
||||
|
||||
return reverse(
|
||||
"v2:_api_v2_knowledge_base_category-detail",
|
||||
@ -60,7 +60,7 @@ class KnowledgeBaseCategoryModelSerializer(KnowledgeBaseCategoryBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse(
|
||||
|
@ -13,13 +13,13 @@ class ConfigGroupBaseSerializer(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:
|
||||
|
||||
request = None
|
||||
|
||||
@ -57,7 +57,7 @@ class ConfigGroupModelSerializer(ConfigGroupBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
request = None
|
||||
|
||||
|
@ -17,13 +17,13 @@ class ConfigGroupSoftwareBaseSerializer(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:
|
||||
|
||||
return reverse(
|
||||
"v2:_api_v2_config_group-detail",
|
||||
@ -60,7 +60,7 @@ class ConfigGroupSoftwareModelSerializer(ConfigGroupSoftwareBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse(
|
||||
|
@ -7,7 +7,7 @@ from core.fields.icon import Icon, IconField
|
||||
|
||||
|
||||
|
||||
class BadgeField(serializers.Field):
|
||||
class BadgeField(serializers.DictField):
|
||||
|
||||
source = ''
|
||||
|
||||
|
@ -5,7 +5,7 @@ from core.classes.icon import Icon
|
||||
|
||||
|
||||
|
||||
class IconField(serializers.Field):
|
||||
class IconField(serializers.DictField):
|
||||
|
||||
source = ''
|
||||
|
||||
|
@ -15,7 +15,7 @@ class TaskResultBaseSerializer(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 TaskResultModelSerializer(TaskResultBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse("v2:_api_v2_celery_log-detail",
|
||||
|
@ -11,13 +11,13 @@ class HistoryBaseSerializer(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_my_url')
|
||||
|
||||
def get_my_url(self, item):
|
||||
def get_my_url(self, item) -> str:
|
||||
|
||||
return reverse("v2:_api_v2_model_history-detail",
|
||||
request=self._context['view'].request,
|
||||
@ -55,7 +55,7 @@ class HistoryModelSerializer(HistoryBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse("v2:_api_v2_model_history-detail",
|
||||
|
@ -13,7 +13,7 @@ class ManufacturerBaseSerializer(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 )
|
||||
|
||||
@ -44,7 +44,7 @@ class ManufacturerModelSerializer(ManufacturerBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse("v2:_api_v2_manufacturer-detail",
|
||||
|
@ -21,7 +21,7 @@ class NoteBaseSerializer(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 )
|
||||
|
||||
@ -54,7 +54,7 @@ class NoteModelSerializer(NoteBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
|
||||
if 'group_id' in self._kwargs['context']['view'].kwargs:
|
||||
|
@ -23,14 +23,14 @@ class TicketBaseSerializer(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('my_url')
|
||||
|
||||
def my_url(self, item):
|
||||
def my_url(self, item) -> str:
|
||||
|
||||
context = self.context.copy()
|
||||
|
||||
@ -82,7 +82,7 @@ class TicketModelSerializer(TicketBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
context = self.context.copy()
|
||||
|
||||
|
@ -11,7 +11,7 @@ class TicketCategoryBaseSerializer(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 )
|
||||
|
||||
@ -44,7 +44,7 @@ class TicketCategoryModelSerializer(TicketCategoryBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse("API:_api_v2_ticket_category-detail", request=self._context['view'].request, kwargs={'pk': item.pk}),
|
||||
|
@ -19,7 +19,7 @@ class TicketCommentBaseSerializer(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 )
|
||||
|
||||
@ -61,7 +61,7 @@ class TicketCommentModelSerializer(
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
request = self.context.get('request')
|
||||
|
||||
|
@ -13,7 +13,7 @@ class TicketCommentCategoryBaseSerializer(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 )
|
||||
|
||||
@ -44,7 +44,7 @@ class TicketCommentCategoryModelSerializer(TicketCommentCategoryBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse("v2:_api_v2_ticket_comment_category-detail",
|
||||
|
@ -16,14 +16,14 @@ class TicketLinkedItemBaseSerializer(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('my_url')
|
||||
|
||||
def my_url(self, item):
|
||||
def my_url(self, item) -> str:
|
||||
|
||||
return item.get_url( request = self._context['view'].request )
|
||||
|
||||
@ -54,7 +54,7 @@ class TicketLinkedItemModelSerializer(TicketLinkedItemBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': item.get_url( request = self._context['view'].request )
|
||||
|
@ -15,7 +15,7 @@ class RelatedTicketBaseSerializer(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 )
|
||||
|
||||
@ -64,7 +64,7 @@ class RelatedTicketModelSerializer(RelatedTicketBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
request = None
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
from django.db.models import Q
|
||||
|
||||
from drf_spectacular.utils import extend_schema, extend_schema_view, OpenApiResponse
|
||||
from drf_spectacular.utils import extend_schema, extend_schema_view, OpenApiParameter, OpenApiResponse
|
||||
|
||||
from access.mixin import OrganizationMixin
|
||||
|
||||
@ -18,6 +18,13 @@ from core.serializers.ticket_related import (
|
||||
destroy = extend_schema(
|
||||
summary = 'Delete a related ticket',
|
||||
description = '',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'ticket_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
204: OpenApiResponse(description=''),
|
||||
403: OpenApiResponse(description='User is missing delete permissions'),
|
||||
@ -26,6 +33,13 @@ from core.serializers.ticket_related import (
|
||||
list = extend_schema(
|
||||
summary = 'Fetch all related tickets',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'ticket_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=RelatedTicketViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing view permissions'),
|
||||
@ -34,6 +48,18 @@ from core.serializers.ticket_related import (
|
||||
retrieve = extend_schema(
|
||||
summary = 'Fetch a related ticket',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'ticket_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=RelatedTicketViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing view permissions'),
|
||||
|
@ -1,7 +1,7 @@
|
||||
from django.db.models import Q
|
||||
from django.shortcuts import get_object_or_404
|
||||
|
||||
from drf_spectacular.utils import extend_schema, extend_schema_view, OpenApiResponse, PolymorphicProxySerializer
|
||||
from drf_spectacular.utils import extend_schema, extend_schema_view, OpenApiParameter, OpenApiResponse, PolymorphicProxySerializer
|
||||
|
||||
from rest_framework import generics, viewsets
|
||||
from rest_framework.response import Response
|
||||
@ -46,6 +46,13 @@ from settings.models.user_settings import UserSettings
|
||||
Responses from the API are the same for all users when the request returns
|
||||
status `HTTP/20x`.
|
||||
""",
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'ticket_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
request = PolymorphicProxySerializer(
|
||||
component_name = 'TicketComment',
|
||||
serializers=[
|
||||
@ -74,6 +81,18 @@ Responses from the API are the same for all users when the request returns
|
||||
destroy = extend_schema(
|
||||
summary = 'Delete a ticket comment',
|
||||
description = '',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'ticket_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
204: OpenApiResponse(description=''),
|
||||
403: OpenApiResponse(description='User is missing delete permissions'),
|
||||
@ -82,6 +101,13 @@ Responses from the API are the same for all users when the request returns
|
||||
list = extend_schema(
|
||||
summary = 'Fetch all ticket comments',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'ticket_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=TicketCommentViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing view permissions'),
|
||||
@ -90,6 +116,18 @@ Responses from the API are the same for all users when the request returns
|
||||
retrieve = extend_schema(
|
||||
summary = 'Fetch a single ticket comment',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'ticket_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=TicketCommentViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing view permissions'),
|
||||
@ -99,6 +137,18 @@ Responses from the API are the same for all users when the request returns
|
||||
partial_update = extend_schema(
|
||||
summary = 'Update a ticket comment',
|
||||
description = '',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'ticket_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=TicketCommentViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing change permissions'),
|
||||
|
@ -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 core.serializers.ticket_linked_item import (
|
||||
TicketLinkedItem,
|
||||
@ -15,6 +15,13 @@ from api.viewsets.common import ModelViewSet
|
||||
create=extend_schema(
|
||||
summary = 'Create a Ticket Linked Item',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'ticket_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
201: OpenApiResponse(description='Created', response=TicketLinkedItemViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing add permissions'),
|
||||
@ -23,6 +30,18 @@ from api.viewsets.common import ModelViewSet
|
||||
destroy = extend_schema(
|
||||
summary = 'Delete a Ticket Linked Item',
|
||||
description = '',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'ticket_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
204: OpenApiResponse(description=''),
|
||||
403: OpenApiResponse(description='User is missing delete permissions'),
|
||||
@ -31,6 +50,13 @@ from api.viewsets.common import ModelViewSet
|
||||
list = extend_schema(
|
||||
summary = 'Fetch all Ticket Linked Items',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'ticket_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=TicketLinkedItemViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing view permissions'),
|
||||
@ -39,6 +65,18 @@ from api.viewsets.common import ModelViewSet
|
||||
retrieve = extend_schema(
|
||||
summary = 'Fetch a single Ticket Linked Item',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'ticket_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=TicketLinkedItemViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing view permissions'),
|
||||
@ -48,6 +86,18 @@ from api.viewsets.common import ModelViewSet
|
||||
partial_update = extend_schema(
|
||||
summary = 'Update a Ticket Linked Item',
|
||||
description = '',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'ticket_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=TicketLinkedItemViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing change permissions'),
|
||||
|
@ -22,7 +22,7 @@ class DeviceBaseSerializer(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 DeviceModelSerializer(DeviceBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
request = None
|
||||
|
||||
@ -108,7 +108,7 @@ class DeviceModelSerializer(DeviceBaseSerializer):
|
||||
|
||||
rendered_config = serializers.JSONField(source='get_configuration', read_only=True)
|
||||
|
||||
def get_rendered_config(self, item):
|
||||
def get_rendered_config(self, item) -> dict:
|
||||
|
||||
return item.get_configuration(0)
|
||||
|
||||
|
@ -14,7 +14,7 @@ class DeviceModelBaseSerializer(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 DeviceModelModelSerializer(DeviceModelBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, obj):
|
||||
def get_url(self, obj) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse("v2:_api_v2_device_model-detail", request=self._context['view'].request, kwargs={'pk': obj.pk})
|
||||
|
@ -20,7 +20,7 @@ class DeviceSoftwareBaseSerializer(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 )
|
||||
|
||||
@ -54,7 +54,7 @@ class DeviceSoftwareModelSerializer(DeviceSoftwareBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, obj):
|
||||
def get_url(self, obj) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse(
|
||||
|
@ -11,7 +11,7 @@ class DeviceTypeBaseSerializer(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 )
|
||||
|
||||
@ -43,7 +43,7 @@ class DeviceTypeModelSerializer(DeviceTypeBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, obj):
|
||||
def get_url(self, obj) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse("v2:_api_v2_device_type-detail", request=self._context['view'].request, kwargs={'pk': obj.pk})
|
||||
|
@ -14,7 +14,7 @@ class OperatingSystemBaseSerializer(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 )
|
||||
|
||||
@ -48,7 +48,7 @@ class OperatingSystemModelSerializer(OperatingSystemBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
request = None
|
||||
|
||||
|
@ -15,14 +15,14 @@ class OperatingSystemVersionBaseSerializer(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('my_url')
|
||||
|
||||
def my_url(self, item):
|
||||
def my_url(self, item) -> str:
|
||||
|
||||
return reverse(
|
||||
"v2:_api_v2_operating_system_version-detail",
|
||||
@ -60,7 +60,7 @@ class OperatingSystemVersionModelSerializer(OperatingSystemVersionBaseSerializer
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse(
|
||||
|
@ -14,7 +14,7 @@ class SoftwareBaseSerializer(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 SoftwareModelSerializer(SoftwareBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
request = None
|
||||
|
||||
@ -88,7 +88,7 @@ class SoftwareModelSerializer(SoftwareBaseSerializer):
|
||||
}
|
||||
|
||||
|
||||
def get_rendered_config(self, item):
|
||||
def get_rendered_config(self, item) -> dict:
|
||||
|
||||
return item.get_configuration(0)
|
||||
|
||||
|
@ -13,7 +13,7 @@ class SoftwareCategoryBaseSerializer(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 )
|
||||
|
||||
@ -45,7 +45,7 @@ class SoftwareCategoryModelSerializer(SoftwareCategoryBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse("v2:_api_v2_software_category-detail", request=self._context['view'].request, kwargs={'pk': item.pk}),
|
||||
@ -54,7 +54,7 @@ class SoftwareCategoryModelSerializer(SoftwareCategoryBaseSerializer):
|
||||
}
|
||||
|
||||
|
||||
def get_rendered_config(self, item):
|
||||
def get_rendered_config(self, item) -> dict:
|
||||
|
||||
return item.get_configuration(0)
|
||||
|
||||
|
@ -12,14 +12,14 @@ class SoftwareVersionBaseSerializer(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('my_url')
|
||||
|
||||
def my_url(self, item):
|
||||
def my_url(self, item) -> str:
|
||||
|
||||
return reverse(
|
||||
"v2:_api_v2_software_version-detail",
|
||||
@ -54,7 +54,7 @@ class SoftwareVersionModelSerializer(SoftwareVersionBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse(
|
||||
|
@ -4,7 +4,7 @@ from rest_framework import filters
|
||||
from django.db.models import Q
|
||||
from django.shortcuts import get_object_or_404
|
||||
|
||||
from drf_spectacular.utils import extend_schema, extend_schema_view, OpenApiResponse
|
||||
from drf_spectacular.utils import extend_schema, extend_schema_view, OpenApiParameter, OpenApiResponse
|
||||
|
||||
from rest_framework.fields import empty
|
||||
from rest_framework import generics, viewsets
|
||||
@ -29,6 +29,13 @@ from itam.serializers.device_software import (
|
||||
create=extend_schema(
|
||||
summary = 'Add device software',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'device_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
201: OpenApiResponse(description='Device created', response=DeviceSoftwareModelSerializer),
|
||||
400: OpenApiResponse(description='Validation failed.'),
|
||||
@ -38,6 +45,18 @@ from itam.serializers.device_software import (
|
||||
destroy = extend_schema(
|
||||
summary = 'Delete a device software',
|
||||
description = '',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'device_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
204: OpenApiResponse(description=''),
|
||||
403: OpenApiResponse(description='User is missing delete permissions'),
|
||||
@ -46,6 +65,13 @@ from itam.serializers.device_software import (
|
||||
list = extend_schema(
|
||||
summary = 'Fetch all device software',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'device_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=DeviceSoftwareModelSerializer),
|
||||
403: OpenApiResponse(description='User is missing view permissions'),
|
||||
@ -54,6 +80,18 @@ from itam.serializers.device_software import (
|
||||
retrieve = extend_schema(
|
||||
summary = 'Fetch a single device software',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'device_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=DeviceSoftwareModelSerializer),
|
||||
403: OpenApiResponse(description='User is missing view permissions'),
|
||||
@ -63,6 +101,18 @@ from itam.serializers.device_software import (
|
||||
partial_update = extend_schema(
|
||||
summary = 'Update a device software',
|
||||
description = '',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'device_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=DeviceSoftwareModelSerializer),
|
||||
403: OpenApiResponse(description='User is missing change permissions'),
|
||||
|
@ -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 itam.serializers.operating_system_version import (
|
||||
OperatingSystemVersion,
|
||||
@ -13,6 +13,13 @@ from api.viewsets.common import ModelViewSet
|
||||
create=extend_schema(
|
||||
summary = 'Create an operating system version',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'operating_system_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='Software allready exists', response=OperatingSystemVersionViewSerializer),
|
||||
201: OpenApiResponse(description='Software created', response=OperatingSystemVersionViewSerializer),
|
||||
@ -23,6 +30,18 @@ from api.viewsets.common import ModelViewSet
|
||||
destroy = extend_schema(
|
||||
summary = 'Delete an operating system version',
|
||||
description = '',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'operating_system_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
204: OpenApiResponse(description=''),
|
||||
403: OpenApiResponse(description='User is missing delete permissions'),
|
||||
@ -31,6 +50,13 @@ from api.viewsets.common import ModelViewSet
|
||||
list = extend_schema(
|
||||
summary = 'Fetch all operating system versions',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'operating_system_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=OperatingSystemVersionViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing view permissions'),
|
||||
@ -39,6 +65,18 @@ from api.viewsets.common import ModelViewSet
|
||||
retrieve = extend_schema(
|
||||
summary = 'Fetch a single operating system version',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'operating_system_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=OperatingSystemVersionViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing view permissions'),
|
||||
@ -48,6 +86,18 @@ from api.viewsets.common import ModelViewSet
|
||||
partial_update = extend_schema(
|
||||
summary = 'Update an operating system version',
|
||||
description = '',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'operating_system_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=OperatingSystemVersionViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing change permissions'),
|
||||
|
@ -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 itam.serializers.software_version import (
|
||||
SoftwareVersion,
|
||||
@ -13,6 +13,13 @@ from api.viewsets.common import ModelViewSet
|
||||
create=extend_schema(
|
||||
summary = 'Create a software version',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'software_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
201: OpenApiResponse(description='Software created', response=SoftwareVersionViewSerializer),
|
||||
400: OpenApiResponse(description='Validation failed.'),
|
||||
@ -22,6 +29,18 @@ from api.viewsets.common import ModelViewSet
|
||||
destroy = extend_schema(
|
||||
summary = 'Delete a software version',
|
||||
description = '',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'software_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
204: OpenApiResponse(description=''),
|
||||
403: OpenApiResponse(description='User is missing delete permissions'),
|
||||
@ -30,6 +49,13 @@ from api.viewsets.common import ModelViewSet
|
||||
list = extend_schema(
|
||||
summary = 'Fetch all software versions',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'software_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=SoftwareVersionViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing view permissions'),
|
||||
@ -38,6 +64,18 @@ from api.viewsets.common import ModelViewSet
|
||||
retrieve = extend_schema(
|
||||
summary = 'Fetch a single software version',
|
||||
description='',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'software_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=SoftwareVersionViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing view permissions'),
|
||||
@ -47,6 +85,18 @@ from api.viewsets.common import ModelViewSet
|
||||
partial_update = extend_schema(
|
||||
summary = 'Update a software version',
|
||||
description = '',
|
||||
parameters = [
|
||||
OpenApiParameter(
|
||||
name = 'id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
OpenApiParameter(
|
||||
name = 'software_id',
|
||||
location = 'path',
|
||||
type = int
|
||||
),
|
||||
],
|
||||
responses = {
|
||||
200: OpenApiResponse(description='', response=SoftwareVersionViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing change permissions'),
|
||||
|
@ -14,7 +14,7 @@ class ClusterBaseSerializer(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 )
|
||||
|
||||
@ -45,7 +45,7 @@ class ClusterModelSerializer(ClusterBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
request = None
|
||||
|
||||
|
@ -13,7 +13,7 @@ class ClusterTypeBaseSerializer(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 )
|
||||
|
||||
@ -44,7 +44,7 @@ class ClusterTypeModelSerializer(ClusterTypeBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse("v2:_api_v2_cluster_type-detail", request=self._context['view'].request, kwargs={'pk': item.pk}),
|
||||
|
@ -13,7 +13,7 @@ class PortBaseSerializer(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 PortModelSerializer(PortBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse("v2:_api_v2_port-detail", request=self._context['view'].request, kwargs={'pk': item.pk}),
|
||||
|
@ -16,7 +16,7 @@ class ServiceBaseSerializer(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 ServiceModelSerializer(ServiceBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
request = None
|
||||
|
||||
|
@ -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}),
|
||||
|
@ -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(
|
||||
|
@ -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(
|
||||
|
@ -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(
|
||||
|
@ -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'),
|
||||
|
@ -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'),
|
||||
|
@ -12,7 +12,7 @@ class AppSettingsBaseSerializer(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 )
|
||||
|
||||
@ -44,7 +44,7 @@ class AppSettingsModelSerializer(AppSettingsBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse("v2:_api_v2_app_settings-detail", request=self._context['view'].request, kwargs={'pk': item.pk}),
|
||||
|
@ -12,7 +12,7 @@ class ExternalLinkBaseSerializer(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 )
|
||||
|
||||
@ -44,7 +44,7 @@ class ExternalLinkModelSerializer(ExternalLinkBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse("v2:_api_v2_external_link-detail", request=self._context['view'].request, kwargs={'pk': item.pk}),
|
||||
|
@ -12,7 +12,7 @@ class UserSettingsBaseSerializer(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 )
|
||||
|
||||
@ -44,7 +44,7 @@ class UserSettingsModelSerializer(UserSettingsBaseSerializer):
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
def get_url(self, item):
|
||||
def get_url(self, item) -> dict:
|
||||
|
||||
return {
|
||||
'_self': reverse("v2:_api_v2_user_settings-detail", request=self._context['view'].request, kwargs={'pk': item.pk}),
|
||||
|
Reference in New Issue
Block a user