80 lines
1.6 KiB
D
80 lines
1.6 KiB
D
module api_modules.classroom_compliance.model;
|
|
|
|
import ddbc : DataSetReader;
|
|
import handy_httpd.components.optional;
|
|
import std.json;
|
|
import std.datetime;
|
|
import std.string : split;
|
|
|
|
struct ClassroomComplianceClass {
|
|
ulong id;
|
|
ushort number;
|
|
string schoolYear;
|
|
bool archived;
|
|
ulong userId;
|
|
string scoreExpression;
|
|
string scorePeriod;
|
|
|
|
static ClassroomComplianceClass parse(DataSetReader r) {
|
|
return ClassroomComplianceClass(
|
|
r.getUlong(1),
|
|
r.getUshort(2),
|
|
r.getString(3),
|
|
r.getBoolean(7),
|
|
r.getUlong(4),
|
|
r.getString(5),
|
|
r.getString(6)
|
|
);
|
|
}
|
|
}
|
|
|
|
struct ClassroomComplianceStudent {
|
|
ulong id;
|
|
string name;
|
|
ulong classId;
|
|
ushort deskNumber;
|
|
bool removed;
|
|
|
|
static ClassroomComplianceStudent parse(DataSetReader r) {
|
|
return ClassroomComplianceStudent(
|
|
r.getUlong(1),
|
|
r.getString(2),
|
|
r.getUlong(3),
|
|
r.getUshort(4),
|
|
r.getBoolean(5)
|
|
);
|
|
}
|
|
}
|
|
|
|
struct ClassroomComplianceEntry {
|
|
ulong classId;
|
|
ulong studentId;
|
|
Date date;
|
|
|
|
ulong createdAt;
|
|
bool absent;
|
|
string comment;
|
|
}
|
|
|
|
struct ClassroomComplianceEntryChecklistItem {
|
|
string item;
|
|
bool checked;
|
|
string category;
|
|
}
|
|
|
|
struct ClassroomComplianceClassNote {
|
|
ulong id;
|
|
ulong classId;
|
|
ulong createdAt;
|
|
string content;
|
|
|
|
static ClassroomComplianceClassNote parse(DataSetReader r) {
|
|
return ClassroomComplianceClassNote(
|
|
r.getUlong(1),
|
|
r.getUlong(2),
|
|
r.getUlong(3),
|
|
r.getString(4)
|
|
);
|
|
}
|
|
}
|