@@ -30,7 +30,7 @@ import Brig.Options
3030import Brig.Types.Common
3131import Brig.Types.User
3232import Brig.Types.Team.Invitation
33- import Galley.Types.Teams (Permissions )
33+ import Galley.Types.Teams (Role )
3434import Cassandra
3535import UnliftIO.Async (pooledMapConcurrentlyN_ )
3636import Data.Id
@@ -58,35 +58,35 @@ data InvitationInfo = InvitationInfo
5858
5959insertInvitation :: MonadClient m
6060 => TeamId
61- -> Permissions
61+ -> Maybe Role
6262 -> Email
6363 -> UTCTime
6464 -> Maybe UserId
6565 -> Timeout -- ^ The timeout for the invitation code.
6666 -> m (Invitation , InvitationCode )
67- insertInvitation t perms email (toUTCTimeMillis -> now) minviter timeout = do
67+ insertInvitation t role email (toUTCTimeMillis -> now) minviter timeout = do
6868 iid <- liftIO mkInvitationId
6969 code <- liftIO mkInvitationCode
70- let inv = Invitation t perms iid email now minviter
70+ let inv = Invitation t role iid email now minviter
7171 retry x5 $ batch $ do
7272 setType BatchLogged
7373 setConsistency Quorum
74- addPrepQuery cqlInvitation (t, perms , iid, code, email, now, minviter, round timeout)
74+ addPrepQuery cqlInvitation (t, role , iid, code, email, now, minviter, round timeout)
7575 addPrepQuery cqlInvitationInfo (code, t, iid, round timeout)
7676 return (inv, code)
7777 where
7878 cqlInvitationInfo :: PrepQuery W (InvitationCode , TeamId , InvitationId , Int32 ) ()
7979 cqlInvitationInfo = " INSERT INTO team_invitation_info (code, team, id) VALUES (?, ?, ?) USING TTL ?"
8080
81- cqlInvitation :: PrepQuery W (TeamId , Permissions , InvitationId , InvitationCode , Email , UTCTimeMillis , Maybe UserId , Int32 ) ()
82- cqlInvitation = " INSERT INTO team_invitation (team, perms , id, code, email, created_at, created_by) VALUES (?, ?, ?, ?, ?, ?, ?) USING TTL ?"
81+ cqlInvitation :: PrepQuery W (TeamId , Maybe Role , InvitationId , InvitationCode , Email , UTCTimeMillis , Maybe UserId , Int32 ) ()
82+ cqlInvitation = " INSERT INTO team_invitation (team, role , id, code, email, created_at, created_by) VALUES (?, ?, ?, ?, ?, ?, ?) USING TTL ?"
8383
8484lookupInvitation :: MonadClient m => TeamId -> InvitationId -> m (Maybe Invitation )
8585lookupInvitation t r = fmap toInvitation <$>
8686 retry x1 (query1 cqlInvitation (params Quorum (t, r)))
8787 where
88- cqlInvitation :: PrepQuery R (TeamId , InvitationId ) (TeamId , Permissions , InvitationId , Email , UTCTimeMillis , Maybe UserId )
89- cqlInvitation = " SELECT team, perms , id, email, created_at, created_by FROM team_invitation WHERE team = ? AND id = ?"
88+ cqlInvitation :: PrepQuery R (TeamId , InvitationId ) (TeamId , Maybe Role , InvitationId , Email , UTCTimeMillis , Maybe UserId )
89+ cqlInvitation = " SELECT team, role , id, email, created_at, created_by FROM team_invitation WHERE team = ? AND id = ?"
9090
9191lookupInvitationByCode :: MonadClient m => InvitationCode -> m (Maybe Invitation )
9292lookupInvitationByCode i = lookupInvitationInfo i >>= \ case
@@ -111,11 +111,11 @@ lookupInvitations team start (fromRange -> size) = do
111111 toResult more invs = cassandraResultPage $ emptyPage { result = invs
112112 , hasMore = more
113113 }
114- cqlSelect :: PrepQuery R (Identity TeamId ) (TeamId , Permissions , InvitationId , Email , UTCTimeMillis , Maybe UserId )
115- cqlSelect = " SELECT team, perms , id, email, created_at, created_by FROM team_invitation WHERE team = ? ORDER BY id ASC"
114+ cqlSelect :: PrepQuery R (Identity TeamId ) (TeamId , Maybe Role , InvitationId , Email , UTCTimeMillis , Maybe UserId )
115+ cqlSelect = " SELECT team, role , id, email, created_at, created_by FROM team_invitation WHERE team = ? ORDER BY id ASC"
116116
117- cqlSelectFrom :: PrepQuery R (TeamId , InvitationId ) (TeamId , Permissions , InvitationId , Email , UTCTimeMillis , Maybe UserId )
118- cqlSelectFrom = " SELECT team, perms , id, email, created_at, created_by FROM team_invitation WHERE team = ? AND id > ? ORDER BY id ASC"
117+ cqlSelectFrom :: PrepQuery R (TeamId , InvitationId ) (TeamId , Maybe Role , InvitationId , Email , UTCTimeMillis , Maybe UserId )
118+ cqlSelectFrom = " SELECT team, role , id, email, created_at, created_by FROM team_invitation WHERE team = ? AND id > ? ORDER BY id ASC"
119119
120120deleteInvitation :: MonadClient m => TeamId -> InvitationId -> m ()
121121deleteInvitation t i = do
@@ -162,5 +162,5 @@ countInvitations t = fromMaybe 0 . fmap runIdentity <$>
162162 cqlSelect :: PrepQuery R (Identity TeamId ) (Identity Int64 )
163163 cqlSelect = " SELECT count(*) FROM team_invitation WHERE team = ?"
164164
165- toInvitation :: (TeamId , Permissions , InvitationId , Email , UTCTimeMillis , Maybe UserId ) -> Invitation
166- toInvitation (t, p , i, e, tm, minviter) = Invitation t p i e tm minviter
165+ toInvitation :: (TeamId , Maybe Role , InvitationId , Email , UTCTimeMillis , Maybe UserId ) -> Invitation
166+ toInvitation (t, r , i, e, tm, minviter) = Invitation t r i e tm minviter
0 commit comments