Пример #1
0
class FlinkJobSerializer(BaseModelSerializer):
    # https://www.django-rest-framework.org/api-guide/serializers/
    # https://www.django-rest-framework.org/api-guide/relations/
    # code_paragraphs = s.PrimaryKeyRelatedField(many=True,label=_("引用代码段落"),queryset=FlinkJob.code_paragraphs.field.related_model.objects.all() )
    # author = s.RelatedField(label=_("作者"),queryset=FlinkJob.author.field.related_model.objects.all())
    author_alias = s.CharField(required=False, read_only=True)
    project_alias = s.CharField(required=False, read_only=True)
    status_alias = s.CharField(source='get_status_display',
                               required=False,
                               read_only=True)
    mode_alias = s.CharField(source='get_mode_display',
                             required=False,
                             read_only=True)
    task_code_type_alias = s.CharField(source='get_task_code_type_display',
                                       required=False,
                                       read_only=True)
    status_info = FlinkJobStatusInfoSerializer(label=('任务状态信息'),
                                               required=False,
                                               read_only=True)

    source_list = RelationModelIdField(source='get_source',
                                       required=False,
                                       read_only=True)
    slink_list = RelationModelIdField(source='get_slink',
                                      required=False,
                                      read_only=True)
    udf_list = RelationModelIdField(source='get_udf',
                                    required=False,
                                    read_only=True)

    start_datetime = s.DateTimeField(label=_('创建时间'),
                                     format=DATETIMEFORMAT,
                                     required=False,
                                     read_only=False,
                                     allow_null=True)
    stop_datetime = s.DateTimeField(label=_('更新时间'),
                                    format=DATETIMEFORMAT,
                                    required=False,
                                    read_only=True,
                                    allow_null=True)

    class Meta:
        model = FlinkJob
        fields = [
            'id', 'project', 'author_alias', 'project_alias', 'author', 'name',
            'alias', 'status', 'job_id', 'flink_job_id', 'flink_job_url',
            'mode', 'cron', 'start_datetime', 'stop_datetime', 'remark',
            'code_paragraphs', 'task_code_type', 'task_content',
            'flink_config', 'flink_table_config', 'status_info',
            'task_properties', 'last_execution_savepoint', 'create_datetime',
            'update_datetime', 'status_alias', 'mode_alias',
            'task_code_type_alias', 'execution_savepoint_path', 'source_list',
            'slink_list', 'udf_list'
        ] or '__all__'
        # exclude = ['session_key']
        read_only_fields = [
            'create_datetime', 'update_datetime', 'start_datetime',
            'stop_datetime', 'status_info', 'status', 'flink_job_id',
            'flink_job_url'
        ]
Пример #2
0
class RoleSerializer(BaseModelSerializer):
    # https://www.django-rest-framework.org/api-guide/serializers/
    # https://www.django-rest-framework.org/api-guide/relations/
    # resource = s.PrimaryKeyRelatedField(many=True,label=_("资源对象"),queryset=Role.resource.field.related_model.objects.all() )
    resource_map_ids = s.DictField(child=s.ListField(),
                                   required=False,
                                   help_text=_('角色资源列表'),
                                   read_only=True)
    type_alias = s.CharField(required=False, read_only=True)
    creater_alias = s.CharField(source='creater.alias',
                                required=False,
                                read_only=True)
    parent_alias = s.CharField(source='parent.alias',
                               required=False,
                               read_only=True)

    menu = ListStrField(label=_('菜单ID'), write_only=True, required=False)
    role = ListIntField(label=_('管理角色ID'), write_only=True, required=False)

    user = ListIntField(label=_('成员'), write_only=True, required=False)

    class Meta:
        model = Role
        fields = ['id', 'alias', 'name', 'parent', 'creater_alias', 'parent_alias', 'resource_map_ids', 'type',
                  'type_alias', 'remark',
                  'home_index', 'create_datetime', 'update_datetime', 'user'] \
                 + ['menu', 'role']
        # exclude = ['session_key']
        read_only_fields = ['create_datetime']
Пример #3
0
class FlinkStorageFileSerializer(DataSerializer):
    """任务保存点信息"""
    dir_path = s.CharField(label=_('路径'), required=True)
    storage_type = s.CharField(label=_('保存点类型'), required=True)
    owner = s.CharField(label=_('所有者'), required=True)
    size = s.IntegerField(label=_('目录大小'), required=False)
    modification_time = s.DateTimeField(label=_('目录修改时间'),
                                        format=DATETIMEFORMAT,
                                        required=True)
