From 4ebb7ce0fc4d0c0da1120a148e3dfca60702b9b5 Mon Sep 17 00:00:00 2001 From: admin Date: Thu, 29 May 2025 15:38:40 +0300 Subject: [PATCH] feat: implement close_assembly_by_id function and confirm_current_assembly endpoint --- routes/assembly.py | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/routes/assembly.py b/routes/assembly.py index c11f9e8..2ed9313 100644 --- a/routes/assembly.py +++ b/routes/assembly.py @@ -79,11 +79,9 @@ def create_assembly(): } return jsonify(response) - -@assembly_blueprint.post('/close') -def close_assembly(): - args = request.json - assembly_id = args.get('assemblyId') +def close_assembly_by_id( + assembly_id: int, +): if not assembly_id or (not isinstance(assembly_id, int)): response = { 'ok': False, @@ -113,6 +111,13 @@ def close_assembly(): return sipro_response +@assembly_blueprint.post('/close') +def close_assembly(): + args = request.json + assembly_id = args.get('assemblyId') + sipro_response = close_assembly_by_id(int(assembly_id)) + return sipro_response + @assembly_blueprint.post('/cancel') def cancel_assembly(): @@ -191,6 +196,26 @@ def get_active_assembly(): return jsonify(response) +@assembly_blueprint.post('/confirmCurrent') +def confirm_current_assembly(): + # confirm current assembly for user + user_id = get_jwt_identity() + assembly = database.Assembly.query.filter(database.Assembly.user_id == user_id, + database.Assembly.is_active == True).first() + if not assembly: + response = { + 'ok': False, + 'message': 'У вас нет активных сборок' + } + return jsonify(response) + close_assembly_by_id(assembly.id) + response = { + 'ok': True, + 'message': 'Сборка успешно завершена!', + } + return response + + @assembly_blueprint.post('/confirm') def confirm_assembly(): user_id = get_jwt_identity()