2020module Wire.ConversationSubsystem
2121 ( module Wire.ConversationSubsystem ,
2222 Util. BotsAndMembers (.. ),
23- Util. ConsentGiven (.. ),
2423 Util. canDeleteMember ,
25- Util. consentGiven ,
2624 Util. isMember ,
2725 Util. userLHEnabled ,
28- Features. toTeamStatus ,
2926 MLSRemoval. RemoveUserIncludeMain (.. ),
3027 LegalholdConflicts. guardLegalholdPolicyConflicts ,
3128 )
@@ -35,13 +32,10 @@ import Data.Code qualified as Code
3532import Data.CommaSeparatedList (CommaSeparatedList )
3633import Data.Domain
3734import Data.Id
38- import Data.LegalHold (UserLegalHoldStatus )
39- import Data.Misc (IpAddr , PlainTextPassword6 )
40- import Data.Proxy (Proxy (.. ))
35+ import Data.Misc (IpAddr )
4136import Data.Qualified
4237import Data.Range
43- import Data.Singletons (Demote , Sing , SingKind )
44- import Galley.Types.Clients (Clients )
38+ import Data.Singletons (Sing )
4539import Imports
4640import Polysemy
4741import Wire.API.Bot (AddBot , RemoveBot )
@@ -75,23 +69,15 @@ import Wire.API.Routes.Public.Galley.Messaging (MessageNotSent, PostOtrResponse)
7569import Wire.API.Routes.Public.Util (UpdateResult )
7670import Wire.API.Routes.Version
7771import Wire.API.ServantProto (RawProto (.. ))
78- import Wire.API.Team.Feature (AllTeamFeatures , GuestLinksConfig , LockableFeature )
79- import Wire.API.Team.LegalHold (UserLegalHoldStatusResponse )
80- import Wire.API.Team.Member (IsPerm , TeamMemberList )
81- import Wire.API.User (VerificationAction )
72+ import Wire.API.Team.Feature (GuestLinksConfig , LockableFeature )
8273import Wire.ConversationStore.MLS.Types (ListGlobalSelfConvs )
83- import Wire.ConversationSubsystem.Features qualified as Features
8474import Wire.ConversationSubsystem.LegalholdConflicts qualified as LegalholdConflicts
8575import Wire.ConversationSubsystem.MLS.IncomingMessage (IncomingBundle , IncomingMessage )
8676import Wire.ConversationSubsystem.MLS.Removal qualified as MLSRemoval
8777import Wire.ConversationSubsystem.Util qualified as Util
88- import Wire.FeaturesConfigSubsystem.Types (GetFeatureConfig )
8978import Wire.NotificationSubsystem (LocalConversationUpdate )
9079import Wire.StoredConversation (BotMember , LocalMember , StoredConversation )
9180
92- data PermissionCheckArgs teamAssociation where
93- PermissionCheckArgs :: forall k (p :: k ) teamAssociation . (SingKind k , IsPerm teamAssociation (Demote k )) => Sing p -> Maybe teamAssociation -> PermissionCheckArgs teamAssociation
94-
9581data ConversationSubsystem m a where
9682 NotifyConversationAction ::
9783 Sing tag ->
@@ -146,7 +132,6 @@ data ConversationSubsystem m a where
146132 Range 1 1000 Int32 ->
147133 Maybe ConversationPagingState ->
148134 ConversationSubsystem r ConvIdsPage
149- InternalGetClientIds :: [UserId ] -> ConversationSubsystem m Clients
150135 InternalGetLocalMember ::
151136 ConvId ->
152137 UserId ->
@@ -169,13 +154,11 @@ data ConversationSubsystem m a where
169154 GetLocalConversationInternal ::
170155 ConvId ->
171156 ConversationSubsystem m Conversation
172- RmClient ::
173- UserId ->
157+ RemoveClient ::
158+ Local StoredConversation ->
159+ Qualified UserId ->
174160 ClientId ->
175161 ConversationSubsystem m ()
176- GetClients ::
177- UserId ->
178- ConversationSubsystem m [ClientId ]
179162 AddBot ::
180163 Local UserId ->
181164 ConnId ->
@@ -186,10 +169,6 @@ data ConversationSubsystem m a where
186169 Maybe ConnId ->
187170 RemoveBot ->
188171 ConversationSubsystem m (UpdateResult Event )
189- GetFeatureInternal ::
190- (GetFeatureConfig cfg ) =>
191- TeamId ->
192- ConversationSubsystem m (LockableFeature cfg )
193172 UpdateCellsState ::
194173 ConvId ->
195174 CellsState ->
@@ -371,20 +350,6 @@ data ConversationSubsystem m a where
371350 GetMLSPublicKeys ::
372351 Maybe MLSPublicKeyFormat ->
373352 ConversationSubsystem m (MLSKeysByPurpose (MLSKeys SomeKey ))
374- FeatureEnabledForTeam ::
375- forall cfg m .
376- (GetFeatureConfig cfg ) =>
377- Proxy cfg ->
378- TeamId ->
379- ConversationSubsystem m Bool
380- GetAllTeamFeaturesForUser ::
381- UserId ->
382- ConversationSubsystem m AllTeamFeatures
383- GetSingleFeatureForUser ::
384- forall cfg m .
385- (GetFeatureConfig cfg ) =>
386- UserId ->
387- ConversationSubsystem m (LockableFeature cfg )
388353 ResetMLSConversation ::
389354 Local UserId ->
390355 MLSReset ->
@@ -394,15 +359,6 @@ data ConversationSubsystem m a where
394359 Qualified ConvId ->
395360 SubConvId ->
396361 ConversationSubsystem m PublicSubConversation
397- GetUserStatus ::
398- Local UserId ->
399- TeamId ->
400- UserId ->
401- ConversationSubsystem m UserLegalHoldStatusResponse
402- GuardSecondFactorDisabled ::
403- UserId ->
404- ConvId ->
405- ConversationSubsystem m ()
406362 GetBotConversation ::
407363 BotId ->
408364 ConvId ->
@@ -426,6 +382,9 @@ data ConversationSubsystem m a where
426382 Local UserId ->
427383 Qualified ConvId ->
428384 ConversationSubsystem m Public. Conversation
385+ InternalGetConversation ::
386+ ConvId ->
387+ ConversationSubsystem m (Maybe StoredConversation )
429388 GetConversationRoles ::
430389 Local UserId ->
431390 ConvId ->
@@ -710,42 +669,9 @@ data ConversationSubsystem m a where
710669 ConversationAction (tag :: ConversationActionTag ) ->
711670 ExtraConversationData ->
712671 ConversationSubsystem m LocalConversationUpdate
713- PermissionCheck ::
714- (IsPerm teamAssociation perm ) =>
715- perm -> Maybe teamAssociation -> ConversationSubsystem m teamAssociation
716- PermissionCheckSAbs ::
717- PermissionCheckArgs teamAssociation ->
718- ConversationSubsystem m teamAssociation
719- EnsureReAuthorised ::
720- UserId ->
721- Maybe PlainTextPassword6 ->
722- Maybe Code. Value ->
723- Maybe VerificationAction ->
724- ConversationSubsystem m ()
725672 QualifyLocal ::
726673 a ->
727674 ConversationSubsystem m (Local a )
728- AssertOnTeam ::
729- UserId ->
730- TeamId ->
731- ConversationSubsystem m ()
732- CheckConsent ::
733- Map UserId TeamId ->
734- UserId ->
735- ConversationSubsystem m Util. ConsentGiven
736- GetLHStatusForUsers ::
737- [UserId ] ->
738- ConversationSubsystem m [(UserId , UserLegalHoldStatus )]
739- EnsureConnectedToLocals ::
740- UserId ->
741- [UserId ] ->
742- ConversationSubsystem m ()
743- GetTeamMembersForFanout ::
744- TeamId ->
745- ConversationSubsystem m TeamMemberList
746- AssertTeamExists ::
747- TeamId ->
748- ConversationSubsystem m ()
749675 InternalUpsertOne2OneConversation ::
750676 UpsertOne2OneConversationRequest ->
751677 ConversationSubsystem m ()
@@ -765,6 +691,3 @@ data ConversationSubsystem m a where
765691 ConversationSubsystem m ()
766692
767693makeSem ''ConversationSubsystem
768-
769- permissionCheckS :: forall k (p :: k ) teamAssociation r . (Member ConversationSubsystem r , SingKind k , IsPerm teamAssociation (Demote k )) => Sing p -> Maybe teamAssociation -> Sem r teamAssociation
770- permissionCheckS p mTeam = send (PermissionCheckSAbs (PermissionCheckArgs p mTeam))
0 commit comments