Пример #4
0
class ConnectorSerializer(BaseModelSerializer):
    # https://www.django-rest-framework.org/api-guide/serializers/
    # https://www.django-rest-framework.org/api-guide/relations/
    #project = s.RelatedField(label=_("所属项目"),queryset=Connector.project.field.related_model.objects.all())
    type_alias = s.CharField(source='get_type_display',required=False, read_only=True)
    project_alias = s.CharField(required=False, read_only=True)
    class Meta:
        model = Connector
        fields =  ['id', 'name', 'alias', 'project', 'project_alias','type', 'config', 'create_datetime', 'update_datetime', 'type_alias'] or '__all__'
        #exclude = ['session_key']
        read_only_fields = ['create_datetime', 'update_datetime']
Пример #5
0
class ParagraphProperties(ConfigOptionSerializer):
    refreshInterval = s.IntegerField(
        label=_('刷新时间'),
        default=5000,
        help_text=
        _('Used in `%flink.ssql` to specify frontend refresh interval for streaming data visualization.'
          ))

    parallelism = s.IntegerField(
        label=_('并行数'),
        default=2,
        help_text=_('specify the flink sql job parallelism'))

    maxParallelism = s.IntegerField(
        label=_('最大并行数'),
        default=32768,
        help_text=_('specify the flink sql job parallelism'))

    savepointDir = s.CharField(
        label=_('记录点保存目录'),
        allow_blank=True,
        default='',
        help_text=
        _('If you specify it, then when you cancel your flink job in Zeppelin, it would also do savepoint and store state in this directory. And when you resume your job, it would resume from this savepoint.'
          ))

    resumeFromSavepoint = s.BooleanField(
        label=_('是否从保存目录恢复'),
        default=False,
        help_text=_(
            'Resume flink job from savepoint if you specify savepointDir.'))

    runAsOne = s.BooleanField(
        label=_('一个任务执行所有SQL'),
        default=False,
        help_text=
        _('All the insert into sql will run in a single flink job if this is true.'
          ))

    resumeFromLatestCheckpoint = s.BooleanField(
        label=_('是否从上次 CheckPonit 还原'),
        default=False,
        help_text=_(
            'Resume flink job from latest checkpoint if you enable checkpoint.'
        ))

    executionSavepoint = s.CharField(label=_('任务还原点路径'),
                                     default='',
                                     help_text=_('execution.savepoint.path'))
    # 重新绑定 字段名
    executionSavepoint.bind('execution.savepoint.path', None)
Пример #6
0
class CrontabScheduleSerializer(BaseModelSerializer):
    # https://www.django-rest-framework.org/api-guide/serializers/
    # https://www.django-rest-framework.org/api-guide/relations/
    timezone_alias = s.CharField(source='get_timezone_display',
                                 required=False,
                                 read_only=True)
    alias = s.SerializerMethodField()

    timezone = s.CharField(required=False)

    def get_alias(self, obj):
        return str(obj)

    class Meta:
        model = CrontabSchedule
        fields = '__all__'
        #exclude = ['session_key']
        read_only_fields = ['create_datetime', 'update_datetime']
Пример #7
0
class RegisterAdminReqSerializer(ParamsSerializer):
    username = s.CharField(label=_('登录名称'), validators=[LetterValidator], required=True)
    employee_id = s.CharField(label=_('工号'), required=False, default='')
    email = s.EmailField(label=_('邮箱地址'), required=True)
    qq = s.CharField(label=_('QQ'), required=False, default='')
    phone = s.CharField(label=_('手机号'), required=False, default='')
    alias = s.CharField(label=_('姓名'), required=True)
    password1 = s.CharField(label=_('密码'), required=True, validators=[PasswordValidator])
    password2 = s.CharField(label=_('确认密码'), required=True, validators=[PasswordValidator])
    verify = s.CharField(label=_('验证码'), required=True)
    default_group = s.CharField(label=_('默认组'), required=False)

    class Meta:
        model = UserInfo
        fields = '__all__'
Пример #8
0
class UserSerializer(BaseModelSerializer):
    # https://www.django-rest-framework.org/api-guide/serializers/
    # https://www.django-rest-framework.org/api-guide/relations/
    last_time = s.DateTimeField(format=DATETIMEFORMAT,
                                required=False,
                                read_only=True)
    role_alias = s.ListSerializer(child=s.CharField(label=_('角色显示名')),
                                  read_only=True,
                                  required=False)
    status_alias = s.CharField(source='get_status_display',
                               required=False,
                               read_only=True)

    class Meta:
        model = User
        # fields =  '__all__'
        exclude = ['session_key']
        read_only_fields = ['last_ip', 'create_datetime', 'update_datetime']
        extra_kwargs = {'password': {'write_only': True}}
