@startuml
skinparam monochrome true
skinparam packageStyle rectangle
skinparam shadowing false

title Container Sequence Diagram (SD) - US240 (N3)

autonumber

actor "Gestor de Campus"

"Gestor de Campus" -> "<<C4:Container>>\n:Visualização": Inicia operação de criar passagem entre\ndois edifícios
activate "<<C4:Container>>\n:Visualização"
"<<C4:Container>>\n:Visualização" --> "Gestor de Campus": Solicita dados necessários (connectionId,\nbuildingfromId, buildingtoId, floorfromId, floortoId,\n locationX, locationY)
deactivate "<<C4:Container>>\n:Visualização"

"Gestor de Campus" -> "<<C4:Container>>\n:Visualização": Introduz dados solicitados
activate "<<C4:Container>>\n:Visualização"
"<<C4:Container>>\n:Visualização" -> "<<C4:Container>>\nMódulo de Gestão\nde Informação": POST /connections/ {connectionId, buildingfromId,\nbuildingtoId, floorfromId, floortoId, locationX, locationY}

activate "<<C4:Container>>\nMódulo de Gestão\nde Informação"
"<<C4:Container>>\nMódulo de Gestão\nde Informação" -> connectionRoute: POST /connections/ {connectionId, buildingfromId,\nbuildingtoId, floorfromId, floortoId, locationX, locationY}
activate connectionRoute
connectionRoute -> connectionController: createConnection(req, res)
activate connectionController
connectionController -> connectionService: createConnection(req, res)
activate connectionService
connectionService -> "connection\n:Connection"**: create(req.body)
connectionService -> connectionRepo: save(connection)
activate connectionRepo
deactivate connectionRepo
deactivate connectionService
connectionController --> connectionRoute : 200 OK connection
deactivate connectionController
connectionRoute --> "<<C4:Container>>\nMódulo de Gestão\nde Informação" : 200 OK connection
deactivate connectionRoute
"<<C4:Container>>\nMódulo de Gestão\nde Informação" --> "<<C4:Container>>\n:Visualização": 200 OK connection
deactivate "<<C4:Container>>\nMódulo de Gestão\nde Informação"
"Gestor de Campus" <-- "<<C4:Container>>\n:Visualização": Mostra passagem que acaba de ser criada
deactivate "<<C4:Container>>\n:Visualização"

@enduml