diff --git a/src/services/reputation/graph.interface.ts b/src/services/reputation/graph.interface.ts new file mode 100644 index 0000000..a0716d6 --- /dev/null +++ b/src/services/reputation/graph.interface.ts @@ -0,0 +1,27 @@ + +export interface Graph { + vertices: Map; + edges: Map; + getAllVertices(): Vertex[]; + getVertex(id: string): Vertex; + addVertex(vertex: Vertex): void; + deleteVertex(vertex: string | Vertex): void; + getAllEdges(): Edge[]; + getEdge(id: string): Edge; + addEdge(edge: Edge): void; + deleteEdge(edge: string | Edge): void; +} + +export interface Vertex { + id: string; + edges: Edge[]; + data: string; +} + +export interface Edge { + id: string; + directional: boolean; + parentVertex: Vertex; + childVertex: Vertex; + getAdjacent(vertex: Vertex): Vertex; +} \ No newline at end of file