Skip to content

Commit

Permalink
use specific method
Browse files Browse the repository at this point in the history
  • Loading branch information
matiasbzurovski committed Sep 12, 2024
1 parent b93d917 commit 3f2ad4d
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
public struct P2PLinksClient: Sendable {
public var getP2PLinks: GetP2PLinks
public var updateOrAddP2PLink: UpdateOrAddP2PLink
public var updateP2PLink: UpdateP2PLink
public var deleteP2PLinkByPassword: DeleteP2PLinkByPassword
public var deleteAllP2PLinks: DeleteAllP2PLinks
public var getP2PLinkPrivateKey: GetP2PLinkPrivateKey
Expand All @@ -10,13 +11,15 @@ public struct P2PLinksClient: Sendable {
public init(
getP2PLinks: @escaping GetP2PLinks,
updateOrAddP2PLink: @escaping UpdateOrAddP2PLink,
updateP2PLink: @escaping UpdateP2PLink,
deleteP2PLinkByPassword: @escaping DeleteP2PLinkByPassword,
deleteAllP2PLinks: @escaping DeleteAllP2PLinks,
getP2PLinkPrivateKey: @escaping GetP2PLinkPrivateKey,
storeP2PLinkPrivateKey: @escaping StoreP2PLinkPrivateKey
) {
self.getP2PLinks = getP2PLinks
self.updateOrAddP2PLink = updateOrAddP2PLink
self.updateP2PLink = updateP2PLink
self.deleteP2PLinkByPassword = deleteP2PLinkByPassword
self.deleteAllP2PLinks = deleteAllP2PLinks
self.getP2PLinkPrivateKey = getP2PLinkPrivateKey
Expand All @@ -27,6 +30,7 @@ public struct P2PLinksClient: Sendable {
extension P2PLinksClient {
public typealias GetP2PLinks = @Sendable () async -> P2PLinks
public typealias UpdateOrAddP2PLink = @Sendable (P2PLink) async throws -> P2PLink?
public typealias UpdateP2PLink = @Sendable (P2PLink) async throws -> Void
public typealias DeleteP2PLinkByPassword = @Sendable (RadixConnectPassword) async throws -> Void
public typealias DeleteAllP2PLinks = @Sendable () async throws -> Void
public typealias GetP2PLinkPrivateKey = @Sendable () async throws -> (privateKey: Curve25519.PrivateKey, isNew: Bool)
Expand Down
7 changes: 7 additions & 0 deletions RadixWallet/Clients/P2PLinksClient/P2PLinksClient+Live.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,13 @@ extension P2PLinksClient: DependencyKey {
$0.updateOrAppend(newLink)
}
},
updateP2PLink: { newLink in
try secureStorageClient.updatingP2PLinks {
if let index = $0.firstIndex(where: { $0.id == newLink.id }) {
$0.update(newLink, at: index)
}
}
},
deleteP2PLinkByPassword: { password in
try secureStorageClient.updatingP2PLinks {
$0.removeAll(where: { $0.connectionPassword == password })
Expand Down
2 changes: 2 additions & 0 deletions RadixWallet/Clients/P2PLinksClient/P2PLinksClient+Test.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ extension P2PLinksClient: TestDependencyKey {
public static let noop = Self(
getP2PLinks: { [] },
updateOrAddP2PLink: { _ in nil },
updateP2PLink: { _ in },
deleteP2PLinkByPassword: { _ in },
deleteAllP2PLinks: {},
getP2PLinkPrivateKey: { (.init(), false) },
Expand All @@ -20,6 +21,7 @@ extension P2PLinksClient: TestDependencyKey {
public static let testValue = Self(
getP2PLinks: unimplemented("\(Self.self).getP2PLinks"),
updateOrAddP2PLink: unimplemented("\(Self.self).updateOrAddP2PLink"),
updateP2PLink: unimplemented("\(Self.self).updateP2PLink"),
deleteP2PLinkByPassword: unimplemented("\(Self.self).deleteP2PLinkByPassword"),
deleteAllP2PLinks: unimplemented("\(Self.self).deleteAllp2pLinks"),
getP2PLinkPrivateKey: unimplemented("\(Self.self).getP2PLinkPrivateKey"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ public struct RadixConnectClient: DependencyKey, Sendable {
public var getP2PLinksWithConnectionStatusUpdates: GetP2PLinksWithConnectionStatusUpdates
public var idsOfConnectedPeerConnections: IDsOfConnectedPeerConnections
public var updateOrAddP2PLink: UpdateOrAddP2PLink
public var updateP2PLink: UpdateP2PLink
public var deleteP2PLinkByPassword: DeleteP2PLinkByPassword
public var connectP2PLink: ConnectP2PLink

Expand All @@ -43,8 +44,6 @@ public struct RadixConnectClient: DependencyKey, Sendable {
public var sendRequest: SendRequest

public var handleDappDeepLink: HandleDappDeepLink

public var updateP2PLinkName: UpdateP2PLinkName
}

extension RadixConnectClient {
Expand All @@ -60,6 +59,7 @@ extension RadixConnectClient {
public typealias IDsOfConnectedPeerConnections = @Sendable () async -> [PeerConnectionID]

public typealias UpdateOrAddP2PLink = @Sendable (P2PLink) async throws -> Void
public typealias UpdateP2PLink = @Sendable (P2PLink) async throws -> Void

public typealias ConnectP2PLink = @Sendable (P2PLink) async throws -> Void
public typealias DeleteP2PLinkByPassword = @Sendable (RadixConnectPassword) async throws -> Void
Expand All @@ -72,5 +72,4 @@ extension RadixConnectClient {

public typealias ConnectToP2PLinks = @Sendable (P2PLinks) async throws -> Void
public typealias HandleDappDeepLink = @Sendable (URL) async throws -> Void
public typealias UpdateP2PLinkName = @Sendable (P2PLink) async throws -> Void
}
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,9 @@ extension RadixConnectClient {
await rtcClients.disconnectAndRemoveClient(oldLink.connectionPassword)
}
},
updateP2PLink: { updated in
try await p2pLinksClient.updateP2PLink(updated)
},
deleteP2PLinkByPassword: { password in
loggerGlobal.info("Deleting P2P Connection")
try await p2pLinksClient.deleteP2PLinkByPassword(password)
Expand Down Expand Up @@ -174,9 +177,6 @@ extension RadixConnectClient {
errorQueue.schedule(error)
throw error
}
},
updateP2PLinkName: { updated in
_ = try await p2pLinksClient.updateOrAddP2PLink(updated)
}
)
}()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ extension RadixConnectClient: TestDependencyKey {
getP2PLinksWithConnectionStatusUpdates: unimplemented("\(Self.self).getP2PLinksWithConnectionStatusUpdates"),
idsOfConnectedPeerConnections: unimplemented("\(Self.self).idsOfConnectedPeerConnections"),
updateOrAddP2PLink: unimplemented("\(Self.self).updateOrAddP2PLink"),
updateP2PLink: unimplemented("\(Self.self).updateP2PLink"),
deleteP2PLinkByPassword: unimplemented("\(Self.self).deleteP2PLinkByPassword"),
connectP2PLink: unimplemented("\(Self.self).connectP2PLink"),
receiveMessages: unimplemented("\(Self.self).receiveMessages"),
sendResponse: unimplemented("\(Self.self).sendResponse"),
sendRequest: unimplemented("\(Self.self).sendRequest"),
handleDappDeepLink: unimplemented("\(Self.self).sendRequest"),
updateP2PLinkName: unimplemented("\(Self.self).updateP2PLinkName")
handleDappDeepLink: unimplemented("\(Self.self).sendRequest")
)
}

Expand All @@ -33,13 +33,13 @@ extension RadixConnectClient {
getP2PLinksWithConnectionStatusUpdates: { AsyncLazySequence([]).eraseToAnyAsyncSequence() },
idsOfConnectedPeerConnections: { [] },
updateOrAddP2PLink: { _ in },
updateP2PLink: { _ in },
deleteP2PLinkByPassword: { _ in },
connectP2PLink: { _ in },
receiveMessages: { AsyncLazySequence([]).eraseToAnyAsyncSequence() },
sendResponse: { _, _ in },
sendRequest: { _, _ in 0 },
handleDappDeepLink: { _ in },
updateP2PLinkName: { _ in }
handleDappDeepLink: { _ in }
)
}
#endif // DEBUG
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public struct UpdateP2PLinkName: FeatureReducer, Sendable {
state.link.displayName = newLabel.rawValue
return .run { [link = state.link] send in
do {
try await radixConnectClient.updateP2PLinkName(link)
try await radixConnectClient.updateP2PLink(link)
overlayWindowClient.scheduleHUD(.init(text: L10n.LinkedConnectors.RenameConnector.successHud))
await send(.delegate(.linkNameUpdated(link)))
} catch {
Expand Down

0 comments on commit 3f2ad4d

Please sign in to comment.