feat: 支持批量发送文件

This commit is contained in:
wangruidong
2023-12-05 19:09:17 +08:00
committed by Bryan
parent e3ac26e377
commit d0b0c87d3c
11 changed files with 186 additions and 91 deletions

View File

@@ -21,9 +21,12 @@ class JobSerializer(ResourceLabelsMixin, BulkOrgResourceModelSerializer, PeriodT
def to_internal_value(self, data):
instant = data.get('instant', False)
job_type = data.get('type', '')
_uid = str(uuid.uuid4()).split('-')[-1]
if instant:
_uid = str(uuid.uuid4()).split('-')[-1]
data['name'] = f'job-{_uid}'
if job_type == 'upload_file':
data['name'] = f'upload_file-{_uid}'
return super().to_internal_value(data)
def get_request_user(self):
@@ -44,10 +47,17 @@ class JobSerializer(ResourceLabelsMixin, BulkOrgResourceModelSerializer, PeriodT
"use_parameter_define", "parameters_define",
"timeout", "chdir", "comment", "summary",
"is_periodic", "interval", "crontab", "nodes",
"run_after_save",
"run_after_save"
]
class FileSerializer(serializers.Serializer):
files = serializers.FileField(allow_empty_file=True)
class Meta:
ref_name = "JobFileSerializer"
class JobExecutionSerializer(BulkOrgResourceModelSerializer):
creator = ReadableHiddenField(default=serializers.CurrentUserDefault())
job_type = serializers.ReadOnlyField(label=_("Job type"))