application_stats.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. # coding=utf-8
  2. """
  3. @project: MaxKB
  4. @Author:虎虎
  5. @file: application_stats.py
  6. @date:2025/6/9 20:45
  7. @desc:
  8. """
  9. from drf_spectacular.types import OpenApiTypes
  10. from drf_spectacular.utils import OpenApiParameter
  11. from application.serializers.application_stats import ApplicationStatsSerializer
  12. from common.mixins.api_mixin import APIMixin
  13. from common.result import ResultSerializer
  14. class ApplicationStatsResult(ResultSerializer):
  15. def get_data(self):
  16. return ApplicationStatsSerializer(many=True)
  17. class ApplicationStatsAPI(APIMixin):
  18. @staticmethod
  19. def get_parameters():
  20. return [OpenApiParameter(
  21. name="workspace_id",
  22. description="工作空间id",
  23. type=OpenApiTypes.STR,
  24. location='path',
  25. required=True,
  26. ),
  27. OpenApiParameter(
  28. name="application_id",
  29. description="application ID",
  30. type=OpenApiTypes.STR,
  31. location='path',
  32. required=True,
  33. ),
  34. OpenApiParameter(
  35. name="start_time",
  36. description="start Time",
  37. type=OpenApiTypes.STR,
  38. required=True,
  39. ),
  40. OpenApiParameter(
  41. name="end_time",
  42. description="end Time",
  43. type=OpenApiTypes.STR,
  44. required=True,
  45. ),
  46. ]
  47. @staticmethod
  48. def get_response():
  49. return ApplicationStatsResult