Beispiel #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'
        ]
Beispiel #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']
Beispiel #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)
Beispiel #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']
Beispiel #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)
Beispiel #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']
Beispiel #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__'
Beispiel #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}}
Beispiel #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']
Beispiel #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']
Beispiel #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']
Beispiel #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'
        ]
Beispiel #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']
Beispiel #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']
Beispiel #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']
Beispiel #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}}
Beispiel #17
0
 class ChangePasswordSerializer(ParamsSerializer):
     old_password = s.CharField(label=_('旧密码'))
     password = s.CharField(label=_('新密码'))
     password2 = s.CharField(label=_('确认密码'))
Beispiel #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)
Beispiel #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='/')
Beispiel #20
0
 class CeleryTaskQueryParams(ParamsSerializer):
     task_id = s.ListField(label='Celery任务ID列表',
                           child=s.CharField(),
                           help_text=_('celery 任务ID列表'),
                           required=True)
Beispiel #21
0
class FlinkJobStatusInfoSerializer(DataSerializer):
    """
    Flink Job 状态信息
    """
    status_info = FlinkJobStatusSerializer(label=_('任务状态信息'), required=False)
    engine_url = s.CharField(label=_('任务引擎地址'), required=False)
Beispiel #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)
Beispiel #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)
Beispiel #24
0
 class LogDefineEditParmas(EditParams):
     log_key = s.CharField(required=False)
Beispiel #25
0
 class DictDefineEditParmas(EditParams):
     key = s.CharField(required=False)
Beispiel #26
0
class CodeParagraphsTreeItemSer(DataSerializer):
    title = s.CharField(label=_('标题'))
    key = s.CharField(label=_('值'))
    children = RecursiveField(label=_('子项目'))