2017-04-07 11:50:56 +01:00
|
|
|
from flask import Blueprint, jsonify
|
2017-04-06 12:14:17 +01:00
|
|
|
from flask import request
|
|
|
|
|
|
|
|
|
|
from app import notify_celery
|
2018-08-31 16:49:06 +01:00
|
|
|
from app.celery.tasks import process_returned_letters_list
|
2017-08-22 15:49:56 +01:00
|
|
|
from app.config import QueueNames, TaskNames
|
2017-04-07 11:50:56 +01:00
|
|
|
from app.dao.jobs_dao import dao_get_all_letter_jobs
|
|
|
|
|
from app.schemas import job_schema
|
2017-04-06 12:14:17 +01:00
|
|
|
from app.v2.errors import register_errors
|
2018-08-31 16:49:06 +01:00
|
|
|
from app.letters.letter_schemas import letter_job_ids, letter_references
|
2017-04-06 12:14:17 +01:00
|
|
|
from app.schema_validation import validate
|
|
|
|
|
|
|
|
|
|
letter_job = Blueprint("letter-job", __name__)
|
|
|
|
|
register_errors(letter_job)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@letter_job.route('/send-letter-jobs', methods=['POST'])
|
|
|
|
|
def send_letter_jobs():
|
2017-04-11 15:49:44 +01:00
|
|
|
job_ids = validate(request.get_json(), letter_job_ids)
|
2017-09-12 16:13:07 +01:00
|
|
|
notify_celery.send_task(name=TaskNames.DVLA_JOBS, args=(job_ids['job_ids'],), queue=QueueNames.PROCESS_FTP)
|
2017-04-06 12:14:17 +01:00
|
|
|
|
2017-04-11 16:42:08 +01:00
|
|
|
return jsonify(data={"response": "Task created to send files to DVLA"}), 201
|
2017-04-07 11:50:56 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
@letter_job.route('/letter-jobs', methods=['GET'])
|
|
|
|
|
def get_letter_jobs():
|
|
|
|
|
letter_jobs = dao_get_all_letter_jobs()
|
|
|
|
|
data = job_schema.dump(letter_jobs, many=True).data
|
|
|
|
|
|
|
|
|
|
return jsonify(data=data), 200
|
2018-08-31 16:49:06 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
@letter_job.route('/letters/returned', methods=['POST'])
|
|
|
|
|
def create_process_returned_letters_job():
|
|
|
|
|
references = validate(request.get_json(), letter_references)
|
|
|
|
|
|
|
|
|
|
process_returned_letters_list.apply_async([references['references']], queue=QueueNames.DATABASE)
|
|
|
|
|
|
|
|
|
|
return jsonify(references=references['references']), 200
|