application_access_token.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536
  1. # coding=utf-8
  2. """
  3. @project: MaxKB
  4. @Author:虎虎
  5. @file: application_access_token.py
  6. @date:2025/5/27 9:55
  7. @desc:
  8. """
  9. from django.contrib.postgres.fields import ArrayField
  10. from django.db import models
  11. from application.models.application import Application
  12. from common.mixins.app_model_mixin import AppModelMixin
  13. class ApplicationAccessToken(AppModelMixin):
  14. """
  15. 应用认证token
  16. """
  17. application = models.OneToOneField(Application, primary_key=True, on_delete=models.CASCADE, verbose_name="应用id")
  18. access_token = models.CharField(max_length=128, verbose_name="用户公开访问 认证token", unique=True)
  19. is_active = models.BooleanField(default=True, verbose_name="是否开启公开访问")
  20. access_num = models.IntegerField(default=100, verbose_name="访问次数")
  21. white_active = models.BooleanField(default=False, verbose_name="是否开启白名单")
  22. white_list = ArrayField(verbose_name="白名单列表",
  23. base_field=models.CharField(max_length=128, blank=True)
  24. , default=list)
  25. show_source = models.BooleanField(default=False, verbose_name="是否显示知识来源")
  26. show_exec = models.BooleanField(default=False, verbose_name="是否显示执行详情")
  27. authentication = models.BooleanField(default=False, verbose_name="是否需要认证")
  28. authentication_value = models.JSONField(verbose_name="认证的值", default=dict)
  29. language = models.CharField(max_length=10, verbose_name="语言", default=None, null=True)
  30. class Meta:
  31. db_table = "application_access_token"