Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

feature.py 1.3KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. from flask_login import current_user
  2. from flask_restx import Resource, fields
  3. from libs.login import login_required
  4. from services.feature_service import FeatureService
  5. from . import api, console_ns
  6. from .wraps import account_initialization_required, cloud_utm_record, setup_required
  7. @console_ns.route("/features")
  8. class FeatureApi(Resource):
  9. @api.doc("get_tenant_features")
  10. @api.doc(description="Get feature configuration for current tenant")
  11. @api.response(
  12. 200,
  13. "Success",
  14. api.model("FeatureResponse", {"features": fields.Raw(description="Feature configuration object")}),
  15. )
  16. @setup_required
  17. @login_required
  18. @account_initialization_required
  19. @cloud_utm_record
  20. def get(self):
  21. """Get feature configuration for current tenant"""
  22. return FeatureService.get_features(current_user.current_tenant_id).model_dump()
  23. @console_ns.route("/system-features")
  24. class SystemFeatureApi(Resource):
  25. @api.doc("get_system_features")
  26. @api.doc(description="Get system-wide feature configuration")
  27. @api.response(
  28. 200,
  29. "Success",
  30. api.model("SystemFeatureResponse", {"features": fields.Raw(description="System feature configuration object")}),
  31. )
  32. def get(self):
  33. """Get system-wide feature configuration"""
  34. return FeatureService.get_system_features().model_dump()