feat(backend): Repositories toegevoegd, databank unit-testbaar gemaakt.
This commit is contained in:
parent
2657e49ad6
commit
374de3b21a
15 changed files with 1672 additions and 45 deletions
17
backend/src/data/dwengo-entity-repository.ts
Normal file
17
backend/src/data/dwengo-entity-repository.ts
Normal file
|
@ -0,0 +1,17 @@
|
|||
import {EntityRepository, FilterQuery} from "@mikro-orm/core";
|
||||
|
||||
export abstract class DwengoEntityRepository<T extends object> extends EntityRepository<T> {
|
||||
public async save(entity: T) {
|
||||
let em = this.getEntityManager();
|
||||
em.persist(entity);
|
||||
await em.flush();
|
||||
}
|
||||
public async deleteWhere(query: FilterQuery<T>) {
|
||||
let toDelete = await this.findOne(query);
|
||||
let em = this.getEntityManager();
|
||||
if (toDelete) {
|
||||
em.remove(toDelete);
|
||||
await em.flush();
|
||||
}
|
||||
}
|
||||
}
|
11
backend/src/data/users/student-repository.ts
Normal file
11
backend/src/data/users/student-repository.ts
Normal file
|
@ -0,0 +1,11 @@
|
|||
import {DwengoEntityRepository} from "../dwengo-entity-repository";
|
||||
import {Student} from "../../entities/users/student.entity";
|
||||
|
||||
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});
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue