42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
|
|
# 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 maxkb import settings
|
|||
|
|
|
|||
|
|
|
|||
|
|
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 = cache.get(Cache_Version.SYSTEM.get_key(key='license_is_valid'),
|
|||
|
|
version=Cache_Version.SYSTEM.get_version())
|
|||
|
|
return {'version': version, 'edition': settings.edition,
|
|||
|
|
'license_is_valid': license_is_valid if license_is_valid is not None else False}
|