feat(devops): Add fields to ALL git_repository serializers
ref: #693 #515
This commit is contained in:
@ -6,7 +6,7 @@ from access.serializers.organization import OrganizationBaseSerializer
|
||||
|
||||
from api.serializers import common
|
||||
|
||||
from devops.models.git_repository.base import GitRepository
|
||||
from devops.models.git_repository.base import GitRepository, GitGroup
|
||||
from devops.serializers.git_group import BaseSerializer as GitGroupBaseSerializer
|
||||
|
||||
|
||||
@ -53,9 +53,23 @@ class ModelSerializer(
|
||||
|
||||
model = GitRepository
|
||||
|
||||
fields = '__all__'
|
||||
fields = [
|
||||
'id',
|
||||
'display_name',
|
||||
'organization',
|
||||
'provider',
|
||||
'provider_id',
|
||||
'git_group',
|
||||
'path',
|
||||
'name',
|
||||
'description',
|
||||
'model_notes',
|
||||
'created',
|
||||
'modified',
|
||||
'_urls',
|
||||
]
|
||||
|
||||
read_only_fields = [
|
||||
default_read_only_fields = [
|
||||
'id',
|
||||
'display_name',
|
||||
'created',
|
||||
@ -63,6 +77,29 @@ class ModelSerializer(
|
||||
'_urls',
|
||||
]
|
||||
|
||||
read_only_fields = [
|
||||
'id',
|
||||
'organization',
|
||||
'display_name',
|
||||
'organization',
|
||||
'provider',
|
||||
'provider_id',
|
||||
'git_group',
|
||||
'path',
|
||||
'name',
|
||||
'description',
|
||||
'model_notes',
|
||||
'created',
|
||||
'modified',
|
||||
'_urls',
|
||||
]
|
||||
|
||||
|
||||
def is_valid(self, raise_exception = False):
|
||||
|
||||
is_valid = super().is_valid( raise_exception = raise_exception )
|
||||
|
||||
return is_valid
|
||||
|
||||
|
||||
|
||||
|
@ -8,6 +8,7 @@ from devops.models.git_group import GitGroup
|
||||
from devops.models.git_repository.github import GitHubRepository
|
||||
from devops.serializers.git_repository.base import (
|
||||
BaseSerializer,
|
||||
ModelSerializer as GitModelSerializer,
|
||||
ViewSerializer as GitViewSerializer
|
||||
)
|
||||
|
||||
@ -36,13 +37,10 @@ class GroupField(serializers.PrimaryKeyRelatedField):
|
||||
|
||||
@extend_schema_serializer(component_name = 'GitHubModelSerializer')
|
||||
class ModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
BaseSerializer
|
||||
GitModelSerializer
|
||||
):
|
||||
"""GitHub Repository"""
|
||||
|
||||
_urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
git_group = GroupField( required = True, write_only = True )
|
||||
|
||||
class Meta:
|
||||
@ -51,16 +49,34 @@ class ModelSerializer(
|
||||
|
||||
# note_basename = 'devops:_api_v2_feature_flag_note'
|
||||
|
||||
fields = '__all__'
|
||||
|
||||
read_only_fields = [
|
||||
'id',
|
||||
'display_name',
|
||||
fields = GitModelSerializer.Meta.fields + [
|
||||
'wiki',
|
||||
'issues',
|
||||
'sponsorships',
|
||||
'preserve_this_repository',
|
||||
'discussions',
|
||||
'projects',
|
||||
'created',
|
||||
'modified',
|
||||
'_urls',
|
||||
]
|
||||
|
||||
read_only_fields = GitModelSerializer.Meta.default_read_only_fields + [
|
||||
'provider',
|
||||
]
|
||||
|
||||
|
||||
def is_valid(self, raise_exception = False):
|
||||
|
||||
is_valid = super().is_valid( raise_exception = raise_exception )
|
||||
|
||||
self.validated_data['provider'] = getattr(
|
||||
GitGroup.GitProvider,
|
||||
str(self.context['view'].kwargs['git_provider']).upper()
|
||||
)
|
||||
|
||||
return is_valid
|
||||
|
||||
|
||||
|
||||
@extend_schema_serializer(component_name = 'GitHubViewSerializer')
|
||||
|
@ -12,6 +12,7 @@ from devops.models.git_group import GitGroup
|
||||
from devops.models.git_repository.gitlab import GitLabRepository
|
||||
from devops.serializers.git_repository.base import (
|
||||
BaseSerializer,
|
||||
ModelSerializer as GitModelSerializer,
|
||||
ViewSerializer as GitViewSerializer
|
||||
)
|
||||
|
||||
@ -36,43 +37,13 @@ class GroupField(serializers.PrimaryKeyRelatedField):
|
||||
|
||||
return qs
|
||||
|
||||
# @extend_schema_serializer(component_name = 'GitLabModelSerializer')
|
||||
# class BaseSerializer(serializers.ModelSerializer):
|
||||
|
||||
# display_name = serializers.SerializerMethodField('get_display_name')
|
||||
|
||||
# def get_display_name(self, item) -> str:
|
||||
|
||||
# return str( item )
|
||||
|
||||
# url = serializers.HyperlinkedIdentityField(
|
||||
# view_name="v2:devops:_api_v2_feature_flag-detail", format="html"
|
||||
# )
|
||||
|
||||
|
||||
# class Meta:
|
||||
|
||||
# model = GitLabRepository
|
||||
|
||||
# fields = [
|
||||
# 'id',
|
||||
# 'display_name',
|
||||
# 'url',
|
||||
# ]
|
||||
|
||||
# read_only_fields = [
|
||||
# 'id',
|
||||
# 'display_name',
|
||||
# 'url',
|
||||
# ]
|
||||
|
||||
@extend_schema_serializer(component_name = 'GitLabModelSerializer')
|
||||
class ModelSerializer(
|
||||
common.CommonModelSerializer,
|
||||
BaseSerializer
|
||||
GitModelSerializer,
|
||||
):
|
||||
"""GitLab Repository"""
|
||||
# _urls = serializers.SerializerMethodField('get_url')
|
||||
|
||||
git_group = GroupField( required = True, write_only = True )
|
||||
|
||||
@ -83,28 +54,28 @@ class ModelSerializer(
|
||||
|
||||
# note_basename = 'devops:_api_v2_feature_flag_note'
|
||||
|
||||
fields = '__all__'
|
||||
fields = GitModelSerializer.Meta.fields + [
|
||||
'visibility',
|
||||
'created',
|
||||
'modified',
|
||||
'_urls',
|
||||
]
|
||||
|
||||
# fields = [
|
||||
# 'id',
|
||||
# 'organization',
|
||||
# # 'display_name',
|
||||
# 'name',
|
||||
# # 'description',
|
||||
# # 'enabled',
|
||||
# # 'model_notes',
|
||||
# 'created',
|
||||
# 'modified',
|
||||
# '_urls',
|
||||
# ]
|
||||
read_only_fields = GitModelSerializer.Meta.default_read_only_fields + [
|
||||
'provider',
|
||||
]
|
||||
|
||||
# read_only_fields = [
|
||||
# 'id',
|
||||
# 'display_name',
|
||||
# 'created',
|
||||
# 'modified',
|
||||
# '_urls',
|
||||
# ]
|
||||
|
||||
def is_valid(self, raise_exception = False):
|
||||
|
||||
is_valid = super().is_valid( raise_exception = raise_exception )
|
||||
|
||||
self.validated_data['provider'] = getattr(
|
||||
GitGroup.GitProvider,
|
||||
str(self.context['_view'].kwargs['git_provider']).upper()
|
||||
)
|
||||
|
||||
return is_valid
|
||||
|
||||
|
||||
|
||||
@ -115,5 +86,4 @@ class ViewSerializer(
|
||||
):
|
||||
"""GitLab View Repository"""
|
||||
|
||||
# git_group = GroupField( read_only = True )
|
||||
pass
|
||||
|
Reference in New Issue
Block a user