From 17193df826eed226b663efc47421fb1640ebfe5a Mon Sep 17 00:00:00 2001 From: matt Date: Tue, 8 Mar 2022 13:39:43 +0000 Subject: [PATCH] Add TestTemplate.assignClass --- lib/TestTemplate.js | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/lib/TestTemplate.js b/lib/TestTemplate.js index 7e2bdfb..19dd96a 100644 --- a/lib/TestTemplate.js +++ b/lib/TestTemplate.js @@ -4,7 +4,9 @@ const crypto = require('crypto'); // Import user defined modules +const Class = require('./Class'); const DatabaseConnectionPool = require('./DatabaseConnectionPool'); +const Test = require('./Test'); /** * A class that represents a test template @@ -80,8 +82,31 @@ class TestTemplate { return new (require('./Account'))(this.accountId); } - assignClass() { + async assignClass(classId, date) { + const c = await new Class(classId); + const id = crypto.randomUUID(); + const epochDate = date.getTime() / 1000; + const sql = ` + insert into test( + testId, + testTemplateId, + classId, + testDate) + values + (?, ?, ?, FROM_UNIXTIME(?)); + `; + + const conn = await new DatabaseConnectionPool(); + + await conn.runQuery(sql, [ + id, + this.id, + c.id, + epochDate + ]); + + return new Test(id); } get classes() {