You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930
  1. from flask_restful import Resource, marshal_with
  2. from werkzeug.exceptions import Forbidden
  3. from controllers.common import fields
  4. from controllers.service_api import api
  5. from controllers.service_api.wraps import validate_app_token
  6. from extensions.ext_database import db
  7. from models.account import TenantStatus
  8. from models.model import App, Site
  9. class AppSiteApi(Resource):
  10. """Resource for app sites."""
  11. @validate_app_token
  12. @marshal_with(fields.site_fields)
  13. def get(self, app_model: App):
  14. """Retrieve app site info."""
  15. site = db.session.query(Site).filter(Site.app_id == app_model.id).first()
  16. if not site:
  17. raise Forbidden()
  18. if app_model.tenant.status == TenantStatus.ARCHIVE:
  19. raise Forbidden()
  20. return site
  21. api.add_resource(AppSiteApi, "/site")