diff --git a/backend/src/data/users/student-repository.ts b/backend/src/data/users/student-repository.ts index 6835e430..d3be9081 100644 --- a/backend/src/data/users/student-repository.ts +++ b/backend/src/data/users/student-repository.ts @@ -1,4 +1,15 @@ import { Student } from '../../entities/users/student.entity.js'; -import { UserRepository } from './user-repository.js'; +import { User } from '../../entities/users/user.entity.js'; +import { DwengoEntityRepository } from '../dwengo-entity-repository.js'; +// import { UserRepository } from './user-repository.js'; -export class StudentRepository extends UserRepository {} +// export class StudentRepository extends UserRepository {} + +export class StudentRepository extends DwengoEntityRepository { + public findByUsername(username: string): Promise { + return this.findOne({ username: username }); + } + public deleteByUsername(username: string): Promise { + return this.deleteWhere({ username: username }); + } +} \ No newline at end of file diff --git a/backend/src/data/users/teacher-repository.ts b/backend/src/data/users/teacher-repository.ts index 4c4f7687..23ba559e 100644 --- a/backend/src/data/users/teacher-repository.ts +++ b/backend/src/data/users/teacher-repository.ts @@ -1,4 +1,12 @@ import { Teacher } from '../../entities/users/teacher.entity.js'; +import { DwengoEntityRepository } from '../dwengo-entity-repository.js'; import { UserRepository } from './user-repository.js'; -export class TeacherRepository extends UserRepository {} +export class TeacherRepository extends DwengoEntityRepository { + public findByUsername(username: string): Promise { + return this.findOne({ username: username }); + } + public deleteByUsername(username: string): Promise { + return this.deleteWhere({ username: username }); + } +} \ No newline at end of file diff --git a/backend/src/entities/assignments/assignment.entity.ts b/backend/src/entities/assignments/assignment.entity.ts index ecb02b90..015dcdc5 100644 --- a/backend/src/entities/assignments/assignment.entity.ts +++ b/backend/src/entities/assignments/assignment.entity.ts @@ -1,4 +1,5 @@ import { + Collection, Entity, Enum, ManyToOne, @@ -50,5 +51,5 @@ export class Assignment { }, mappedBy: 'assignment', }) - groups!: Group[]; + groups!: Collection; } diff --git a/backend/src/entities/assignments/group.entity.ts b/backend/src/entities/assignments/group.entity.ts index 0db4f6b0..446c0c0d 100644 --- a/backend/src/entities/assignments/group.entity.ts +++ b/backend/src/entities/assignments/group.entity.ts @@ -1,4 +1,4 @@ -import { Entity, ManyToMany, ManyToOne, PrimaryKey } from '@mikro-orm/core'; +import { Collection, Entity, ManyToMany, ManyToOne, PrimaryKey } from '@mikro-orm/core'; import { Assignment } from './assignment.entity.js'; import { Student } from '../users/student.entity.js'; import { GroupRepository } from '../../data/assignments/group-repository.js'; @@ -20,10 +20,8 @@ export class Group { @PrimaryKey({ type: 'integer', autoincrement: true }) groupNumber?: number; - @ManyToMany({ - entity: () => { - return Student; - }, + @ManyToMany(() => { + return Student; }) - members!: Student[]; + members!: Collection; } diff --git a/backend/src/entities/users/student.entity.ts b/backend/src/entities/users/student.entity.ts index 7ad8c9b3..c5632e84 100644 --- a/backend/src/entities/users/student.entity.ts +++ b/backend/src/entities/users/student.entity.ts @@ -19,4 +19,12 @@ export class Student extends User { return Group; }) groups!: Collection; + + constructor( + public username: string, + public firstName: string, + public lastName: string + ) { + super(); + } } diff --git a/backend/src/services/groups.ts b/backend/src/services/groups.ts index 65e111fb..2f2d0a14 100644 --- a/backend/src/services/groups.ts +++ b/backend/src/services/groups.ts @@ -83,14 +83,11 @@ export async function createGroup( const groupRepository = getGroupRepository(); try { - console.log('EEEEE'); const newGroup = groupRepository.create({ assignment: assignment, members: members, }); - console.log('OOOOOO'); await groupRepository.save(newGroup); - console.log('AAAAAA'); return newGroup; } catch(e) {