class ReleaseSerializer(serializers.Serializer): version = serializers.RegexField(r'[a-zA-Z0-9\-_\.]', max_length=64, required=True) ref = serializers.CharField(max_length=64, required=False) url = serializers.URLField(required=False) owner = UserField(required=False) dateStarted = serializers.DateTimeField(required=False) dateReleased = serializers.DateTimeField(required=False)
class ReleaseWithVersionSerializer(ReleaseSerializer): version = serializers.CharField(max_length=VERSION_LENGTH, required=True) owner = UserField(required=False) def validate_version(self, attrs, source): value = attrs[source] if not Release.is_valid_version(value): raise serializers.ValidationError( 'Release with name %s is not allowed' % value) return attrs
class ReleaseWithVersionSerializer(ReleaseSerializer): version = serializers.CharField( max_length=MAX_VERSION_LENGTH, trim_whitespace=False, required=True ) owner = UserField(required=False) def validate_version(self, value): if not Release.is_valid_version(value): raise serializers.ValidationError("Release with name %s is not allowed" % value) return value
class ReleaseSerializer(serializers.Serializer): version = serializers.RegexField(r'^[a-zA-Z0-9\-_\. \(\)]+\Z', max_length=64, required=True) ref = serializers.CharField(max_length=64, required=False) url = serializers.URLField(required=False) owner = UserField(required=False) dateStarted = serializers.DateTimeField(required=False) dateReleased = serializers.DateTimeField(required=False) commits = ListField(child=CommitSerializer(), required=False)
class ReleaseSerializer(serializers.Serializer): version = serializers.CharField(max_length=64, required=True) ref = serializers.CharField(max_length=64, required=False) url = serializers.URLField(required=False) owner = UserField(required=False) dateReleased = serializers.DateTimeField(required=False) commits = ListField(child=CommitSerializer(), required=False) def validate_version(self, attrs, source): value = attrs[source] if any(c in value for c in BAD_RELEASE_CHARS) or value in ('.', '..'): raise serializers.ValidationError('Invalid value for release') return attrs
class ReleaseSerializer(serializers.Serializer): version = serializers.CharField(max_length=VERSION_LENGTH, required=True) ref = serializers.CharField(max_length=VERSION_LENGTH, required=False) url = serializers.URLField(required=False) owner = UserField(required=False) dateReleased = serializers.DateTimeField(required=False) commits = ListField(child=CommitSerializer(), required=False, allow_null=False) def validate_version(self, attrs, source): value = attrs[source] if not Release.is_valid_version(value): raise serializers.ValidationError('Invalid value for release') return attrs
class ReleaseSerializer(serializers.Serializer): version = serializers.RegexField(r'[a-zA-Z0-9\-_\.]', max_length=64, required=True) ref = serializers.CharField(max_length=64, required=False) url = serializers.URLField(required=False) owner = UserField(required=False) dateStarted = serializers.DateTimeField(required=False) dateReleased = serializers.DateTimeField(required=False) def validate_version(self, attrs, source): value = attrs[source] if not set(value).isdisjoint(set(string.whitespace)): raise serializers.ValidationError('Enter a valid value') return attrs
class ReleaseWithVersionSerializer(ReleaseSerializer): version = serializers.CharField( max_length=MAX_VERSION_LENGTH, trim_whitespace=False, required=True ) status = serializers.CharField(required=False, allow_null=False) owner = UserField(required=False) def validate_version(self, value): if not Release.is_valid_version(value): raise serializers.ValidationError("Release with name %s is not allowed" % value) return value def validate_status(self, value): try: return ReleaseStatus.from_string(value) except ValueError: raise serializers.ValidationError("Invalid status %s" % value)
class ReleaseWithVersionSerializer(ReleaseSerializer): version = serializers.CharField(max_length=MAX_VERSION_LENGTH, trim_whitespace=False, required=True) owner = UserField(required=False) def validate_version(self, value): if not Release.is_valid_version(value): raise serializers.ValidationError( "Release with name %s is not allowed" % value) return value def validate_owner(self, owner): if not OrganizationMember.objects.filter( organization=self.context["organization"], user=owner).exists(): raise serializers.ValidationError( "User does not have access to this organization") return owner