Skip to content

Commit

Permalink
refactor: process user property set event - WPB-10198 (#1962)
Browse files Browse the repository at this point in the history
  • Loading branch information
jullianm authored Oct 7, 2024
1 parent 165e75b commit d8938a3
Show file tree
Hide file tree
Showing 23 changed files with 852 additions and 294 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,8 @@ public struct UserPropertiesSetEvent: Equatable, Codable {

public let property: UserProperty

public init(property: UserProperty) {
self.property = property
}

}
54 changes: 47 additions & 7 deletions WireDomain/Project/WireDomain Project.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@
C97C014B2CB00F92000683C5 /* OneOnOneResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C97C014A2CB00F92000683C5 /* OneOnOneResolver.swift */; };
C97C01502CB01BDF000683C5 /* OneOnOneResolverTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C97C014F2CB01BDF000683C5 /* OneOnOneResolverTests.swift */; };
C97C01522CB01BEF000683C5 /* UserConnectionEventProcessorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C97C01512CB01BEF000683C5 /* UserConnectionEventProcessorTests.swift */; };
C97C01592CB40010000683C5 /* FederationConnectionRemovedEventProcessorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C97C01562CB40010000683C5 /* FederationConnectionRemovedEventProcessorTests.swift */; };
C97C015A2CB40010000683C5 /* FederationDeleteEventProcessorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C97C01572CB40010000683C5 /* FederationDeleteEventProcessorTests.swift */; };
C97C015C2CB40038000683C5 /* UserPropertiesSetEventProcessorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C97C015B2CB40038000683C5 /* UserPropertiesSetEventProcessorTests.swift */; };
C97C015F2CB40EF3000683C5 /* PushSupportedProtocolsUseCaseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C97C015E2CB40EF3000683C5 /* PushSupportedProtocolsUseCaseTests.swift */; };
C9841A1F2CA309310062A834 /* MockFeatureConfigRepositoryProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9841A1E2CA309310062A834 /* MockFeatureConfigRepositoryProtocol.swift */; };
C99322D22C986E3A0065E10F /* TeamRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = C99322B22C986E3A0065E10F /* TeamRepository.swift */; };
C99322D32C986E3A0065E10F /* TeamRepositoryError.swift in Sources */ = {isa = PBXBuildFile; fileRef = C99322B32C986E3A0065E10F /* TeamRepositoryError.swift */; };
C99322D42C986E3A0065E10F /* SelfUserProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = C99322B52C986E3A0065E10F /* SelfUserProvider.swift */; };
Expand Down Expand Up @@ -63,7 +68,6 @@
C9E8A3B72C749F2A0093DD5C /* ConversationLabelsRepositoryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9E8A3B62C749F2A0093DD5C /* ConversationLabelsRepositoryTests.swift */; };
C9E8A3C02C761EDD0093DD5C /* FeatureConfigRepositoryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9E8A3BF2C761EDD0093DD5C /* FeatureConfigRepositoryTests.swift */; };
C9EA769F2C92DD0F00A7D35C /* PushSupportedProtocolsUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9EA769E2C92DD0F00A7D35C /* PushSupportedProtocolsUseCase.swift */; };
C9EA76A12C93104C00A7D35C /* PushSupportedProtocolsUseCaseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9EA76A02C93104C00A7D35C /* PushSupportedProtocolsUseCaseTests.swift */; };
C9F691292C9B164A008CC41F /* UserPushRemoveEventProcessorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9F691282C9B164A008CC41F /* UserPushRemoveEventProcessorTests.swift */; };
C9FDF3EC2CAA988900D78098 /* ConnectionsModelMappings.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9FDF3EA2CAA988100D78098 /* ConnectionsModelMappings.swift */; };
CB7979132C738508006FBA58 /* WireTransportSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB7979122C738508006FBA58 /* WireTransportSupport.framework */; };
Expand Down Expand Up @@ -149,12 +153,17 @@
01D0DCE92C1C8EA10076CB1C /* WireDomain.docc */ = {isa = PBXFileReference; lastKnownFileType = folder.documentationcatalog; path = WireDomain.docc; sourceTree = "<group>"; };
01D0DCFC2C1C8F9B0076CB1C /* WireDomain.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = WireDomain.xctestplan; sourceTree = "<group>"; };
1623564F2C2B223100C6666C /* UserRepositoryTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserRepositoryTests.swift; sourceTree = "<group>"; };
C91F111A2C9C4B2B00BA5BE2 /* ConnectionsRepository.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConnectionsRepository.swift; sourceTree = "<group>"; };
C91F111B2C9C4B2B00BA5BE2 /* ConnectionsLocalStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConnectionsLocalStore.swift; sourceTree = "<group>"; };
C97C013C2CAD7D69000683C5 /* UserPropertiesDeleteEventProcessorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserPropertiesDeleteEventProcessorTests.swift; sourceTree = "<group>"; };
C97C014A2CB00F92000683C5 /* OneOnOneResolver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OneOnOneResolver.swift; path = ../../OneOnOneResolver.swift; sourceTree = "<group>"; };
C97C014F2CB01BDF000683C5 /* OneOnOneResolverTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OneOnOneResolverTests.swift; sourceTree = "<group>"; };
C97C01512CB01BEF000683C5 /* UserConnectionEventProcessorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserConnectionEventProcessorTests.swift; sourceTree = "<group>"; };
C91F111A2C9C4B2B00BA5BE2 /* ConnectionsRepository.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConnectionsRepository.swift; sourceTree = "<group>"; };
C91F111B2C9C4B2B00BA5BE2 /* ConnectionsLocalStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConnectionsLocalStore.swift; sourceTree = "<group>"; };
C97C01562CB40010000683C5 /* FederationConnectionRemovedEventProcessorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FederationConnectionRemovedEventProcessorTests.swift; sourceTree = "<group>"; };
C97C01572CB40010000683C5 /* FederationDeleteEventProcessorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FederationDeleteEventProcessorTests.swift; sourceTree = "<group>"; };
C97C015B2CB40038000683C5 /* UserPropertiesSetEventProcessorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserPropertiesSetEventProcessorTests.swift; sourceTree = "<group>"; };
C97C015E2CB40EF3000683C5 /* PushSupportedProtocolsUseCaseTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushSupportedProtocolsUseCaseTests.swift; sourceTree = "<group>"; };
C9841A1E2CA309310062A834 /* MockFeatureConfigRepositoryProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockFeatureConfigRepositoryProtocol.swift; sourceTree = "<group>"; };
C99322B22C986E3A0065E10F /* TeamRepository.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TeamRepository.swift; sourceTree = "<group>"; };
C99322B32C986E3A0065E10F /* TeamRepositoryError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TeamRepositoryError.swift; sourceTree = "<group>"; };
C99322B52C986E3A0065E10F /* SelfUserProvider.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelfUserProvider.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -189,7 +198,6 @@
C9E8A3BF2C761EDD0093DD5C /* FeatureConfigRepositoryTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeatureConfigRepositoryTests.swift; sourceTree = "<group>"; };
C9E8A3E72C7F6EA40093DD5C /* ConversationRepositoryTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConversationRepositoryTests.swift; sourceTree = "<group>"; };
C9EA769E2C92DD0F00A7D35C /* PushSupportedProtocolsUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushSupportedProtocolsUseCase.swift; sourceTree = "<group>"; };
C9EA76A02C93104C00A7D35C /* PushSupportedProtocolsUseCaseTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushSupportedProtocolsUseCaseTests.swift; sourceTree = "<group>"; };
C9F691282C9B164A008CC41F /* UserPushRemoveEventProcessorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserPushRemoveEventProcessorTests.swift; sourceTree = "<group>"; };
C9FDF3EA2CAA988100D78098 /* ConnectionsModelMappings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectionsModelMappings.swift; sourceTree = "<group>"; };
CB7979122C738508006FBA58 /* WireTransportSupport.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = WireTransportSupport.framework; sourceTree = BUILT_PRODUCTS_DIR; };
Expand Down Expand Up @@ -285,6 +293,7 @@
017F67992C20801800B6E02D /* Repositories */ = {
isa = PBXGroup;
children = (
C9841A1D2CA309090062A834 /* Mock */,
C9E8A3B62C749F2A0093DD5C /* ConversationLabelsRepositoryTests.swift */,
C9E8A3AD2C73878B0093DD5C /* ConnectionsRepositoryTests.swift */,
017F67982C20801800B6E02D /* TeamRepositoryTests.swift */,
Expand All @@ -299,6 +308,7 @@
017F679A2C20801800B6E02D /* WireDomain */ = {
isa = PBXGroup;
children = (
C97C015D2CB40EBE000683C5 /* UseCases */,
C9C8FDCD2C9DBE0E00702B91 /* Event Processing */,
EEC410252C60D48900E89394 /* Synchronization */,
EE0E117C2C2C4076004BBD29 /* Helpers */,
Expand Down Expand Up @@ -413,6 +423,31 @@
path = ../Tests;
sourceTree = "<group>";
};
C97C01582CB40010000683C5 /* FederationEventProcessor */ = {
isa = PBXGroup;
children = (
C97C01562CB40010000683C5 /* FederationConnectionRemovedEventProcessorTests.swift */,
C97C01572CB40010000683C5 /* FederationDeleteEventProcessorTests.swift */,
);
path = FederationEventProcessor;
sourceTree = "<group>";
};
C97C015D2CB40EBE000683C5 /* UseCases */ = {
isa = PBXGroup;
children = (
C97C015E2CB40EF3000683C5 /* PushSupportedProtocolsUseCaseTests.swift */,
);
path = UseCases;
sourceTree = "<group>";
};
C9841A1D2CA309090062A834 /* Mock */ = {
isa = PBXGroup;
children = (
C9841A1E2CA309310062A834 /* MockFeatureConfigRepositoryProtocol.swift */,
);
path = Mock;
sourceTree = "<group>";
};
C99322B42C986E3A0065E10F /* Team */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -508,8 +543,9 @@
C9C8FDCC2C9DBE0E00702B91 /* UserEventProcessor */ = {
isa = PBXGroup;
children = (
C97C01512CB01BEF000683C5 /* UserConnectionEventProcessorTests.swift */,
C97C014F2CB01BDF000683C5 /* OneOnOneResolverTests.swift */,
C97C01512CB01BEF000683C5 /* UserConnectionEventProcessorTests.swift */,
C97C015B2CB40038000683C5 /* UserPropertiesSetEventProcessorTests.swift */,
C97C013C2CAD7D69000683C5 /* UserPropertiesDeleteEventProcessorTests.swift */,
C9F691282C9B164A008CC41F /* UserPushRemoveEventProcessorTests.swift */,
C9C8FDC92C9DBE0E00702B91 /* UserClientAddEventProcessorTests.swift */,
Expand All @@ -522,6 +558,7 @@
C9C8FDCD2C9DBE0E00702B91 /* Event Processing */ = {
isa = PBXGroup;
children = (
C97C01582CB40010000683C5 /* FederationEventProcessor */,
C9C8FDC42C9DBE0E00702B91 /* FeatureConfigEventProcessor */,
C9C8FDC82C9DBE0E00702B91 /* TeamEventProcessor */,
C9C8FDCC2C9DBE0E00702B91 /* UserEventProcessor */,
Expand Down Expand Up @@ -656,7 +693,6 @@
isa = PBXGroup;
children = (
EEC410242C60D48900E89394 /* SyncManagerTests.swift */,
C9EA76A02C93104C00A7D35C /* PushSupportedProtocolsUseCaseTests.swift */,
);
path = Synchronization;
sourceTree = "<group>";
Expand Down Expand Up @@ -947,18 +983,22 @@
C97C01522CB01BEF000683C5 /* UserConnectionEventProcessorTests.swift in Sources */,
C9C8FDD02C9DBE0E00702B91 /* TeamMemberLeaveEventProcessorTests.swift in Sources */,
C9E8A3C02C761EDD0093DD5C /* FeatureConfigRepositoryTests.swift in Sources */,
C9841A1F2CA309310062A834 /* MockFeatureConfigRepositoryProtocol.swift in Sources */,
C97C015C2CB40038000683C5 /* UserPropertiesSetEventProcessorTests.swift in Sources */,
CB7979162C738547006FBA58 /* TestSetup.swift in Sources */,
162356502C2B223100C6666C /* UserRepositoryTests.swift in Sources */,
EE3F97542C2ADC4C00668DF1 /* ProteusMessageDecryptorTests.swift in Sources */,
EE57A70B2C2A8BAA0096F242 /* UpdateEventDecryptorTests.swift in Sources */,
C9E8A3AE2C73878B0093DD5C /* ConnectionsRepositoryTests.swift in Sources */,
C97C015F2CB40EF3000683C5 /* PushSupportedProtocolsUseCaseTests.swift in Sources */,
C97C013D2CAD7D69000683C5 /* UserPropertiesDeleteEventProcessorTests.swift in Sources */,
C97C01502CB01BDF000683C5 /* OneOnOneResolverTests.swift in Sources */,
C9C8FDD22C9DBE0E00702B91 /* UserClientAddEventProcessorTests.swift in Sources */,
C9C8FDD12C9DBE0E00702B91 /* TeamMemberUpdateEventProcessorTests.swift in Sources */,
C9EA76A12C93104C00A7D35C /* PushSupportedProtocolsUseCaseTests.swift in Sources */,
C9C8FDCE2C9DBE0E00702B91 /* FeatureConfigUpdateEventProcessorTests.swift in Sources */,
C9C8FDCF2C9DBE0E00702B91 /* TeamDeleteEventProcessorTests.swift in Sources */,
C97C01592CB40010000683C5 /* FederationConnectionRemovedEventProcessorTests.swift in Sources */,
C97C015A2CB40010000683C5 /* FederationDeleteEventProcessorTests.swift in Sources */,
C9C8FDD42C9DBE0E00702B91 /* UserLegalholdRequestEventProcessorTests.swift in Sources */,
017F679C2C20801800B6E02D /* TeamRepositoryTests.swift in Sources */,
C9E8A3B72C749F2A0093DD5C /* ConversationLabelsRepositoryTests.swift in Sources */,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,10 @@ protocol UserPropertiesSetEventProcessorProtocol {

struct UserPropertiesSetEventProcessor: UserPropertiesSetEventProcessorProtocol {

func processEvent(_: UserPropertiesSetEvent) async throws {
// TODO: [WPB-10197]
assertionFailure("not implemented yet")
let repository: any UserRepositoryProtocol

func processEvent(_ event: UserPropertiesSetEvent) async throws {
try await repository.updateUserProperty(event.property)
}

}
9 changes: 4 additions & 5 deletions WireDomain/Sources/WireDomain/OneOnOneResolver.swift
Original file line number Diff line number Diff line change
Expand Up @@ -84,11 +84,10 @@ struct OneOnOneResolver: OneOnOneResolverProtocol {
private func resolveOneOnOneConversation(
with userID: WireDataModel.QualifiedID
) async throws {
guard let user = userRepository.fetchUser(
with: userID.uuid, domain: userID.domain
) else {
throw Error.failedToActivateConversation
}
let user = try await userRepository.fetchUser(
with: userID.uuid,
domain: userID.domain
)

let selfUser = userRepository.fetchSelfUser()
let commonProtocol = getCommonProtocol(between: selfUser, and: user)
Expand Down
Loading

0 comments on commit d8938a3

Please sign in to comment.