| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- from flask_login import current_user
- from flask_restx import Resource, fields
-
- from libs.login import login_required
- from services.feature_service import FeatureService
-
- from . import api, console_ns
- from .wraps import account_initialization_required, cloud_utm_record, setup_required
-
-
- @console_ns.route("/features")
- class FeatureApi(Resource):
- @api.doc("get_tenant_features")
- @api.doc(description="Get feature configuration for current tenant")
- @api.response(
- 200,
- "Success",
- api.model("FeatureResponse", {"features": fields.Raw(description="Feature configuration object")}),
- )
- @setup_required
- @login_required
- @account_initialization_required
- @cloud_utm_record
- def get(self):
- """Get feature configuration for current tenant"""
- return FeatureService.get_features(current_user.current_tenant_id).model_dump()
-
-
- @console_ns.route("/system-features")
- class SystemFeatureApi(Resource):
- @api.doc("get_system_features")
- @api.doc(description="Get system-wide feature configuration")
- @api.response(
- 200,
- "Success",
- api.model("SystemFeatureResponse", {"features": fields.Raw(description="System feature configuration object")}),
- )
- def get(self):
- """Get system-wide feature configuration"""
- return FeatureService.get_system_features().model_dump()
|