system.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # coding=utf-8
  2. """
  3. @project: MaxKB
  4. @Author:虎虎
  5. @file: system.py
  6. @date:2025/6/4 16:01
  7. @desc:
  8. """
  9. import os
  10. from django.db import models
  11. from rest_framework import serializers
  12. from django.core.cache import cache
  13. from common.constants.cache_version import Cache_Version
  14. from common.database_model_manage.database_model_manage import DatabaseModelManage
  15. from common.utils.rsa_util import get_key_pair_by_sql
  16. from maxkb import settings
  17. from system_manage.models import SystemSetting
  18. class SettingType(models.CharField):
  19. # Community Edition
  20. CE = "CE", "社区"
  21. # Enterprise Edition
  22. PE = "PE", "专业版"
  23. # Professional Edition
  24. EE = "EE", '企业版'
  25. class SystemProfileResponseSerializer(serializers.Serializer):
  26. version = serializers.CharField(required=True, label="version")
  27. edition = serializers.CharField(required=True, label="edition")
  28. license_is_valid = serializers.BooleanField(required=True, label="License is valid")
  29. class SystemProfileSerializer(serializers.Serializer):
  30. @staticmethod
  31. def profile():
  32. version = os.environ.get('MAXKB_VERSION')
  33. license_is_valid = DatabaseModelManage.get_model('license_is_valid') or (lambda: False)
  34. return {'version': version, 'edition': settings.edition,
  35. 'license_is_valid': license_is_valid() if license_is_valid() is not None else False,
  36. 'rsa': get_key_pair_by_sql().get('key')}