mirror of
https://github.com/matt-fidd/stratos.git
synced 2026-01-01 17:59:25 +00:00
Add Class.createClass
This commit is contained in:
41
lib/Class.js
41
lib/Class.js
@@ -1,7 +1,11 @@
|
||||
/* eslint-disable no-empty-function */
|
||||
'use strict';
|
||||
|
||||
const crypto = require('crypto');
|
||||
|
||||
const DatabaseConnectionPool = require('./DatabaseConnectionPool');
|
||||
|
||||
const Subject = require('./Subject');
|
||||
const Test = require('./Test');
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user