You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
783 B
18 lines
783 B
/** |
|
* Логика «цепочки» теста: попытки и версии (см. docs/revision_task/card1.md V.2). |
|
* @param {import('pg').Pool | { query: Function }} pool пул или объект с методом query(sql, params) |
|
* @param {string} testId UUID теста (tests.id) |
|
* @returns {Promise<boolean>} true, если по любой версии этой цепочки есть хотя бы одна попытка |
|
*/ |
|
export async function hasAnyAttemptForTest(pool, testId) { |
|
const { rows } = await pool.query( |
|
`SELECT EXISTS ( |
|
SELECT 1 |
|
FROM test_attempts ta |
|
INNER JOIN test_versions tv ON ta.test_version_id = tv.id |
|
WHERE tv.test_id = $1 |
|
) AS has_any`, |
|
[testId] |
|
); |
|
return rows[0].has_any === true; |
|
}
|
|
|