Added permissions to the endpoints
This commit is contained in:
@@ -6,6 +6,8 @@ systems_bp = Blueprint('systems', __name__)
|
||||
|
||||
|
||||
@systems_bp.route("/", methods=['POST'])
|
||||
@jwt_required
|
||||
@role_required(UserRoles.MOD)
|
||||
async def create_system_route():
|
||||
"""API endpoint to create a new system."""
|
||||
print("\n--- Handling POST /systems ---")
|
||||
@@ -50,6 +52,8 @@ async def create_system_route():
|
||||
|
||||
|
||||
@systems_bp.route('/', methods=['GET'])
|
||||
@jwt_required
|
||||
@role_required(UserRoles.USER)
|
||||
async def list_systems_route():
|
||||
"""API endpoint to get a list of all systems."""
|
||||
print("\n--- Handling GET /systems ---")
|
||||
@@ -65,6 +69,8 @@ async def list_systems_route():
|
||||
|
||||
|
||||
@systems_bp.route('/<string:system_id>', methods=['GET'])
|
||||
@jwt_required
|
||||
@role_required(UserRoles.USER)
|
||||
async def get_system_route(system_id: str):
|
||||
"""API endpoint to get details for a specific system by ID."""
|
||||
print(f"\n--- Handling GET /systems/{system_id} ---")
|
||||
@@ -86,6 +92,8 @@ async def get_system_route(system_id: str):
|
||||
|
||||
|
||||
@systems_bp.route('/client/<string:client_id>', methods=['GET'])
|
||||
@jwt_required
|
||||
@role_required(UserRoles.USER)
|
||||
async def get_system_by_client_route(client_id: str):
|
||||
"""API endpoint to get details for a specific system by ID."""
|
||||
print(f"\n--- Handling GET /systems/client/{client_id} ---")
|
||||
@@ -107,6 +115,8 @@ async def get_system_by_client_route(client_id: str):
|
||||
|
||||
|
||||
@systems_bp.route('/<string:system_id>', methods=['PUT'])
|
||||
@jwt_required
|
||||
@role_required(UserRoles.MOD)
|
||||
async def update_system_route(system_id: str):
|
||||
try:
|
||||
updated_system_data = await request.get_json()
|
||||
@@ -132,6 +142,8 @@ async def update_system_route(system_id: str):
|
||||
|
||||
|
||||
@systems_bp.route('/<string:system_id>', methods=['DELETE'])
|
||||
@jwt_required
|
||||
@role_required(UserRoles.MOD)
|
||||
async def delete_system_route(system_id: str):
|
||||
try:
|
||||
query = {"_id": system_id}
|
||||
@@ -149,6 +161,8 @@ async def delete_system_route(system_id: str):
|
||||
abort(500, f"An internal error occurred: {e}")
|
||||
|
||||
@systems_bp.route('/<string:system_id>/assign', methods=['POST'])
|
||||
@jwt_required
|
||||
@role_required(UserRoles.MOD)
|
||||
async def assign_client_to_system_route(system_id: str):
|
||||
"""
|
||||
API endpoint to assign a client ID to a system's available_on_nodes list.
|
||||
@@ -205,6 +219,8 @@ async def assign_client_to_system_route(system_id: str):
|
||||
|
||||
|
||||
@systems_bp.route('/<string:system_id>/dismiss', methods=['POST'])
|
||||
@jwt_required
|
||||
@role_required(UserRoles.MOD)
|
||||
async def dismiss_client_from_system_route(system_id: str):
|
||||
"""
|
||||
API endpoint to dismiss (remove) a client ID from a system's available_on_nodes list.
|
||||
@@ -263,6 +279,8 @@ async def dismiss_client_from_system_route(system_id: str):
|
||||
|
||||
|
||||
@systems_bp.route('/search', methods=['GET'])
|
||||
@jwt_required
|
||||
@role_required(UserRoles.MOD)
|
||||
async def search_systems_route():
|
||||
"""
|
||||
API endpoint to search for systems based on query parameters.
|
||||
|
||||
Reference in New Issue
Block a user