aboutsummaryrefslogtreecommitdiff
path: root/src/models/PeerTeacher.js
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2021-04-10 21:35:13 -0500
committerFurkan Sahin <furkan-dev@proton.me>2021-04-10 21:35:13 -0500
commit74e6cc31e83ad570a9f06765d288e9024736e73f (patch)
treea9757e9ffa099a3d3be5786d20d623e2ce933855 /src/models/PeerTeacher.js
parentea8dcfe3bf1ebe84ac483bb91e37ee4faa0d77ea (diff)
Commit MVP
Diffstat (limited to 'src/models/PeerTeacher.js')
-rw-r--r--src/models/PeerTeacher.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/models/PeerTeacher.js b/src/models/PeerTeacher.js
new file mode 100644
index 0000000..00a2f0d
--- /dev/null
+++ b/src/models/PeerTeacher.js
@@ -0,0 +1,29 @@
+export default class PeerTeacher {
+ constructor(firstname = '', lastname = '', uin = 0) {
+ this.firstname = firstname;
+ this.lastname = lastname;
+ this.uin = uin;
+ this.events = [];
+ this.assignedLabs = new Set();
+ }
+
+ conflictsWith(event) {
+ let conflicts = false;
+ this.events.every((item) => {
+ if (item.conflictsWith(event)) {
+ conflicts = true;
+ return false;
+ }
+ return true;
+ });
+ return conflicts;
+ }
+
+ get name() {
+ return `${this.firstname} ${this.lastname}`;
+ }
+
+ get id() {
+ return this.uin;
+ }
+}