Add functions to accept/unaccept QCs.

These are only able to deal with shot QCs. At this point, sequence-wide
QCs cannot be marked as accepted.
This commit is contained in:
D. Berge
2022-05-04 17:19:20 +02:00
parent f4ee798bf0
commit 672c14fb67
3 changed files with 48 additions and 1 deletions

View File

@@ -0,0 +1,23 @@
const { setSurvey } = require('../../connection');
async function accept (projectId, payload) {
const client = await setSurvey(projectId);
const text = `
UPDATE event_log_full
SET
labels = array_append(labels, 'QCAccepted')
WHERE
validity @> current_timestamp
AND id = ANY($1)
AND NOT ('QCAccepted' = ANY(labels));
`;
const values = [ payload ];
await client.query(text, values);
client.release();
return;
}
module.exports = accept;

View File

@@ -1,5 +1,7 @@
module.exports = { module.exports = {
get: require('./get'), get: require('./get'),
delete: require('./delete') delete: require('./delete'),
accept: require('./accept'),
unaccept: require('./unaccept')
}; };

View File

@@ -0,0 +1,22 @@
const { setSurvey, transaction } = require('../../connection');
async function unaccept (projectId, payload) {
const client = await setSurvey(projectId);
const text = `
UPDATE event_log_full
SET
labels = array_remove(labels, 'QCAccepted')
WHERE
validity @> current_timestamp
AND id = ANY($1);
`;
const values = [ payload ];
await client.query(text, values);
client.release();
return;
}
module.exports = unaccept;