mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-10-22 08:19:04 +00:00
* reactor: 重构applications模块 & 删除applications、perms中已不再使用的模块 * reactor: 1. 针对application.attrs字段的view-serializer映射逻辑,采用DynamicMapping的方案重写; * reactor: 2. 删除applications和perms模块中已不再使用的database-app/k8s-app/remote-app模块; * reactor: 添加迁移文件(删除perms/databaseperrmission/remoteapppermission/k8sapppermission) * reactor: 修改细节 Co-authored-by: Bai <bugatti_it@163.com>
36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
# coding: utf-8
|
|
#
|
|
|
|
from rest_framework import serializers
|
|
from django.utils.translation import ugettext_lazy as _
|
|
from orgs.mixins.serializers import BulkOrgResourceModelSerializer
|
|
from common.drf.fields import DynamicMappingField
|
|
from .attrs import get_attrs_field_dynamic_mapping_rules
|
|
|
|
from .. import models
|
|
|
|
__all__ = [
|
|
'ApplicationSerializer',
|
|
]
|
|
|
|
|
|
class ApplicationSerializer(BulkOrgResourceModelSerializer):
|
|
category_display = serializers.ReadOnlyField(source='get_category_display', label=_('Category'))
|
|
type_display = serializers.ReadOnlyField(source='get_type_display', label=_('Type'))
|
|
attrs = DynamicMappingField(mapping_rules=get_attrs_field_dynamic_mapping_rules())
|
|
|
|
class Meta:
|
|
model = models.Application
|
|
fields = [
|
|
'id', 'name', 'category', 'category_display', 'type', 'type_display', 'attrs',
|
|
'domain', 'created_by', 'date_created', 'date_updated', 'comment'
|
|
]
|
|
read_only_fields = [
|
|
'created_by', 'date_created', 'date_updated', 'get_type_display',
|
|
]
|
|
|
|
def validate_attrs(self, attrs):
|
|
_attrs = self.instance.attrs if self.instance else {}
|
|
_attrs.update(attrs)
|
|
return _attrs
|