Пример #9
0
class LogDefineSerializer(BaseModelSerializer):
    # https://www.django-rest-framework.org/api-guide/serializers/
    # https://www.django-rest-framework.org/api-guide/relations/
    status_alias = s.CharField(source='get_status_display',required=False, read_only=True)

    class Meta:
        model = LogDefine
        fields =  ['id', 'name', 'key', 'config','remark', 'status', 'trigger', 'create_datetime', 'update_datetime', 'status_alias'] or '__all__'
        #exclude = ['session_key']
        read_only_fields = ['create_datetime', 'update_datetime']
Пример #10
0
class TaskResultSerializer(BaseModelSerializer):
    # https://www.django-rest-framework.org/api-guide/serializers/
    # https://www.django-rest-framework.org/api-guide/relations/
    status_alias = s.CharField(source='get_status_display',required=False, read_only=True)

    class Meta:
        model = TaskResult
        fields =  ['id', 'task_id', 'task_name', 'task_args', 'task_kwargs', 'status', 'worker', 'content_type', 'content_encoding', 'result', 'date_created', 'date_done', 'traceback', 'meta', 'status_alias'] or '__all__'
        #exclude = ['session_key']
        read_only_fields = ['create_datetime', 'update_datetime']
Пример #11
0
class SvnPathSerializer(BaseModelSerializer):
    # https://www.django-rest-framework.org/api-guide/serializers/
    # https://www.django-rest-framework.org/api-guide/relations/
    # parent = s.RelatedField(label=_("上级ID"),queryset= SvnPath.parent.field.related_model.objects.all())
    status_alias = s.CharField(source='get_status_display', required=False, read_only=True)
    other_permission_alias = s.CharField(source='get_other_permission_display', required=False, read_only=True)

    def validate_path(self, value):
        if value == '/' and SvnPath.objects.filter(project_name=self.instance.project_name, path='/').exclude(
                id=self.instance.id).exists():
            raise s.ValidationError(_(' 相同 [ %s ] 项目只能有一个 / 根') % self.instance.project_name)
        return value

    class Meta:
        model = SvnPath
        fields = ['id', 'alias', 'project_name', 'path', 'parent', 'status', 'remark', 'read_member', 'write_member',
                  'other_permission', 'create_datetime', 'update_datetime', 'status_alias',
                  'other_permission_alias'] or '__all__'
        # exclude = ['session_key']
        read_only_fields = ['create_datetime', 'update_datetime']
Пример #12
0
class CodeParagraphSerializer(BaseModelSerializer):
    # https://www.django-rest-framework.org/api-guide/serializers/
    # https://www.django-rest-framework.org/api-guide/relations/
    language_alias = s.CharField(source='get_language_display',
                                 required=False,
                                 read_only=True)
    tag_alias = s.CharField(source='get_tag_display',
                            required=False,
                            read_only=True)
    project_alias = s.CharField(required=False, read_only=True)

    class Meta:
        model = CodeParagraph
        fields = [
            'id', 'name', 'alias', 'project', 'project_alias', 'language',
            'tag', 'text', 'create_datetime', 'update_datetime',
            'language_alias', 'tag_alias', 'connector', 'group', 'is_share',
            'table_schema'
        ] or '__all__'
        # exclude = ['session_key']
        read_only_fields = [
            'create_datetime', 'update_datetime', 'table_schema'
        ]
Пример #13
0
class DictDefineSerializer(BaseModelSerializer):
    # https://www.django-rest-framework.org/api-guide/serializers/
    # https://www.django-rest-framework.org/api-guide/relations/
    type_alias = s.CharField(source='get_type_display',
                             required=False,
                             read_only=True)

    class Meta:
        model = DictDefine
        fields = [
            'id', 'name', 'key', 'group', 'json_dict', 'type', 'remark',
            'create_datetime', 'update_datetime', 'type_alias'
        ] or '__all__'
        # exclude = ['session_key']
        read_only_fields = ['create_datetime', 'update_datetime']
