Added permissions to the endpoints

This commit is contained in:
Logan Cusano
2025-05-26 01:25:00 -04:00
parent 09ed25dfc0
commit 490b6b3545
3 changed files with 47 additions and 1 deletions

View File

@@ -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.