Exemplo n.º 1
0
class ResourceFileSLZ(serializers.Serializer):
    name = serializers.CharField()
    content = serializers.CharField(allow_blank=True)
    id = serializers.CharField(required=False)
    action = serializers.ChoiceField(choices=FileAction.get_choices())

    def validate_id(self, id):
        try:
            assert int(id) > 0, f"file id {id} must be positive integer"
        except Exception as e:
            raise ValidationError(f"file id {id} error: {e}")
        return id
Exemplo n.º 2
0
    def validate_files(self, files):
        for f in files:
            if f['action'] not in FileAction.choice_values():
                raise ValidationError(
                    f"file {f['name']} action {f['action']} is invalid")
            if f['action'] != FileAction.CREATE.value and 'id' not in f:
                raise ValidationError(f"file {f['name']} miss file id")

        name_list = [f['name'] for f in files]
        if len(name_list) != len(set(name_list)):
            raise ValidationError('file name is duplicated')

        return files
Exemplo n.º 3
0
    def validate_files(self, files):
        for f in files:
            if f["action"] not in FileAction.choice_values():
                raise ValidationError(f"file {f['name']} action {f['action']} is invalid")
            if "id" not in f and f["action"] != FileAction.CREATE.value:
                raise ValidationError(f"file {f['name']} miss file id")
            if not f["content"] and f["action"] != FileAction.DELETE.value:
                raise ValidationError(f"file {f['name']} content cannot be blank")

        name_list = [f["name"] for f in files]
        if len(name_list) != len(set(name_list)):
            raise ValidationError("file name is duplicated")

        return files
Exemplo n.º 4
0
class ResourceFileSLZ(serializers.Serializer):
    name = serializers.CharField()
    content = serializers.CharField()
    id = serializers.CharField(required=False)
    action = serializers.ChoiceField(choices=FileAction.get_choices())