When implementing the IP Management issue, another issue can be solved:
As a developer, I want to have a separation between different features and their respective web socket communication.
Currently, all Web socket calls are from within the same class. When we are added more and more calls, we should start to separate them by feature into different classes to ensure testability and code quality.
It is necessary, that all of these classes can use the same session that is created when first connecting to the websocket. Therefore, we need a "Web socket provider" or something similar that offers the session as an object to all classes that communicate over websocket.
This is already perfectly implemented in the backend with different controllers for every major part of the application, so we should do the same in the frontend.
When implementing the IP Management issue, another issue can be solved:
As a developer, I want to have a separation between different features and their respective web socket communication.
Currently, all Web socket calls are from within the same class. When we are added more and more calls, we should start to separate them by feature into different classes to ensure testability and code quality.
It is necessary, that all of these classes can use the same session that is created when first connecting to the websocket. Therefore, we need a "Web socket provider" or something similar that offers the session as an object to all classes that communicate over websocket.
This is already perfectly implemented in the backend with different controllers for every major part of the application, so we should do the same in the frontend.