style: fix linting issues met ESLint

This commit is contained in:
Lint Action 2025-03-01 10:33:27 +00:00
parent 81bbe84dfd
commit 74765577d5
26 changed files with 73 additions and 73 deletions

View file

@ -4,13 +4,13 @@ export abstract class DwengoEntityRepository<
T extends object,
> extends EntityRepository<T> {
public async save(entity: T) {
let em = this.getEntityManager();
const 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();
const toDelete = await this.findOne(query);
const em = this.getEntityManager();
if (toDelete) {
em.remove(toDelete);
await em.flush();

View file

@ -9,7 +9,7 @@ export class AnswerRepository extends DwengoEntityRepository<Answer> {
author: Teacher;
content: string;
}): Promise<Answer> {
let answerEntity = new Answer();
const answerEntity = new Answer();
answerEntity.toQuestion = answer.toQuestion;
answerEntity.author = answer.author;
answerEntity.content = answer.content;

View file

@ -9,7 +9,7 @@ export class QuestionRepository extends DwengoEntityRepository<Question> {
author: Student;
content: string;
}): Promise<Question> {
let questionEntity = new Question();
const questionEntity = new Question();
questionEntity.learningObjectHruid = question.loId.hruid;
questionEntity.learningObjectLanguage = question.loId.language;
questionEntity.learningObjectVersion = question.loId.version;

View file

@ -12,7 +12,7 @@ import { Language } from '../content/language.js';
@Entity()
export class Assignment {
@ManyToOne({ entity: () => Class, primary: true })
@ManyToOne({ entity: () => {return Class}, primary: true })
within!: Class;
@PrimaryKey({ type: 'number' })
@ -27,9 +27,9 @@ export class Assignment {
@Property({ type: 'string' })
learningPathHruid!: string;
@Enum({ items: () => Language })
@Enum({ items: () => {return Language} })
learningPathLanguage!: Language;
@OneToMany({ entity: () => Group, mappedBy: 'assignment' })
@OneToMany({ entity: () => {return Group}, mappedBy: 'assignment' })
groups!: Group[];
}

View file

@ -4,12 +4,12 @@ import { Student } from '../users/student.entity.js';
@Entity()
export class Group {
@ManyToOne({ entity: () => Assignment, primary: true })
@ManyToOne({ entity: () => {return Assignment}, primary: true })
assignment!: Assignment;
@PrimaryKey({ type: 'integer' })
groupNumber!: number;
@ManyToMany({ entity: () => Student })
@ManyToMany({ entity: () => {return Student} })
members!: Student[];
}

View file

@ -8,7 +8,7 @@ export class Submission {
@PrimaryKey({ type: 'string' })
learningObjectHruid!: string;
@Enum({ items: () => Language, primary: true })
@Enum({ items: () => {return Language}, primary: true })
learningObjectLanguage!: Language;
@PrimaryKey({ type: 'string' })
@ -17,13 +17,13 @@ export class Submission {
@PrimaryKey({ type: 'integer' })
submissionNumber!: number;
@ManyToOne({ entity: () => Student })
@ManyToOne({ entity: () => {return Student} })
submitter!: Student;
@Property({ type: 'datetime' })
submissionTime!: Date;
@ManyToOne({ entity: () => Group, nullable: true })
@ManyToOne({ entity: () => {return Group}, nullable: true })
onBehalfOf?: Group;
@Property({ type: 'json' })

View file

@ -4,13 +4,13 @@ import { Class } from './class.entity';
@Entity()
export class ClassJoinRequest {
@ManyToOne({ entity: () => Student, primary: true })
@ManyToOne({ entity: () => {return Student}, primary: true })
requester!: Student;
@ManyToOne({ entity: () => Class, primary: true })
@ManyToOne({ entity: () => {return Class}, primary: true })
class!: Class;
@Enum(() => ClassJoinRequestStatus)
@Enum(() => {return ClassJoinRequestStatus})
status!: ClassJoinRequestStatus;
}

View file

@ -17,9 +17,9 @@ export class Class {
@Property({ type: 'string' })
displayName!: string;
@ManyToMany(() => Teacher)
@ManyToMany(() => {return Teacher})
teachers!: Collection<Teacher>;
@ManyToMany(() => Student)
@ManyToMany(() => {return Student})
students!: Collection<Student>;
}

View file

@ -7,12 +7,12 @@ import { Class } from './class.entity.js';
*/
@Entity()
export class TeacherInvitation {
@ManyToOne({ entity: () => Teacher, primary: true })
@ManyToOne({ entity: () => {return Teacher}, primary: true })
sender!: Teacher;
@ManyToOne({ entity: () => Teacher, primary: true })
@ManyToOne({ entity: () => {return Teacher}, primary: true })
receiver!: Teacher;
@ManyToOne({ entity: () => Class, primary: true })
@ManyToOne({ entity: () => {return Class}, primary: true })
class!: Class;
}

View file

@ -3,7 +3,7 @@ import { LearningObject } from './learning-object.entity.js';
@Entity()
export class Attachment {
@ManyToOne({ entity: () => LearningObject, primary: true })
@ManyToOne({ entity: () => {return LearningObject}, primary: true })
learningObject!: LearningObject;
@PrimaryKey({ type: 'integer' })

View file

@ -17,13 +17,13 @@ export class LearningObject {
@PrimaryKey({ type: 'string' })
hruid!: string;
@Enum({ items: () => Language, primary: true })
@Enum({ items: () => {return Language}, primary: true })
language!: Language;
@PrimaryKey({ type: 'string' })
version: string = '1';
@ManyToMany({ entity: () => Teacher })
@ManyToMany({ entity: () => {return Teacher} })
admins!: Teacher[];
@Property({ type: 'string' })
@ -47,7 +47,7 @@ export class LearningObject {
@Property({ type: 'array' })
skosConcepts!: string[];
@Embedded({ entity: () => EducationalGoal, array: true })
@Embedded({ entity: () => {return EducationalGoal}, array: true })
educationalGoals: EducationalGoal[] = [];
@Property({ type: 'string' })
@ -62,7 +62,7 @@ export class LearningObject {
@Property({ type: 'integer' })
estimatedTime!: number;
@Embedded({ entity: () => ReturnValue })
@Embedded({ entity: () => {return ReturnValue} })
returnValue!: ReturnValue;
@Property({ type: 'bool' })
@ -71,7 +71,7 @@ export class LearningObject {
@Property({ type: 'string', nullable: true })
contentLocation?: string;
@OneToMany({ entity: () => Attachment, mappedBy: 'learningObject' })
@OneToMany({ entity: () => {return Attachment}, mappedBy: 'learningObject' })
attachments: Attachment[] = [];
@Property({ type: 'blob' })

View file

@ -16,10 +16,10 @@ export class LearningPath {
@PrimaryKey({ type: 'string' })
hruid!: string;
@Enum({ items: () => Language, primary: true })
@Enum({ items: () => {return Language}, primary: true })
language!: Language;
@ManyToMany({ entity: () => Teacher })
@ManyToMany({ entity: () => {return Teacher} })
admins!: Teacher[];
@Property({ type: 'string' })
@ -31,7 +31,7 @@ export class LearningPath {
@Property({ type: 'blob' })
image!: string;
@Embedded({ entity: () => LearningPathNode, array: true })
@Embedded({ entity: () => {return LearningPathNode}, array: true })
nodes: LearningPathNode[] = [];
}
@ -40,7 +40,7 @@ export class LearningPathNode {
@Property({ type: 'string' })
learningObjectHruid!: string;
@Enum({ items: () => Language })
@Enum({ items: () => {return Language} })
language!: Language;
@Property({ type: 'string' })
@ -52,7 +52,7 @@ export class LearningPathNode {
@Property({ type: 'bool' })
startNode!: boolean;
@Embedded({ entity: () => LearningPathTransition, array: true })
@Embedded({ entity: () => {return LearningPathTransition}, array: true })
transitions!: LearningPathTransition[];
}
@ -61,6 +61,6 @@ export class LearningPathTransition {
@Property({ type: 'string' })
condition!: string;
@OneToOne({ entity: () => LearningPathNode })
@OneToOne({ entity: () => {return LearningPathNode} })
next!: LearningPathNode;
}

View file

@ -4,10 +4,10 @@ import { Teacher } from '../users/teacher.entity';
@Entity()
export class Answer {
@ManyToOne({ entity: () => Teacher, primary: true })
@ManyToOne({ entity: () => {return Teacher}, primary: true })
author!: Teacher;
@ManyToOne({ entity: () => Question, primary: true })
@ManyToOne({ entity: () => {return Question}, primary: true })
toQuestion!: Question;
@PrimaryKey({ type: 'integer' })

View file

@ -7,7 +7,7 @@ export class Question {
@PrimaryKey({ type: 'string' })
learningObjectHruid!: string;
@Enum({ items: () => Language, primary: true })
@Enum({ items: () => {return Language}, primary: true })
learningObjectLanguage!: Language;
@PrimaryKey({ type: 'string' })
@ -16,7 +16,7 @@ export class Question {
@PrimaryKey({ type: 'integer' })
sequenceNumber!: number;
@ManyToOne({ entity: () => Student })
@ManyToOne({ entity: () => {return Student} })
author!: Student;
@Property({ type: 'datetime' })

View file

@ -4,12 +4,12 @@ import { Class } from '../classes/class.entity.js';
import { Group } from '../assignments/group.entity.js';
import { StudentRepository } from '../../data/users/student-repository.js';
@Entity({ repository: () => StudentRepository })
@Entity({ repository: () => {return StudentRepository} })
export class Student extends User {
@ManyToMany(() => Class)
@ManyToMany(() => {return Class})
classes!: Collection<Class>;
@ManyToMany(() => Group)
@ManyToMany(() => {return Group})
groups!: Collection<Group>;
constructor(

View file

@ -4,6 +4,6 @@ import { Class } from '../classes/class.entity.js';
@Entity()
export class Teacher extends User {
@ManyToMany(() => Class)
@ManyToMany(() => {return Class})
classes!: Collection<Class>;
}

View file

@ -15,9 +15,9 @@ function config(testingMode: boolean = false): Options {
// Workaround: vitest: `TypeError: Unknown file extension ".ts"` (ERR_UNKNOWN_FILE_EXTENSION)
// (see https://mikro-orm.io/docs/guide/project-setup#testing-the-endpoint)
dynamicImportProvider: (id) => import(id),
dynamicImportProvider: (id) => {return import(id)},
};
} else {
}
return {
driver: PostgreSqlDriver,
host: getEnvVar(EnvVars.DbHost),
@ -29,7 +29,7 @@ function config(testingMode: boolean = false): Options {
entitiesTs: entitiesTs,
debug: true,
};
}
}
export default config;

View file

@ -1,7 +1,7 @@
import express from 'express'
const router = express.Router();
// root endpoint used to search objects
// Root endpoint used to search objects
router.get('/', (req, res) => {
res.json({
assignments: [
@ -11,7 +11,7 @@ router.get('/', (req, res) => {
});
});
// information about an assignment with id 'id'
// Information about an assignment with id 'id'
router.get('/:id', (req, res) => {
res.json({
id: req.params.id,

View file

@ -1,7 +1,7 @@
import express from 'express'
const router = express.Router();
// root endpoint used to search objects
// Root endpoint used to search objects
router.get('/', (req, res) => {
res.json({
classes: [
@ -11,7 +11,7 @@ router.get('/', (req, res) => {
});
});
// information about an class with id 'id'
// Information about an class with id 'id'
router.get('/:id', (req, res) => {
res.json({
id: req.params.id,

View file

@ -1,7 +1,7 @@
import express from 'express'
const router = express.Router();
// root endpoint used to search objects
// Root endpoint used to search objects
router.get('/', (req, res) => {
res.json({
groups: [
@ -11,20 +11,20 @@ router.get('/', (req, res) => {
});
});
// information about a group (members, ... [TODO DOC])
// Information about a group (members, ... [TODO DOC])
router.get('/:id', (req, res) => {
res.json({
id: req.params.id,
assignment: '0',
students: [ '0' ],
submissions: [ '0' ],
// reference to other endpoint
// should be less hardcoded
// Reference to other endpoint
// Should be less hardcoded
questions: `/group/${req.params.id}/question`,
});
})
// the list of questions a group has made
// The list of questions a group has made
router.get('/:id/question', (req, res) => {
res.json({
questions: [ '0' ],

View file

@ -1,11 +1,11 @@
import express from 'express'
const router = express.Router();
// returns login paths for IDP
// Returns login paths for IDP
router.get('/', (req, res) => {
res.json({
// dummy variables, needs to be changed
// with IDP endpoints
// Dummy variables, needs to be changed
// With IDP endpoints
leerkracht: '/login-leerkracht',
leerling: '/login-leerling',
});

View file

@ -1,7 +1,7 @@
import express from 'express'
const router = express.Router();
// root endpoint used to search objects
// Root endpoint used to search objects
router.get('/', (req, res) => {
res.json({
questions: [
@ -11,7 +11,7 @@ router.get('/', (req, res) => {
});
});
// information about an question with id 'id'
// Information about an question with id 'id'
router.get('/:id', (req, res) => {
res.json({
id: req.params.id,

View file

@ -1,7 +1,7 @@
import express from 'express'
const router = express.Router();
// root endpoint used to search objects
// Root endpoint used to search objects
router.get('/', (req, res) => {
res.json({
students: [
@ -11,7 +11,7 @@ router.get('/', (req, res) => {
});
});
// information about a student's profile
// Information about a student's profile
router.get('/:id', (req, res) => {
res.json({
id: req.params.id,
@ -27,14 +27,14 @@ router.get('/:id', (req, res) => {
});
});
// the list of classes a student is in
// The list of classes a student is in
router.get('/:id/classes', (req, res) => {
res.json({
classes: [ '0' ],
});
})
// the list of submissions a student has made
// The list of submissions a student has made
router.get('/:id/submissions', (req, res) => {
res.json({
submissions: [ '0' ],
@ -42,14 +42,14 @@ router.get('/:id/submissions', (req, res) => {
})
// the list of assignments a student has
// The list of assignments a student has
router.get('/:id/assignments', (req, res) => {
res.json({
assignments: [ '0' ],
});
})
// the list of groups a student is in
// The list of groups a student is in
router.get('/:id/groups', (req, res) => {
res.json({
groups: [ '0' ],

View file

@ -1,7 +1,7 @@
import express from 'express'
const router = express.Router();
// root endpoint used to search objects
// Root endpoint used to search objects
router.get('/', (req, res) => {
res.json({
submissions: [
@ -11,7 +11,7 @@ router.get('/', (req, res) => {
});
});
// information about an submission with id 'id'
// Information about an submission with id 'id'
router.get('/:id', (req, res) => {
res.json({
id: req.params.id,

View file

@ -1,7 +1,7 @@
import express from 'express'
const router = express.Router();
// root endpoint used to search objects
// Root endpoint used to search objects
router.get('/', (req, res) => {
res.json({
teachers: [
@ -11,7 +11,7 @@ router.get('/', (req, res) => {
});
});
// information about a teacher
// Information about a teacher
router.get('/:id', (req, res) => {
res.json({
id: req.params.id,
@ -27,7 +27,7 @@ router.get('/:id', (req, res) => {
});
})
// the questions students asked a teacher
// The questions students asked a teacher
router.get('/:id/questions', (req, res) => {
res.json({
questions: [
@ -36,7 +36,7 @@ router.get('/:id/questions', (req, res) => {
});
});
// invitations to other classes a teacher received
// Invitations to other classes a teacher received
router.get('/:id/invitations', (req, res) => {
res.json({
invitations: [
@ -45,7 +45,7 @@ router.get('/:id/invitations', (req, res) => {
});
});
// a list with ids of classes a teacher is in
// A list with ids of classes a teacher is in
router.get('/:id/classes', (req, res) => {
res.json({
classes: [

View file

@ -18,7 +18,7 @@ describe("StudentRepository", () => {
it("should return the queried student after he was added", async () => {
await studentRepository.insert(new Student(username, firstName, lastName));
let retrievedStudent = await studentRepository.findByUsername(username);
const retrievedStudent = await studentRepository.findByUsername(username);
expect(retrievedStudent).toBeTruthy();
expect(retrievedStudent?.firstName).toBe(firstName);
expect(retrievedStudent?.lastName).toBe(lastName);
@ -27,7 +27,7 @@ describe("StudentRepository", () => {
it("should no longer return the queried student after he was removed again", async () => {
await studentRepository.deleteByUsername(username);
let retrievedStudent = await studentRepository.findByUsername(username);
const retrievedStudent = await studentRepository.findByUsername(username);
expect(retrievedStudent).toBeNull();
});
});