fix(backend): Update MikroORM, Fix voor 'pks not iterable' problem in Groups
This commit is contained in:
parent
451ac7546f
commit
9c638b11f6
5 changed files with 57 additions and 53 deletions
|
@ -16,11 +16,11 @@
|
||||||
"test:unit": "vitest --run"
|
"test:unit": "vitest --run"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@mikro-orm/core": "6.4.9",
|
"@mikro-orm/core": "6.4.12",
|
||||||
"@mikro-orm/knex": "6.4.9",
|
"@mikro-orm/knex": "6.4.12",
|
||||||
"@mikro-orm/postgresql": "6.4.9",
|
"@mikro-orm/postgresql": "6.4.12",
|
||||||
"@mikro-orm/reflection": "6.4.9",
|
"@mikro-orm/reflection": "6.4.12",
|
||||||
"@mikro-orm/sqlite": "6.4.9",
|
"@mikro-orm/sqlite": "6.4.12",
|
||||||
"axios": "^1.8.2",
|
"axios": "^1.8.2",
|
||||||
"cors": "^2.8.5",
|
"cors": "^2.8.5",
|
||||||
"cross": "^1.0.0",
|
"cross": "^1.0.0",
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
"winston-loki": "^6.1.3"
|
"winston-loki": "^6.1.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@mikro-orm/cli": "6.4.9",
|
"@mikro-orm/cli": "6.4.12",
|
||||||
"@types/cors": "^2.8.17",
|
"@types/cors": "^2.8.17",
|
||||||
"@types/express": "^5.0.0",
|
"@types/express": "^5.0.0",
|
||||||
"@types/js-yaml": "^4.0.9",
|
"@types/js-yaml": "^4.0.9",
|
||||||
|
|
|
@ -35,5 +35,5 @@ export class Assignment {
|
||||||
entity: () => Group,
|
entity: () => Group,
|
||||||
mappedBy: 'assignment',
|
mappedBy: 'assignment',
|
||||||
})
|
})
|
||||||
groups!: Collection<Group>;
|
groups: Collection<Group> = new Collection<Group>(this);
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,15 +7,19 @@ import { GroupRepository } from '../../data/assignments/group-repository.js';
|
||||||
repository: () => GroupRepository,
|
repository: () => GroupRepository,
|
||||||
})
|
})
|
||||||
export class Group {
|
export class Group {
|
||||||
@ManyToOne({
|
/*
|
||||||
entity: () => Assignment,
|
WARNING: Don't move the definition of groupNumber! If it does not come before the definition of assignment,
|
||||||
primary: true,
|
creating groups fails because of a MikroORM bug!
|
||||||
})
|
*/
|
||||||
assignment!: Assignment;
|
|
||||||
|
|
||||||
@PrimaryKey({ type: 'integer', autoincrement: true })
|
@PrimaryKey({ type: 'integer', autoincrement: true })
|
||||||
groupNumber?: number;
|
groupNumber?: number;
|
||||||
|
|
||||||
|
@ManyToOne({
|
||||||
|
entity: () => Assignment,
|
||||||
|
primary: true
|
||||||
|
})
|
||||||
|
assignment!: Assignment;
|
||||||
|
|
||||||
@ManyToMany({
|
@ManyToMany({
|
||||||
entity: () => Student,
|
entity: () => Student,
|
||||||
owner: true,
|
owner: true,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { Group } from '../entities/assignments/group.entity.js';
|
import { Group } from '../entities/assignments/group.entity.js';
|
||||||
import { Class } from '../entities/classes/class.entity.js';
|
import { Class } from '../entities/classes/class.entity.js';
|
||||||
import { mapToAssignmentDTO } from './assignment.js';
|
import {mapToAssignmentDTOId} from './assignment.js';
|
||||||
import { mapToClassDTO } from './class.js';
|
import { mapToClassDTO } from './class.js';
|
||||||
import { mapToStudentDTO } from './student.js';
|
import { mapToStudentDTO } from './student.js';
|
||||||
import { GroupDTO } from '@dwengo-1/common/interfaces/group';
|
import { GroupDTO } from '@dwengo-1/common/interfaces/group';
|
||||||
|
@ -8,7 +8,7 @@ import { GroupDTO } from '@dwengo-1/common/interfaces/group';
|
||||||
export function mapToGroupDTO(group: Group, cls: Class): GroupDTO {
|
export function mapToGroupDTO(group: Group, cls: Class): GroupDTO {
|
||||||
return {
|
return {
|
||||||
class: mapToClassDTO(cls),
|
class: mapToClassDTO(cls),
|
||||||
assignment: mapToAssignmentDTO(group.assignment),
|
assignment: mapToAssignmentDTOId(group.assignment),
|
||||||
groupNumber: group.groupNumber!,
|
groupNumber: group.groupNumber!,
|
||||||
members: group.members.map(mapToStudentDTO),
|
members: group.members.map(mapToStudentDTO),
|
||||||
};
|
};
|
||||||
|
|
76
package-lock.json
generated
76
package-lock.json
generated
|
@ -31,11 +31,11 @@
|
||||||
"name": "@dwengo-1/backend",
|
"name": "@dwengo-1/backend",
|
||||||
"version": "0.1.1",
|
"version": "0.1.1",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@mikro-orm/core": "6.4.9",
|
"@mikro-orm/core": "6.4.12",
|
||||||
"@mikro-orm/knex": "6.4.9",
|
"@mikro-orm/knex": "6.4.12",
|
||||||
"@mikro-orm/postgresql": "6.4.9",
|
"@mikro-orm/postgresql": "6.4.12",
|
||||||
"@mikro-orm/reflection": "6.4.9",
|
"@mikro-orm/reflection": "6.4.12",
|
||||||
"@mikro-orm/sqlite": "6.4.9",
|
"@mikro-orm/sqlite": "6.4.12",
|
||||||
"axios": "^1.8.2",
|
"axios": "^1.8.2",
|
||||||
"cors": "^2.8.5",
|
"cors": "^2.8.5",
|
||||||
"cross": "^1.0.0",
|
"cross": "^1.0.0",
|
||||||
|
@ -58,7 +58,7 @@
|
||||||
"winston-loki": "^6.1.3"
|
"winston-loki": "^6.1.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@mikro-orm/cli": "6.4.9",
|
"@mikro-orm/cli": "6.4.12",
|
||||||
"@types/cors": "^2.8.17",
|
"@types/cors": "^2.8.17",
|
||||||
"@types/express": "^5.0.0",
|
"@types/express": "^5.0.0",
|
||||||
"@types/js-yaml": "^4.0.9",
|
"@types/js-yaml": "^4.0.9",
|
||||||
|
@ -1817,15 +1817,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mikro-orm/cli": {
|
"node_modules/@mikro-orm/cli": {
|
||||||
"version": "6.4.9",
|
"version": "6.4.12",
|
||||||
"resolved": "https://registry.npmjs.org/@mikro-orm/cli/-/cli-6.4.9.tgz",
|
"resolved": "https://registry.npmjs.org/@mikro-orm/cli/-/cli-6.4.12.tgz",
|
||||||
"integrity": "sha512-LQzVsmar/0DoJkPGyz3OpB8pa9BCQtvYreEC71h0O+RcizppJjgBQNTkj5tJd2Iqvh4hSaMv6qTv0l5UK6F2Vw==",
|
"integrity": "sha512-7rKtrR4GAmeHOCSIPqtL1rtKdAQFvuCghiNxbL2+ck7d5SHRLG/pSCmnW70p5160a9mJ8uCl8vfWIQNOsX94Sw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jercle/yargonaut": "1.1.5",
|
"@jercle/yargonaut": "1.1.5",
|
||||||
"@mikro-orm/core": "6.4.9",
|
"@mikro-orm/core": "6.4.12",
|
||||||
"@mikro-orm/knex": "6.4.9",
|
"@mikro-orm/knex": "6.4.12",
|
||||||
"fs-extra": "11.3.0",
|
"fs-extra": "11.3.0",
|
||||||
"tsconfig-paths": "4.2.0",
|
"tsconfig-paths": "4.2.0",
|
||||||
"yargs": "17.7.2"
|
"yargs": "17.7.2"
|
||||||
|
@ -1839,9 +1839,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mikro-orm/core": {
|
"node_modules/@mikro-orm/core": {
|
||||||
"version": "6.4.9",
|
"version": "6.4.12",
|
||||||
"resolved": "https://registry.npmjs.org/@mikro-orm/core/-/core-6.4.9.tgz",
|
"resolved": "https://registry.npmjs.org/@mikro-orm/core/-/core-6.4.12.tgz",
|
||||||
"integrity": "sha512-osB2TbvSH4ZL1s62LCBQFAnxPqLycX5fakPHOoztudixqfbVD5QQydeGizJXMMh2zKP6vRCwIJy3MeSuFxPjHg==",
|
"integrity": "sha512-TzJJCFZCdyrVPt/K3UHdao8Iyj4xJSj2r0tYUCY4zNKwuUw6K3RlEYcWGUf85FWIAZJPpYqbv83WTb/H9OiyyQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"dataloader": "2.2.3",
|
"dataloader": "2.2.3",
|
||||||
|
@ -1849,7 +1849,7 @@
|
||||||
"esprima": "4.0.1",
|
"esprima": "4.0.1",
|
||||||
"fs-extra": "11.3.0",
|
"fs-extra": "11.3.0",
|
||||||
"globby": "11.1.0",
|
"globby": "11.1.0",
|
||||||
"mikro-orm": "6.4.9",
|
"mikro-orm": "6.4.12",
|
||||||
"reflect-metadata": "0.2.2"
|
"reflect-metadata": "0.2.2"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -1860,9 +1860,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mikro-orm/knex": {
|
"node_modules/@mikro-orm/knex": {
|
||||||
"version": "6.4.9",
|
"version": "6.4.12",
|
||||||
"resolved": "https://registry.npmjs.org/@mikro-orm/knex/-/knex-6.4.9.tgz",
|
"resolved": "https://registry.npmjs.org/@mikro-orm/knex/-/knex-6.4.12.tgz",
|
||||||
"integrity": "sha512-iGXJfe/TziVOQsWuxMIqkOpurysWzQA6kj3+FDtOkHJAijZhqhjSBnfUVHHY/JzU9o0M0rgLrDVJFry/uEaJEA==",
|
"integrity": "sha512-KMocJ4fdAbf52I/K25eV+dZDWXdVJpiIaBuIRt04m+SiJ7HZPP0OTDt/mexX3WHWW2m/d1byDNIZecjmV0eRSA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"fs-extra": "11.3.0",
|
"fs-extra": "11.3.0",
|
||||||
|
@ -1891,13 +1891,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mikro-orm/postgresql": {
|
"node_modules/@mikro-orm/postgresql": {
|
||||||
"version": "6.4.9",
|
"version": "6.4.12",
|
||||||
"resolved": "https://registry.npmjs.org/@mikro-orm/postgresql/-/postgresql-6.4.9.tgz",
|
"resolved": "https://registry.npmjs.org/@mikro-orm/postgresql/-/postgresql-6.4.12.tgz",
|
||||||
"integrity": "sha512-ZdVVFAL/TSbzpEmChGdH0oUpy2KiHLjNIeItZHRQgInn1X9p0qx28VVDR78p8qgRGkQ3LquxGTkvmWI0w7qi3A==",
|
"integrity": "sha512-qWO2oerG2A9Jf6dCP/3tvnwxB/Y7gZGXOByG/iMlnQHeHEZ95G5GDe1TSZ/5Ho52wGoq3Vn3xzeKZwJdajbcEw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@mikro-orm/knex": "6.4.9",
|
"@mikro-orm/knex": "6.4.12",
|
||||||
"pg": "8.13.3",
|
"pg": "8.14.1",
|
||||||
"postgres-array": "3.0.4",
|
"postgres-array": "3.0.4",
|
||||||
"postgres-date": "2.1.0",
|
"postgres-date": "2.1.0",
|
||||||
"postgres-interval": "4.0.2"
|
"postgres-interval": "4.0.2"
|
||||||
|
@ -1910,9 +1910,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mikro-orm/reflection": {
|
"node_modules/@mikro-orm/reflection": {
|
||||||
"version": "6.4.9",
|
"version": "6.4.12",
|
||||||
"resolved": "https://registry.npmjs.org/@mikro-orm/reflection/-/reflection-6.4.9.tgz",
|
"resolved": "https://registry.npmjs.org/@mikro-orm/reflection/-/reflection-6.4.12.tgz",
|
||||||
"integrity": "sha512-fgY7yLrcZm3J/8dv9reUC4PQo7C2muImU31jmzz1SxmNKPJFDJl7OzcDZlM5NOisXzsWUBrcNdCyuQiWViVc3A==",
|
"integrity": "sha512-RZAMFAwe+yBylbiaHTyBDXDZWkqcLVv6IxRAc/YGBhD+Z1NjZbrFRrNg7OQryEW13OUIuIrXTCgKb9C0Mem0cQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"globby": "11.1.0",
|
"globby": "11.1.0",
|
||||||
|
@ -1926,12 +1926,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mikro-orm/sqlite": {
|
"node_modules/@mikro-orm/sqlite": {
|
||||||
"version": "6.4.9",
|
"version": "6.4.12",
|
||||||
"resolved": "https://registry.npmjs.org/@mikro-orm/sqlite/-/sqlite-6.4.9.tgz",
|
"resolved": "https://registry.npmjs.org/@mikro-orm/sqlite/-/sqlite-6.4.12.tgz",
|
||||||
"integrity": "sha512-O7Jy/5DrTWpJI/3qkhRJHl+OcECx1N625LHDODAAauOK3+MJB/bj80TrvQhe6d/CHZMmvxZ7m2GzaL1NulKxRw==",
|
"integrity": "sha512-fIR/AkgUxOEKCiGxes8BrkNm86iP7eB0ZhvDjrRbinYxarGHtPIUEub0tY0jvQNbXo4s/GwRIPhA178pr5xEFA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@mikro-orm/knex": "6.4.9",
|
"@mikro-orm/knex": "6.4.12",
|
||||||
"fs-extra": "11.3.0",
|
"fs-extra": "11.3.0",
|
||||||
"sqlite3": "5.1.7",
|
"sqlite3": "5.1.7",
|
||||||
"sqlstring-sqlite": "0.1.1"
|
"sqlstring-sqlite": "0.1.1"
|
||||||
|
@ -7850,9 +7850,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/mikro-orm": {
|
"node_modules/mikro-orm": {
|
||||||
"version": "6.4.9",
|
"version": "6.4.12",
|
||||||
"resolved": "https://registry.npmjs.org/mikro-orm/-/mikro-orm-6.4.9.tgz",
|
"resolved": "https://registry.npmjs.org/mikro-orm/-/mikro-orm-6.4.12.tgz",
|
||||||
"integrity": "sha512-XwVrWNT4NNwS6kHIKFNDfvy8L1eWcBBEHeTVzFFYcnb2ummATaLxqeVkNEmKA68jmdtfQdUmWBqGdbcIPwtL2Q==",
|
"integrity": "sha512-uOJdx0q9Hg0SKYtHeJ73Iu2PhlU8LoyhaMm2PH9n1kvqpyoqUme2vKpwWywELFpZKgXwtkeIA8Ce56caYb593Q==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 18.12.0"
|
"node": ">= 18.12.0"
|
||||||
|
@ -8649,14 +8649,14 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/pg": {
|
"node_modules/pg": {
|
||||||
"version": "8.13.3",
|
"version": "8.14.1",
|
||||||
"resolved": "https://registry.npmjs.org/pg/-/pg-8.13.3.tgz",
|
"resolved": "https://registry.npmjs.org/pg/-/pg-8.14.1.tgz",
|
||||||
"integrity": "sha512-P6tPt9jXbL9HVu/SSRERNYaYG++MjnscnegFh9pPHihfoBSujsrka0hyuymMzeJKFWrcG8wvCKy8rCe8e5nDUQ==",
|
"integrity": "sha512-0TdbqfjwIun9Fm/r89oB7RFQ0bLgduAhiIqIXOsyKoiC/L54DbuAAzIEN/9Op0f1Po9X7iCPXGoa/Ah+2aI8Xw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"pg-connection-string": "^2.7.0",
|
"pg-connection-string": "^2.7.0",
|
||||||
"pg-pool": "^3.7.1",
|
"pg-pool": "^3.8.0",
|
||||||
"pg-protocol": "^1.7.1",
|
"pg-protocol": "^1.8.0",
|
||||||
"pg-types": "^2.1.0",
|
"pg-types": "^2.1.0",
|
||||||
"pgpass": "1.x"
|
"pgpass": "1.x"
|
||||||
},
|
},
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue