| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- # coding=utf-8
- """
- @project: MaxKB
- @Author:虎虎
- @file: system.py
- @date:2025/6/4 16:01
- @desc:
- """
- import os
- from django.db import models
- from rest_framework import serializers
- from django.core.cache import cache
- from common.constants.cache_version import Cache_Version
- from common.database_model_manage.database_model_manage import DatabaseModelManage
- from common.utils.rsa_util import get_key_pair_by_sql
- from django.conf import settings as django_settings
- from maxkb import settings
- from maxkb.const import CONFIG
- from system_manage.models import SystemSetting
- class SettingType(models.CharField):
- # Community Edition
- CE = "CE", "社区"
- # Enterprise Edition
- PE = "PE", "专业版"
- # Professional Edition
- EE = "EE", '企业版'
- class SystemProfileResponseSerializer(serializers.Serializer):
- version = serializers.CharField(required=True, label="version")
- edition = serializers.CharField(required=True, label="edition")
- license_is_valid = serializers.BooleanField(required=True, label="License is valid")
- class SystemProfileSerializer(serializers.Serializer):
- @staticmethod
- def profile():
- version = os.environ.get('MAXKB_VERSION')
- license_is_valid = DatabaseModelManage.get_model('license_is_valid') or (lambda: False)
- return {'version': version, 'edition': settings.edition,
- 'license_is_valid': license_is_valid() if license_is_valid() is not None else False,
- 'rsa': get_key_pair_by_sql().get('key'),
- 'app_title': CONFIG.get('APP_TITLE') or '智能体平台',
- 'app_version': CONFIG.get('APP_VERSION') or 'v1.0'}
|