Add setting current URI after new connection

This commit is contained in:
Ethan Pippin 2021-10-25 12:00:30 -06:00
parent 43090831cb
commit efb751f00f
2 changed files with 14 additions and 5 deletions

View File

@ -100,9 +100,9 @@ struct ConnectToServerView: View {
} }
.alert(item: $viewModel.addServerURIPayload) { _ in .alert(item: $viewModel.addServerURIPayload) { _ in
Alert(title: Text("Existing Server"), Alert(title: Text("Existing Server"),
message: Text("Server \(viewModel.addServerURIPayload?.server.name ?? "") already exists. Add new URI?"), message: Text("Server \(viewModel.addServerURIPayload?.server.name ?? "") already exists. Add new URL?"),
primaryButton: .default(Text("Existing Server"), action: { primaryButton: .default(Text("Add URL"), action: {
viewModel.addURIToServer(addServerURIPayload: viewModel.addServerURIPayload!) viewModel.addURIToServer(addServerURIPayload: viewModel.backAddServerURIPayload!)
}), }),
secondaryButton: .cancel()) secondaryButton: .cancel())
} }

View File

@ -28,6 +28,7 @@ final class ConnectToServerViewModel: ViewModel {
@Published var discoveredServers: Set<ServerDiscovery.ServerLookupResponse> = [] @Published var discoveredServers: Set<ServerDiscovery.ServerLookupResponse> = []
@Published var searching = false @Published var searching = false
@Published var addServerURIPayload: AddServerURIPayload? @Published var addServerURIPayload: AddServerURIPayload?
var backAddServerURIPayload: AddServerURIPayload?
private let discovery = ServerDiscovery() private let discovery = ServerDiscovery()
@ -62,6 +63,7 @@ final class ConnectToServerViewModel: ViewModel {
switch swiftfinError { switch swiftfinError {
case .existingServer(let server): case .existingServer(let server):
self.addServerURIPayload = AddServerURIPayload(server: server, uri: uri) self.addServerURIPayload = AddServerURIPayload(server: server, uri: uri)
self.backAddServerURIPayload = AddServerURIPayload(server: server, uri: uri)
default: default:
self.handleAPIRequestError(displayMessage: "Unable to connect to server.", logLevel: .critical, tag: "connectToServer", self.handleAPIRequestError(displayMessage: "Unable to connect to server.", logLevel: .critical, tag: "connectToServer",
completion: completion) completion: completion)
@ -99,8 +101,15 @@ final class ConnectToServerViewModel: ViewModel {
.sink { completion in .sink { completion in
self.handleAPIRequestError(displayMessage: "Unable to connect to server.", logLevel: .critical, tag: "connectToServer", self.handleAPIRequestError(displayMessage: "Unable to connect to server.", logLevel: .critical, tag: "connectToServer",
completion: completion) completion: completion)
} receiveValue: { _ in } receiveValue: { server in
print("Here") SessionManager.main.setServerCurrentURI(server: server, uri: addServerURIPayload.uri)
.sink { completion in
self.handleAPIRequestError(displayMessage: "Unable to connect to server.", logLevel: .critical, tag: "connectToServer",
completion: completion)
} receiveValue: { server in
self.router?.dismissCoordinator()
}
.store(in: &self.cancellables)
} }
.store(in: &cancellables) .store(in: &cancellables)
} }