jumpserver/apps/ops/serializers/job.py

36 lines
1.3 KiB
Python
Raw Normal View History

2022-11-11 11:20:17 +00:00
from rest_framework import serializers
from common.drf.fields import ReadableHiddenField
2022-11-18 10:46:48 +00:00
from ops.mixin import PeriodTaskSerializerMixin
2022-11-11 11:20:17 +00:00
from ops.models import Job, JobExecution
2022-11-23 16:50:37 +00:00
from orgs.mixins.serializers import BulkOrgResourceModelSerializer
2022-11-11 11:20:17 +00:00
_all_ = []
2022-11-23 16:50:37 +00:00
class JobSerializer(BulkOrgResourceModelSerializer, PeriodTaskSerializerMixin):
2022-11-11 11:20:17 +00:00
owner = ReadableHiddenField(default=serializers.CurrentUserDefault())
class Meta:
model = Job
2022-11-18 10:46:48 +00:00
read_only_fields = ["id", "date_last_run", "date_created", "date_updated", "average_time_cost"]
fields = read_only_fields + [
"name", "instant", "type", "module", "args", "playbook", "assets", "runas_policy", "runas", "owner",
"use_parameter_define",
2022-11-17 12:10:13 +00:00
"parameters_define",
"timeout",
"chdir",
"comment",
2022-11-18 10:46:48 +00:00
"summary",
"is_periodic", "interval", "crontab"
2022-11-11 11:20:17 +00:00
]
class JobExecutionSerializer(serializers.ModelSerializer):
class Meta:
model = JobExecution
read_only_fields = ["id", "task_id", "timedelta", "time_cost", 'is_finished', 'date_start', 'date_created',
'is_success', 'task_id', 'short_id', 'job_type']
2022-11-11 11:20:17 +00:00
fields = read_only_fields + [
2022-11-17 12:10:13 +00:00
"job", "parameters"
2022-11-11 11:20:17 +00:00
]