Newer
Older
from flask import Blueprint, request, abort
from flask_login import login_required
from web.helpers.responses import Responses
from .observing_capabilities_handler import ObservingCapabilitiesHandler
from .delete_handler import DeleteHandler
from .update_handler import UpdateHandler
from web.helpers.model_binder import ModelBinder as Binder
from werkzeug.exceptions import InternalServerError
from web.helpers.permission_enum import PermissionEnum
from web.helpers.accesscontrol import AccessHandler
observing_capabilities = Blueprint("management_observing_capabilities", __name__)
@observing_capabilities.route("/api/management/observing_capabilities", methods=["GET"])
AccessHandler.has_permission(PermissionEnum.observations)
try:
observing_capabilities = ObservingCapabilitiesHandler.handle()
return Responses.json(observing_capabilities)
except Exception as e:
raise InternalServerError(description=str(e))
@observing_capabilities.route(
"/api/management/observing_capabilities/pt", methods=["GET"]
)
AccessHandler.has_permission(PermissionEnum.observations)
try:
observing_capabilities = MetaHandler.handlePT()
return Responses.json(observing_capabilities)
except Exception as e:
raise InternalServerError(description=str(e))
@observing_capabilities.route(
"/api/management/observing_capabilities/rn", methods=["GET"]
)
AccessHandler.has_permission(PermissionEnum.observations)
try:
observing_capabilities = MetaHandler.handleRN()
return Responses.json(observing_capabilities)
except Exception as e:
raise InternalServerError(description=str(e))
@observing_capabilities.route(
"/api/management/observing_capabilities/sp", methods=["GET"]
)
AccessHandler.has_permission(PermissionEnum.observations)
try:
observing_capabilities = MetaHandler.handleSP()
return Responses.json(observing_capabilities)
except Exception as e:
raise InternalServerError(description=str(e))
@observing_capabilities.route(
"/api/management/observing_capabilities/pr", methods=["GET"]
)
AccessHandler.has_permission(PermissionEnum.observations)
try:
observing_capabilities = MetaHandler.handlePR()
return Responses.json(observing_capabilities)
except Exception as e:
raise InternalServerError(description=str(e))
@observing_capabilities.route(
"/api/management/observing_capabilities/s", methods=["GET"]
)
AccessHandler.has_permission(PermissionEnum.observations)
try:
observing_capabilities = MetaHandler.handleS()
return Responses.json(observing_capabilities)
except Exception as e:
raise InternalServerError(description=str(e))
@observing_capabilities.route(
"/api/management/observing_capabilities/delete", methods=["POST"]
)
AccessHandler.has_permission(PermissionEnum.observations)
p = Binder.bind_and_validate(DeleteHandler.get_validation_rules())
rows = 0
try:
rows = DeleteHandler.handle(p)
except Exception as e:
raise InternalServerError(description=str(e))
if rows == 0:
raise BadRequest(description="Could not delete.")
return Responses.json({"deleted": rows})
@observing_capabilities.route(
"/api/management/observing_capabilities/update", methods=["POST"]
)
AccessHandler.has_permission(PermissionEnum.observations)
p = Binder.bind_and_validate(UpdateHandler.get_validation_rules())
rows = 0
try:
rows = UpdateHandler.handle(p)
except Exception as e:
raise InternalServerError(description=str(e))
if rows == 0:
raise BadRequest(description="Could not update.")
return Responses.json({"updated": rows})