Compare commits
2 Commits
dc8d9d242b
...
b302feec1d
| Author | SHA1 | Date | |
|---|---|---|---|
| b302feec1d | |||
| 6dea56e3ee |
@@ -2,6 +2,7 @@ import datetime
|
||||
|
||||
from flask import Blueprint, request, jsonify
|
||||
from flask_jwt_extended import get_jwt_identity
|
||||
from sqlalchemy.orm import joinedload
|
||||
|
||||
import database
|
||||
from database.enums import AssemblyState
|
||||
@@ -17,13 +18,17 @@ def create_assembly():
|
||||
data: dict = request.json
|
||||
order_id: int = data.get('orderId')
|
||||
user_id = get_jwt_identity()
|
||||
existing_assembly = database.Assembly.query.filter_by(order_id=order_id).first()
|
||||
existing_assembly = (database.Assembly.query.
|
||||
options(joinedload(database.Assembly.user)).
|
||||
filter_by(order_id=order_id).
|
||||
first())
|
||||
if existing_assembly:
|
||||
response = {
|
||||
'ok': False,
|
||||
'message': 'Сборка этого товара уже была запущена',
|
||||
'assemblyId': existing_assembly.id,
|
||||
'statusCode': 'ASSEMBLY_ALREADY_EXISTS'
|
||||
'statusCode': 'ASSEMBLY_ALREADY_EXISTS',
|
||||
'userName': existing_assembly.user.login
|
||||
}
|
||||
return jsonify(response)
|
||||
active_assembly = database.Assembly.query.filter(database.Assembly.user_id == user_id,
|
||||
@@ -111,6 +116,33 @@ def cancel_assembly():
|
||||
return jsonify(response)
|
||||
|
||||
|
||||
@assembly_blueprint.post('/cancelById')
|
||||
def cancel_assembly_by_id():
|
||||
try:
|
||||
assembly_id = request.json.get('assemblyId')
|
||||
assembly = database.db.session.get(database.Assembly, assembly_id)
|
||||
if not assembly:
|
||||
response = {
|
||||
'ok': False,
|
||||
'message': f'Сборка {assembly_id} не найдена'
|
||||
}
|
||||
return jsonify(response)
|
||||
database.db.session.delete(assembly)
|
||||
database.db.session.commit()
|
||||
response = {
|
||||
'ok': True,
|
||||
'message': f'Сборка {assembly_id} успешно отменена!'
|
||||
}
|
||||
return jsonify(response)
|
||||
except Exception as e:
|
||||
response = {
|
||||
'ok': False,
|
||||
'message': f'Неудалось отменить сборку, ошибка: {e}'
|
||||
}
|
||||
return jsonify(response)
|
||||
|
||||
|
||||
|
||||
@assembly_blueprint.get('/hasActive')
|
||||
def user_has_active_assembly():
|
||||
user_id = get_jwt_identity()
|
||||
|
||||
Reference in New Issue
Block a user