Files
notifications-api/app/letters/letter_schemas.py
Alexey Bezhan 3787e2954b Add a task to process returned letter lists
Adds an API endpoint `/letters/returned` that accepts a list of
notification references and creates a task to update their status.

Adds a new task that uses the list of references to update the status
of notifications to 'returned-letter'.

The update is currently done using a single query and logs the
number of changed records (including notification history records).
This could potentially be done within the `/letters/returned` endpoint,
but creating a job right away allows us to extend this more easily
in the future (e.g. logging missing notifications or adding callbacks).

The job is using the database tasks queue.
2018-09-06 16:39:17 +01:00

35 lines
857 B
Python

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"]
}
letter_references = {
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "list of letter notification references",
"type": "object",
"title": "references",
"properties": {
"references": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9A-Z]{16}$"
},
"minItems": 1
},
},
"required": ["references"]
}