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:
41
lib/Class.js
41
lib/Class.js
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user