@startuml local-node

!include ./node.puml
' !include ./local-node-base.puml
!include ./proto-server.puml
!include ./rest-server.puml
!include ./remote-node.puml

package "internal/pkg/chord" as internal_pkg_chord {
	class "LocalNode" as cl_LocalNode {
		' -- Fields --
		' {field} -departmentAcronym: String <<PK>>
		' {field} -creationInstant: Instant
		' {field} -modificationInstant: Instant
		' {field} -name: String
		' {field} -faculty: Faculty
		' {field} -users: List<User>
	}
}

' cl_LocalNodeBase <|--- cl_LocalNode
cl_node <|.. cl_LocalNode

cl_protoServer *--* cl_LocalNode
cl_LocalNode *--* cl_restServer

cl_LocalNode o-* cl_remoteNode
' cl_LocalNode o-* cl_remoteNode : Use each other
' cl_LocalNode o-* cl_remoteNode : Nutzen sich\nwechselseitig

@enduml
