Skip to content

Commit a8f4d89

Browse files
committed
Fix failing test.
1 parent a991099 commit a8f4d89

File tree

6 files changed

+51
-0
lines changed

6 files changed

+51
-0
lines changed

libs/wire-api/src/Wire/API/Routes/Public/Galley.hs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -947,6 +947,22 @@ type TeamAPI =
947947
'[RespondEmpty 200 "Team updated"]
948948
()
949949
)
950+
:<|> Named
951+
"update-team-delete-splash-screen"
952+
( Summary "Update team properties: delete splash screen"
953+
:> ZUser
954+
:> ZConn
955+
:> CanThrow 'NotATeamMember
956+
:> CanThrow ('MissingPermission ('Just 'SetTeamData))
957+
:> "teams"
958+
:> Capture "tid" TeamId
959+
:> "splash_screen"
960+
:> MultiVerb
961+
'DELETE
962+
'[JSON]
963+
'[RespondEmpty 200 "Team updated"]
964+
()
965+
)
950966
:<|> Named
951967
"get-teams"
952968
( Summary "Get teams (deprecated); use `GET /teams/:tid`"

services/galley/src/Galley/API/Public/Servant.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ servantSitemap =
106106
team =
107107
mkNamedAPI @"create-non-binding-team" createNonBindingTeamH
108108
<@> mkNamedAPI @"update-team" updateTeamH
109+
<@> mkNamedAPI @"update-team-delete-splash-screen" updateTeamDeleteSplashScreenH
109110
<@> mkNamedAPI @"get-teams" getManyTeams
110111
<@> mkNamedAPI @"get-team" getTeamH
111112
<@> mkNamedAPI @"delete-team" deleteTeam

services/galley/src/Galley/API/Teams.hs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ module Galley.API.Teams
2121
createNonBindingTeamH,
2222
updateTeamH,
2323
updateTeamStatus,
24+
updateTeamDeleteSplashScreenH,
2425
getTeamH,
2526
getTeamInternalH,
2627
getTeamNameInternalH,
@@ -336,6 +337,29 @@ updateTeamH zusr zcon tid updateData = do
336337
let r = list1 (userRecipient zusr) (membersToRecipients (Just zusr) (memList ^. teamMembers))
337338
E.push1 $ newPushLocal1 (memList ^. teamMemberListType) zusr (TeamEvent e) r & pushConn ?~ zcon
338339

340+
updateTeamDeleteSplashScreenH ::
341+
Members
342+
'[ ErrorS 'NotATeamMember,
343+
ErrorS ('MissingPermission ('Just 'SetTeamData)),
344+
GundeckAccess,
345+
Input UTCTime,
346+
TeamStore
347+
]
348+
r =>
349+
UserId ->
350+
ConnId ->
351+
TeamId ->
352+
Sem r ()
353+
updateTeamDeleteSplashScreenH zusr zcon tid = do
354+
zusrMembership <- E.getTeamMember tid zusr
355+
void $ permissionCheckS SSetTeamData zusrMembership
356+
E.deleteTeamSplashScreen tid
357+
now <- input
358+
memList <- getTeamMembersForFanout tid
359+
let e = newEvent tid now (EdTeamUpdate newTeamUpdateData)
360+
let r = list1 (userRecipient zusr) (membersToRecipients (Just zusr) (memList ^. teamMembers))
361+
E.push1 $ newPushLocal1 (memList ^. teamMemberListType) zusr (TeamEvent e) r & pushConn ?~ zcon
362+
339363
deleteTeam ::
340364
forall r.
341365
( Member BrigAccess r,

services/galley/src/Galley/Cassandra/Queries.hs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,9 @@ updateTeamStatus = "update team set status = ? where team = ?"
194194
updateTeamSplashScreen :: PrepQuery W (AssetKey, TeamId) ()
195195
updateTeamSplashScreen = "update team set splash_screen = ? where team = ?"
196196

197+
deleteTeamSplashScreen :: PrepQuery W (Identity TeamId) ()
198+
deleteTeamSplashScreen = "update team set splash_screen = NULL where team = ?"
199+
197200
-- Conversations ------------------------------------------------------------
198201

199202
selectConv :: PrepQuery R (Identity ConvId) (ConvType, UserId, Maybe (C.Set Access), Maybe AccessRoleLegacy, Maybe (C.Set AccessRoleV2), Maybe Text, Maybe TeamId, Maybe Bool, Maybe Milliseconds, Maybe ReceiptMode, Maybe ProtocolTag, Maybe GroupId, Maybe Epoch, Maybe CipherSuiteTag)

services/galley/src/Galley/Cassandra/Team.hs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ interpretTeamStoreToCassandra lh = interpret $ \case
9292
DeleteTeam tid -> embedClient $ deleteTeam tid
9393
DeleteTeamConversation tid cid -> embedClient $ removeTeamConv tid cid
9494
SetTeamData tid upd -> embedClient $ updateTeam tid upd
95+
DeleteTeamSplashScreen tid -> embedClient $ deleteTeamSplashScreen tid
9596
SetTeamStatus tid st -> embedClient $ updateTeamStatus tid st
9697
FanoutLimit -> embedApp $ currentFanoutLimit <$> view options
9798
GetLegalHoldFlag ->
@@ -381,6 +382,10 @@ updateTeam tid u = retry x5 . batch $ do
381382
for_ (u ^. splashScreenUpdate) $ \ss ->
382383
addPrepQuery Cql.updateTeamSplashScreen (ss, tid)
383384

385+
deleteTeamSplashScreen :: TeamId -> Client ()
386+
deleteTeamSplashScreen tid = retry x5 . batch $ do
387+
addPrepQuery Cql.deleteTeamSplashScreen (Identity tid)
388+
384389
-- | Construct 'TeamMember' from database tuple.
385390
-- If FeatureLegalHoldWhitelistTeamsAndImplicitConsent is enabled set UserLegalHoldDisabled
386391
-- if team is whitelisted.

services/galley/src/Galley/Effects/TeamStore.hs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ module Galley.Effects.TeamStore
4444
-- ** Update teams
4545
deleteTeamConversation,
4646
setTeamData,
47+
deleteTeamSplashScreen,
4748
setTeamStatus,
4849

4950
-- ** Delete teams
@@ -123,6 +124,7 @@ data TeamStore m a where
123124
DeleteTeam :: TeamId -> TeamStore m ()
124125
DeleteTeamConversation :: TeamId -> ConvId -> TeamStore m ()
125126
SetTeamData :: TeamId -> TeamUpdateData -> TeamStore m ()
127+
DeleteTeamSplashScreen :: TeamId -> TeamStore m ()
126128
SetTeamStatus :: TeamId -> TeamStatus -> TeamStore m ()
127129
FanoutLimit :: TeamStore m (Range 1 HardTruncationLimit Int32)
128130
GetLegalHoldFlag :: TeamStore m FeatureLegalHold

0 commit comments

Comments
 (0)