Пример #14
0
class AccessDomainSerializer(BaseModelSerializer):
    # https://www.django-rest-framework.org/api-guide/serializers/
    # https://www.django-rest-framework.org/api-guide/relations/
    status_alias = s.CharField(source='get_status_display',
                               required=False,
                               read_only=True)
    basedn = s.CharField(label=_('basedn'),
                         max_length=128,
                         required=False,
                         read_only=True)
    authdn = s.CharField(label=_('authdn'),
                         max_length=128,
                         required=False,
                         read_only=True)

    class Meta:
        model = AccessDomain
        fields = [
            'id', 'name', 'alias', 'bindpw', 'access_address', 'status',
            'role', 'create_datetime', 'update_datetime', 'status_alias',
            'basedn', 'authdn'
        ] or '__all__'
        # exclude = ['session_key']
        read_only_fields = ['create_datetime', 'update_datetime']
Пример #15
0
class QueryServerSerializer(BaseModelSerializer):
    # https://www.django-rest-framework.org/api-guide/serializers/
    # https://www.django-rest-framework.org/api-guide/relations/
    status_alias = s.CharField(source='get_status_display',
                               required=False,
                               read_only=True)

    class Meta:
        model = QueryServer
        fields = [
            'id', 'name', 'alias', 'host', 'user', 'password', 'port',
            'db_name', 'charset', 'status', 'remark', 'order',
            'create_datetime', 'update_datetime', 'status_alias'
        ] or '__all__'
        # exclude = ['session_key']
        read_only_fields = ['create_datetime', 'update_datetime']
Пример #16
0
class QuerySerializer(BaseModelSerializer):
    # https://www.django-rest-framework.org/api-guide/serializers/
    # https://www.django-rest-framework.org/api-guide/relations/
    order_type_alias = s.CharField(source='get_order_type_display',
                                   required=False,
                                   read_only=True)

    class Meta:
        model = Query
        fields = [
            'id', 'log_key', 'log_type', 'field_config', 'key', 'name',
            'select', 'where', 'group', 'order', 'order_type', 'sql',
            'other_sql', 'cache_validate', 'remark', 'template_name',
            'create_datetime', 'update_datetime', 'order_type_alias',
            'is_paging'
        ] or '__all__'
        # exclude = ['session_key']
        read_only_fields = ['create_datetime', 'update_datetime']
        extra_kwargs = {'password': {'write_only': True}}
Пример #17
0
 class ChangePasswordSerializer(ParamsSerializer):
     old_password = s.CharField(label=_('旧密码'))
     password = s.CharField(label=_('新密码'))
     password2 = s.CharField(label=_('确认密码'))
Пример #18
0
class FlinkTaskStatusInfoSerializer(DataSerializer):
    """Flink task 状态信息"""
    id = s.CharField(label=_('Task id'), required=False)
    status = s.ChoiceField(label=_('状态'),
                           choices=FlinkJob.Status.member_list())
    errorMessage = s.CharField(label=_('错误信息'), required=False)
Пример #19
0
 class ReqSVNProjectDirSer(ParamsSerializer):
     project_name = s.CharField(label=_('svn项目名'), max_length=100, required=True)
     path = s.CharField(label=_('路径'), max_length=100, required=False, default='/')
Пример #20
0
 class CeleryTaskQueryParams(ParamsSerializer):
     task_id = s.ListField(label='Celery任务ID列表',
                           child=s.CharField(),
                           help_text=_('celery 任务ID列表'),
                           required=True)
Пример #21
0
class FlinkJobStatusInfoSerializer(DataSerializer):
    """
    Flink Job 状态信息
    """
    status_info = FlinkJobStatusSerializer(label=_('任务状态信息'), required=False)
    engine_url = s.CharField(label=_('任务引擎地址'), required=False)
Пример #22
0
class LoginSerializer(ParamsSerializer):
    username = s.CharField(label=_('登录用户名'), help_text=_('登录用户名'))
    password = s.CharField(label=_('用户密码'), help_text=_('用户密码'))
    verify = s.CharField(label=_('验证码'), required=False, allow_blank=True)
Пример #23
0
 class AssociatedTaskResultQueryParmas(ParamsSerializer):
     a_id = ListIntField(label=_('任务关联ID'), required=False)
     a_type_name = s.CharField(label=_('任务类型名'), required=False)
     is_done = s.BooleanField(label=_('是否已经完成'),
                              required=False,
                              default=False)
Пример #24
0
 class LogDefineEditParmas(EditParams):
     log_key = s.CharField(required=False)
Пример #25
0
 class DictDefineEditParmas(EditParams):
     key = s.CharField(required=False)
Пример #26
0
class CodeParagraphsTreeItemSer(DataSerializer):
    title = s.CharField(label=_('标题'))
    key = s.CharField(label=_('值'))
    children = RecursiveField(label=_('子项目'))