| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | 
							- from flask import Response, request
 - from flask_restful import Resource
 - from werkzeug.exceptions import NotFound
 - 
 - import services
 - from controllers.files import api
 - from controllers.files.error import UnsupportedFileTypeError
 - from services.account_service import TenantService
 - from services.file_service import FileService
 - 
 - 
 - class ImagePreviewApi(Resource):
 -     def get(self, file_id):
 -         file_id = str(file_id)
 - 
 -         timestamp = request.args.get("timestamp")
 -         nonce = request.args.get("nonce")
 -         sign = request.args.get("sign")
 - 
 -         if not timestamp or not nonce or not sign:
 -             return {"content": "Invalid request."}, 400
 - 
 -         try:
 -             generator, mimetype = FileService.get_image_preview(file_id, timestamp, nonce, sign)
 -         except services.errors.file.UnsupportedFileTypeError:
 -             raise UnsupportedFileTypeError()
 - 
 -         return Response(generator, mimetype=mimetype)
 - 
 - 
 - class WorkspaceWebappLogoApi(Resource):
 -     def get(self, workspace_id):
 -         workspace_id = str(workspace_id)
 - 
 -         custom_config = TenantService.get_custom_config(workspace_id)
 -         webapp_logo_file_id = custom_config.get("replace_webapp_logo") if custom_config is not None else None
 - 
 -         if not webapp_logo_file_id:
 -             raise NotFound("webapp logo is not found")
 - 
 -         try:
 -             generator, mimetype = FileService.get_public_image_preview(
 -                 webapp_logo_file_id,
 -             )
 -         except services.errors.file.UnsupportedFileTypeError:
 -             raise UnsupportedFileTypeError()
 - 
 -         return Response(generator, mimetype=mimetype)
 - 
 - 
 - api.add_resource(ImagePreviewApi, "/files/<uuid:file_id>/image-preview")
 - api.add_resource(WorkspaceWebappLogoApi, "/files/workspaces/<uuid:workspace_id>/webapp-logo")
 
 
  |