fix(backend): nodeNumber handmatig invullen
Om MikroORM bug die optreedt bij het persisteren van een kind van een entity met automatisch gegenereerde PK te vermijden.
This commit is contained in:
		
							parent
							
								
									ffa0915647
								
							
						
					
					
						commit
						a803b45046
					
				
					 5 changed files with 28 additions and 11 deletions
				
			
		|  | @ -5,12 +5,12 @@ import { Language } from '@dwengo-1/common/util/language'; | |||
| 
 | ||||
| @Entity() | ||||
| export class LearningPathNode { | ||||
|     @ManyToOne({ entity: () => LearningPath, primary: true }) | ||||
|     learningPath!: Rel<LearningPath>; | ||||
| 
 | ||||
|     @PrimaryKey({ type: 'integer', autoincrement: true }) | ||||
|     nodeNumber?: number; | ||||
| 
 | ||||
|     @ManyToOne({ entity: () => LearningPath, primary: true }) | ||||
|     learningPath!: Rel<LearningPath>; | ||||
| 
 | ||||
|     @Property({ type: 'string' }) | ||||
|     learningObjectHruid!: string; | ||||
| 
 | ||||
|  | @ -27,7 +27,7 @@ export class LearningPathNode { | |||
|     startNode!: boolean; | ||||
| 
 | ||||
|     @OneToMany({ entity: () => LearningPathTransition, mappedBy: 'node' }) | ||||
|     transitions: Collection<LearningPathTransition> = new Collection<LearningPathTransition>(this); | ||||
|     transitions!: Collection<LearningPathTransition>; | ||||
| 
 | ||||
|     @Property({ length: 3 }) | ||||
|     createdAt: Date = new Date(); | ||||
|  |  | |||
|  | @ -3,12 +3,12 @@ import { LearningPathNode } from './learning-path-node.entity.js'; | |||
| 
 | ||||
| @Entity() | ||||
| export class LearningPathTransition { | ||||
|     @ManyToOne({ entity: () => LearningPathNode, primary: true }) | ||||
|     node!: Rel<LearningPathNode>; | ||||
| 
 | ||||
|     @PrimaryKey({ type: 'numeric' }) | ||||
|     transitionNumber!: number; | ||||
| 
 | ||||
|     @ManyToOne({ entity: () => LearningPathNode, primary: true }) | ||||
|     node!: Rel<LearningPathNode>; | ||||
| 
 | ||||
|     @Property({ type: 'string' }) | ||||
|     condition!: string; | ||||
| 
 | ||||
|  |  | |||
|  | @ -29,10 +29,11 @@ export function mapToLearningPath( | |||
|         admins, | ||||
|         image: dto.image ? Buffer.from(base64ToArrayBuffer(dto.image)) : null | ||||
|     }); | ||||
|     const nodes = dto.nodes.map((nodeDto: LearningObjectNode) => | ||||
|     const nodes = dto.nodes.map((nodeDto: LearningObjectNode, i: number) => | ||||
|         repo.createNode({ | ||||
|             learningPath: path, | ||||
|             learningObjectHruid: nodeDto.learningobject_hruid, | ||||
|             nodeNumber: i, | ||||
|             language: nodeDto.language, | ||||
|             version: nodeDto.version, | ||||
|             startNode: nodeDto.start_node ?? false, | ||||
|  |  | |||
		Reference in a new issue
	
	 Gerald Schmittinger
						Gerald Schmittinger