feat: (BROKEN) kolossale bug in POST group aan het fixen
This commit is contained in:
		
							parent
							
								
									1b66493821
								
							
						
					
					
						commit
						53c85eadb0
					
				
					 6 changed files with 36 additions and 13 deletions
				
			
		|  | @ -1,4 +1,15 @@ | ||||||
| import { Student } from '../../entities/users/student.entity.js'; | 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<Student> {} | // export class StudentRepository extends UserRepository<Student> {}
 | ||||||
|  | 
 | ||||||
|  | export class StudentRepository extends DwengoEntityRepository<Student> { | ||||||
|  |     public findByUsername(username: string): Promise<Student | null> { | ||||||
|  |         return this.findOne({ username: username }); | ||||||
|  |     } | ||||||
|  |     public deleteByUsername(username: string): Promise<void> { | ||||||
|  |         return this.deleteWhere({ username: username }); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | @ -1,4 +1,12 @@ | ||||||
| import { Teacher } from '../../entities/users/teacher.entity.js'; | import { Teacher } from '../../entities/users/teacher.entity.js'; | ||||||
|  | import { DwengoEntityRepository } from '../dwengo-entity-repository.js'; | ||||||
| import { UserRepository } from './user-repository.js'; | import { UserRepository } from './user-repository.js'; | ||||||
| 
 | 
 | ||||||
| export class TeacherRepository extends UserRepository<Teacher> {} | export class TeacherRepository extends DwengoEntityRepository<Teacher> { | ||||||
|  |     public findByUsername(username: string): Promise<Teacher | null> { | ||||||
|  |         return this.findOne({ username: username }); | ||||||
|  |     } | ||||||
|  |     public deleteByUsername(username: string): Promise<void> { | ||||||
|  |         return this.deleteWhere({ username: username }); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | @ -1,4 +1,5 @@ | ||||||
| import { | import { | ||||||
|  |     Collection, | ||||||
|     Entity, |     Entity, | ||||||
|     Enum, |     Enum, | ||||||
|     ManyToOne, |     ManyToOne, | ||||||
|  | @ -50,5 +51,5 @@ export class Assignment { | ||||||
|         }, |         }, | ||||||
|         mappedBy: 'assignment', |         mappedBy: 'assignment', | ||||||
|     }) |     }) | ||||||
|     groups!: Group[]; |     groups!: Collection<Group>; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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 { Assignment } from './assignment.entity.js'; | ||||||
| import { Student } from '../users/student.entity.js'; | import { Student } from '../users/student.entity.js'; | ||||||
| import { GroupRepository } from '../../data/assignments/group-repository.js'; | import { GroupRepository } from '../../data/assignments/group-repository.js'; | ||||||
|  | @ -20,10 +20,8 @@ export class Group { | ||||||
|     @PrimaryKey({ type: 'integer', autoincrement: true }) |     @PrimaryKey({ type: 'integer', autoincrement: true }) | ||||||
|     groupNumber?: number; |     groupNumber?: number; | ||||||
| 
 | 
 | ||||||
|     @ManyToMany({ |     @ManyToMany(() => { | ||||||
|         entity: () => { |  | ||||||
|         return Student; |         return Student; | ||||||
|         }, |  | ||||||
|     }) |     }) | ||||||
|     members!: Student[]; |     members!: Collection<Student>; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -19,4 +19,12 @@ export class Student extends User { | ||||||
|         return Group; |         return Group; | ||||||
|     }) |     }) | ||||||
|     groups!: Collection<Group>; |     groups!: Collection<Group>; | ||||||
|  | 
 | ||||||
|  |     constructor( | ||||||
|  |         public username: string, | ||||||
|  |         public firstName: string, | ||||||
|  |         public lastName: string | ||||||
|  |     ) { | ||||||
|  |         super(); | ||||||
|  |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -83,14 +83,11 @@ export async function createGroup( | ||||||
| 
 | 
 | ||||||
|     const groupRepository = getGroupRepository(); |     const groupRepository = getGroupRepository(); | ||||||
|     try { |     try { | ||||||
|         console.log('EEEEE'); |  | ||||||
|         const newGroup = groupRepository.create({ |         const newGroup = groupRepository.create({ | ||||||
|             assignment: assignment, |             assignment: assignment, | ||||||
|             members: members, |             members: members, | ||||||
|         }); |         }); | ||||||
|         console.log('OOOOOO'); |  | ||||||
|         await groupRepository.save(newGroup); |         await groupRepository.save(newGroup); | ||||||
|         console.log('AAAAAA'); |  | ||||||
| 
 | 
 | ||||||
|         return newGroup; |         return newGroup; | ||||||
|     } catch(e) { |     } catch(e) { | ||||||
|  |  | ||||||
		Reference in a new issue
	
	 Adriaan Jacquet
						Adriaan Jacquet