|
22 | 22 | @blueprint.route('/upload', methods=['POST'])
|
23 | 23 | @cross_origin()
|
24 | 24 | def file_upload():
|
25 |
| - ''' |
26 |
| - This defines the API endpoint to upload input file |
27 |
| - ''' |
28 | 25 | if 'file' not in request.files:
|
29 | 26 | return Response(
|
30 | 27 | json.dumps({'message': 'No file part'}),
|
31 | 28 | mimetype="application/json",
|
32 | 29 | status=HTTP_STATUS_CODES_MAPPING[ResponseTypes.PARAMETER_ERROR],
|
33 | 30 | )
|
| 31 | + files = request.files.getlist('file') |
| 32 | + all_responses = [] |
| 33 | + final_status_code = HTTP_STATUS_CODES_MAPPING[ResponseTypes.SUCCESS] |
34 | 34 |
|
35 |
| - file = request.files['file'] |
36 |
| - response = file_upload_use_case(file) |
| 35 | + for file in files: |
| 36 | + response = file_upload_use_case(file) |
| 37 | + current_code = HTTP_STATUS_CODES_MAPPING[response.response_type] |
| 38 | + if current_code != HTTP_STATUS_CODES_MAPPING[ResponseTypes.SUCCESS]: |
| 39 | + final_status_code = current_code |
| 40 | + |
| 41 | + all_responses.append(response.value) |
37 | 42 |
|
| 43 | + if len(all_responses) == 1: |
| 44 | + return Response( |
| 45 | + json.dumps(all_responses[0]), |
| 46 | + mimetype="application/json", |
| 47 | + status=final_status_code, |
| 48 | + ) |
38 | 49 | return Response(
|
39 |
| - json.dumps(response.value), |
| 50 | + json.dumps({"files": all_responses}), |
40 | 51 | mimetype="application/json",
|
41 |
| - status=HTTP_STATUS_CODES_MAPPING[response.response_type], |
| 52 | + status=final_status_code, |
42 | 53 | )
|
43 | 54 |
|
44 | 55 | @blueprint.route('/api/data', methods=['GET'])
|
|
0 commit comments