1
0
mirror of https://github.com/matt-fidd/stratos.git synced 2026-01-01 18:39:32 +00:00

Add Class.createClass

This commit is contained in:
2022-03-08 11:43:05 +00:00
parent d49ec3d453
commit db98c1d5ba

View File

@@ -1,7 +1,11 @@
/* eslint-disable no-empty-function */ /* eslint-disable no-empty-function */
'use strict'; 'use strict';
const crypto = require('crypto');
const DatabaseConnectionPool = require('./DatabaseConnectionPool'); const DatabaseConnectionPool = require('./DatabaseConnectionPool');
const Subject = require('./Subject');
const Test = require('./Test'); const Test = require('./Test');
class Class { class Class {
@@ -216,8 +220,43 @@ class Class {
} }
static createClass() { static async createClass(accountId, name, subjectId) {
const s = await new Subject(subjectId);
const a = await new (require('./Account'))(accountId);
const id = crypto.randomUUID();
const conn = await new DatabaseConnectionPool();
let sql = `
insert into class(
classId,
name,
subjectId)
values
(?, ?, ?);
`;
await conn.runQuery(sql, [
id,
name,
s.id
]);
sql = `
insert into accountClassLink(
accountId,
classId)
values
(?, ?);
`;
await conn.runQuery(sql, [
a.id,
id
]);
return new Class(id);
} }
} }