agent_providers.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. from flask_login import current_user # type: ignore
  2. from flask_restful import Resource # type: ignore
  3. from controllers.console import api
  4. from controllers.console.wraps import account_initialization_required, setup_required
  5. from core.model_runtime.utils.encoders import jsonable_encoder
  6. from libs.login import login_required
  7. from services.agent_service import AgentService
  8. class AgentProviderListApi(Resource):
  9. @setup_required
  10. @login_required
  11. @account_initialization_required
  12. def get(self):
  13. user = current_user
  14. user_id = user.id
  15. tenant_id = user.current_tenant_id
  16. return jsonable_encoder(AgentService.list_agent_providers(user_id, tenant_id))
  17. class AgentProviderApi(Resource):
  18. @setup_required
  19. @login_required
  20. @account_initialization_required
  21. def get(self, provider_name: str):
  22. user = current_user
  23. user_id = user.id
  24. tenant_id = user.current_tenant_id
  25. return jsonable_encoder(AgentService.get_agent_provider(user_id, tenant_id, provider_name))
  26. api.add_resource(AgentProviderListApi, "/workspaces/current/agent-providers")
  27. api.add_resource(AgentProviderApi, "/workspaces/current/agent-provider/<path:provider_name>")