roger alves

Greenhorn
+ Follow
since Nov 06, 2020
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by roger alves

im creating an api for school project using node, typescript and moongose and i have a question about this:.

I have an agregate that have, as agregate root, the Entity "Path".

This path have some simple fields like name or whatever and an array ( or list) of "PathNodes"

PathNodes is an Entity inside this agregate but dont have an id ( teacher said that, whatever it means)

Path nodes have 2 Nodes, one inicial node and one final node -Node is the Entity of another agregate and is already implemented.

My question is how should i implement both the domain class of Path and PathNode and also how to implement the Schema for this ( i know i could use the schema as "domain" classes but teacher dont want that).

What im thinking is somehting like this

                               ---PathNode.ts ---
 import Node from '...'

Class PathNode
private Inicialnode : Node
private FinalNode : Node  
constructor(nodei:Node, nodef:Node   ){
this.Inicialnode =nodei; this.FinalNode  =nodef;
}    

                               ---PathNodeSchema.js ---

....new Shcema{  
nodei: { type: Schema.Types.ObjectId, ref: 'Node' },
nodef: { type: Schema.Types.ObjectId, ref: 'Node' },} }    


                                   ---Path.ts ---  

import PathNode from '...'

Class Path  

private name: String
private PathNode: PathNode[];

  constructor(obj :PathDTO   ){
this.name = obj.name;
for(pathNodes of obj.pathnodes){
this.pathNodesTemp = new PathNode(pathNodes );
PathNode.push(this.pathNodesTemp);
}  

                            ---PathSchema.js ---  

....new Shcema{  name: String ,
PathNode:[ { type: Schema.Types.ObjectId, ref: 'PathNodes' }],  }


------
What do you think of this? im also confused becouse i have a repository for path, but not for pathnodes as path is the agregate root. Inside the repository if i do PathSchema.create(path) will it create the path document along with the pathnodes? Or do i need to PathNodeSchema.create(pathNode) first?

as Path have a list of PathNodes, maybe PathNode should reference the Path it belongs to instead of Path referencing many PathNodes? If yes how should i implement it?



Thank you