mirror of
https://github.com/matt-fidd/stratos.git
synced 2026-01-01 17:59:25 +00:00
60 lines
1.1 KiB
JavaScript
60 lines
1.1 KiB
JavaScript
/* eslint-disable no-empty-function, getter-return */
|
|
'use strict';
|
|
|
|
const Class = require('./Class');
|
|
const TestTemplate = require('./TestTemplate');
|
|
const User = require('./User');
|
|
|
|
class Account extends User {
|
|
constructor(conn, id) {
|
|
super(conn, 'account', id);
|
|
}
|
|
|
|
async getTestTemplates() {
|
|
const sql = `
|
|
select
|
|
testTemplateId as id
|
|
from
|
|
testTemplate
|
|
where
|
|
accountId = ?;
|
|
`;
|
|
|
|
const records = await this._conn.runQuery(sql, [ this.id ]);
|
|
|
|
const promises = records.map(record => {
|
|
return new TestTemplate(this._conn, record.id);
|
|
});
|
|
|
|
const objects = await Promise.all(promises);
|
|
|
|
return objects;
|
|
}
|
|
|
|
createTestTemplate(name, maxMark) {
|
|
return TestTemplate.createTestTemplate(
|
|
this._conn,
|
|
this.id,
|
|
name,
|
|
maxMark);
|
|
}
|
|
|
|
createClass(name, subjectId) {
|
|
return Class.createClass(this._conn, this.id, name, subjectId);
|
|
}
|
|
|
|
static async createAccount(conn, fname, oname, lname, email, password) {
|
|
return await super.createUser(
|
|
conn,
|
|
'account',
|
|
fname,
|
|
oname,
|
|
lname,
|
|
email,
|
|
password
|
|
);
|
|
}
|
|
}
|
|
|
|
module.exports = Account;
|