Skip to content

Commit 2368e57

Browse files
committed
Move {Brig,Galley]APIAccess effects from spar to wire-subsystems.
1 parent 011b205 commit 2368e57

29 files changed

Lines changed: 840 additions & 1218 deletions

File tree

libs/wire-subsystems/default.nix

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
, constraints
2828
, containers
2929
, contravariant
30+
, cookie
3031
, cql
3132
, crypton
3233
, crypton-x509
@@ -163,6 +164,7 @@ mkDerivation {
163164
constraints
164165
containers
165166
contravariant
167+
cookie
166168
cql
167169
crypton
168170
crypton-x509
@@ -285,6 +287,7 @@ mkDerivation {
285287
constraints
286288
containers
287289
contravariant
290+
cookie
288291
cql
289292
crypton
290293
crypton-x509

libs/wire-subsystems/src/Wire/BrigAPIAccess.hs

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,29 @@ module Wire.BrigAPIAccess
7171
deleteGroupInternal,
7272
deleteApp,
7373
DeleteGroupManagedError (..),
74+
75+
-- * SAML / SCIM user management
76+
createSAML,
77+
createNoSAML,
78+
updateEmail,
79+
getAccount,
80+
getAccountByHandle,
81+
getByEmail,
82+
setName,
83+
setHandle,
84+
setManagedBy,
85+
setSSOId,
86+
setRichInfo,
87+
setLocale,
88+
getRichInfo,
89+
checkHandleAvailable,
90+
ssoLogin,
91+
getStatus,
92+
getStatusMaybe,
93+
setStatus,
94+
getDefaultUserLocale,
95+
checkAdminGetTeamId,
96+
sendSAMLIdPChangedEmail,
7497
)
7598
where
7699

@@ -86,17 +109,22 @@ import Network.HTTP.Types.Status
86109
import Network.Wai.Utilities.Error qualified as Wai
87110
import Polysemy
88111
import Polysemy.Error
112+
import SAML2.WebSSO qualified as SAML
113+
import Web.Cookie (SetCookie)
89114
import Web.Scim.Filter qualified as Scim
90115
import Wire.API.Connection
91116
import Wire.API.Error.Galley
117+
import Wire.API.Locale
92118
import Wire.API.MLS.CipherSuite
93119
import Wire.API.Routes.Internal.Brig
94120
import Wire.API.Routes.Internal.Brig.Connection
95121
import Wire.API.Routes.Internal.Galley.TeamFeatureNoConfigMulti qualified as Multi
96122
import Wire.API.Team.Export
97123
import Wire.API.Team.Feature
124+
import Wire.API.Team.Role (Role)
98125
import Wire.API.Team.Size
99126
import Wire.API.User
127+
import Wire.API.User.Auth (CookieLabel)
100128
import Wire.API.User.Auth.ReAuth
101129
import Wire.API.User.Client
102130
import Wire.API.User.Client.Prekey
@@ -170,6 +198,46 @@ data BrigAPIAccess m a where
170198
UpdateGroup :: UpdateGroupInternalRequest -> BrigAPIAccess m (Either Wai.Error ())
171199
DeleteGroupInternal :: ManagedBy -> TeamId -> UserGroupId -> BrigAPIAccess m (Either DeleteGroupManagedError ())
172200
DeleteApp :: TeamId -> UserId -> BrigAPIAccess m ()
201+
-- SAML / SCIM user management (migrated from Spar.Sem.BrigAccess)
202+
CreateSAML ::
203+
SAML.UserRef ->
204+
UserId ->
205+
TeamId ->
206+
Name ->
207+
ManagedBy ->
208+
Maybe Handle ->
209+
Maybe RichInfo ->
210+
Maybe Locale ->
211+
Role ->
212+
BrigAPIAccess m UserId
213+
CreateNoSAML ::
214+
Text ->
215+
EmailAddress ->
216+
UserId ->
217+
TeamId ->
218+
Name ->
219+
Maybe Locale ->
220+
Role ->
221+
BrigAPIAccess m UserId
222+
UpdateEmail :: UserId -> EmailAddress -> EmailActivation -> BrigAPIAccess m ()
223+
GetAccount :: HavePendingInvitations -> UserId -> BrigAPIAccess m (Maybe User)
224+
GetAccountByHandle :: Handle -> BrigAPIAccess m (Maybe User)
225+
GetByEmail :: EmailAddress -> BrigAPIAccess m (Maybe User)
226+
SetName :: UserId -> Name -> BrigAPIAccess m ()
227+
SetHandle :: UserId -> Handle -> BrigAPIAccess m ()
228+
SetManagedBy :: UserId -> ManagedBy -> BrigAPIAccess m ()
229+
SetSSOId :: UserId -> UserSSOId -> BrigAPIAccess m ()
230+
SetRichInfo :: UserId -> RichInfo -> BrigAPIAccess m ()
231+
SetLocale :: UserId -> Maybe Locale -> BrigAPIAccess m ()
232+
GetRichInfo :: UserId -> BrigAPIAccess m RichInfo
233+
CheckHandleAvailable :: Handle -> BrigAPIAccess m Bool
234+
SsoLogin :: UserId -> Maybe CookieLabel -> BrigAPIAccess m SetCookie
235+
GetStatus :: UserId -> BrigAPIAccess m AccountStatus
236+
GetStatusMaybe :: UserId -> BrigAPIAccess m (Maybe AccountStatus)
237+
SetStatus :: UserId -> AccountStatus -> BrigAPIAccess m ()
238+
GetDefaultUserLocale :: BrigAPIAccess m Locale
239+
CheckAdminGetTeamId :: UserId -> BrigAPIAccess m TeamId
240+
SendSAMLIdPChangedEmail :: IdpChangedNotification -> BrigAPIAccess m ()
173241

174242
makeSem ''BrigAPIAccess
175243

0 commit comments

Comments
 (0)