mirror of
https://github.com/GSA/notifications-api.git
synced 2026-01-03 13:10:44 -05:00
New endpoint to send a list of job ids to a queue.
The task will be picked up by the FTP app. Given the list of job ids the tasks will get all the files from s3, aggregate them then send to dvla
This commit is contained in:
@@ -93,6 +93,7 @@ def register_blueprint(application):
|
||||
from app.notifications.notifications_ses_callback import ses_callback_blueprint
|
||||
from app.notifications.notifications_sms_callback import sms_callback_blueprint
|
||||
from app.authentication.auth import requires_admin_auth, requires_auth, requires_no_auth
|
||||
from app.letters.send_letter_jobs import letter_job
|
||||
|
||||
service_blueprint.before_request(requires_admin_auth)
|
||||
application.register_blueprint(service_blueprint, url_prefix='/service')
|
||||
@@ -145,6 +146,9 @@ def register_blueprint(application):
|
||||
organisation_blueprint.before_request(requires_admin_auth)
|
||||
application.register_blueprint(organisation_blueprint, url_prefix='/organisation')
|
||||
|
||||
letter_job.before_request(requires_admin_auth)
|
||||
application.register_blueprint(letter_job)
|
||||
|
||||
|
||||
def register_v2_blueprints(application):
|
||||
from app.v2.notifications.post_notifications import v2_notification_blueprint as post_notifications
|
||||
|
||||
0
app/letters/__init__.py
Normal file
0
app/letters/__init__.py
Normal file
15
app/letters/letter_schemas.py
Normal file
15
app/letters/letter_schemas.py
Normal file
@@ -0,0 +1,15 @@
|
||||
from app.schema_validation.definitions import uuid
|
||||
|
||||
letter_job_ids = {
|
||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
||||
"description": "list of job ids",
|
||||
"type": "object",
|
||||
"title": "job_ids",
|
||||
"properties": {
|
||||
"job_ids": {"type": "array",
|
||||
"items": uuid,
|
||||
"minItems": 1
|
||||
},
|
||||
},
|
||||
"required": ["job_ids"]
|
||||
}
|
||||
18
app/letters/send_letter_jobs.py
Normal file
18
app/letters/send_letter_jobs.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from flask import Blueprint
|
||||
from flask import request
|
||||
|
||||
from app import notify_celery
|
||||
from app.v2.errors import register_errors
|
||||
from app.letters.letter_schemas import letter_job_ids
|
||||
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():
|
||||
job_ids = validate(request.get_json(), letter_job_ids)
|
||||
notify_celery.send_task(name="send_files_to_dvla", args=(job_ids['job_ids'],), queue="process-ftp")
|
||||
|
||||
return "Task created to send files to DVLA"
|
||||
Reference in New Issue
Block a user