Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/0-release-notes/pr-1937
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
If you have `selfDeletingMessages` configured in `galley.yaml`, add `lockStatus: unlocked`.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
get team feature config for self deleting messages response includes lock status
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
new internal endpoints for setting the lock status of self deleting messages
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Lock status for the self deleting messages feature can be set internally by ibis and customer support
1 change: 1 addition & 0 deletions docs/reference/cassandra-schema.cql
Original file line number Diff line number Diff line change
Expand Up @@ -422,6 +422,7 @@ CREATE TABLE galley_test.team_features (
file_sharing int,
legalhold_status int,
search_visibility_status int,
self_deleting_messages_lock_status int,
self_deleting_messages_status int,
self_deleting_messages_ttl int,
sso_status int,
Expand Down
10 changes: 5 additions & 5 deletions libs/galley-types/src/Galley/Types/Teams.hs
Original file line number Diff line number Diff line change
Expand Up @@ -212,11 +212,11 @@ data FeatureFlags = FeatureFlags
{ _flagSSO :: !FeatureSSO,
_flagLegalHold :: !FeatureLegalHold,
_flagTeamSearchVisibility :: !FeatureTeamSearchVisibility,
_flagAppLockDefaults :: !(Defaults (TeamFeatureStatus 'TeamFeatureAppLock)),
_flagClassifiedDomains :: !(TeamFeatureStatus 'TeamFeatureClassifiedDomains),
_flagFileSharing :: !(Defaults (TeamFeatureStatus 'TeamFeatureFileSharing)),
_flagConferenceCalling :: !(Defaults (TeamFeatureStatus 'TeamFeatureConferenceCalling)),
_flagSelfDeletingMessages :: !(Defaults (TeamFeatureStatus 'TeamFeatureSelfDeletingMessages))
_flagAppLockDefaults :: !(Defaults (TeamFeatureStatus 'WithoutLockStatus 'TeamFeatureAppLock)),
_flagClassifiedDomains :: !(TeamFeatureStatus 'WithoutLockStatus 'TeamFeatureClassifiedDomains),
_flagFileSharing :: !(Defaults (TeamFeatureStatus 'WithoutLockStatus 'TeamFeatureFileSharing)),
_flagConferenceCalling :: !(Defaults (TeamFeatureStatus 'WithoutLockStatus 'TeamFeatureConferenceCalling)),
_flagSelfDeletingMessages :: !(Defaults (TeamFeatureStatus 'WithLockStatus 'TeamFeatureSelfDeletingMessages))
}
deriving (Eq, Show, Generic)

Expand Down
4 changes: 2 additions & 2 deletions libs/wire-api/src/Wire/API/Routes/Internal/Brig.hs
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ type GetAccountFeatureConfig =
:> Capture "uid" UserId
:> "features"
:> "conferenceCalling"
:> Get '[Servant.JSON] (ApiFt.TeamFeatureStatus 'ApiFt.TeamFeatureConferenceCalling)
:> Get '[Servant.JSON] (ApiFt.TeamFeatureStatus 'ApiFt.WithLockStatus 'ApiFt.TeamFeatureConferenceCalling)

type PutAccountFeatureConfig =
Summary
Expand All @@ -75,7 +75,7 @@ type PutAccountFeatureConfig =
:> Capture "uid" UserId
:> "features"
:> "conferenceCalling"
:> Servant.ReqBody '[Servant.JSON] (ApiFt.TeamFeatureStatus 'ApiFt.TeamFeatureConferenceCalling)
:> Servant.ReqBody '[Servant.JSON] (ApiFt.TeamFeatureStatus 'ApiFt.WithoutLockStatus 'ApiFt.TeamFeatureConferenceCalling)
:> Put '[Servant.JSON] NoContent

type DeleteAccountFeatureConfig =
Expand Down
44 changes: 22 additions & 22 deletions libs/wire-api/src/Wire/API/Routes/Public/Galley.hs
Original file line number Diff line number Diff line change
Expand Up @@ -623,7 +623,7 @@ data Api routes = Api
:- FeatureStatusPut 'TeamFeatureSearchVisibility,
teamFeatureStatusSearchVisibilityDeprecatedGet ::
routes
:- FeatureStatusDeprecatedGet 'TeamFeatureSearchVisibility,
:- FeatureStatusDeprecatedGet 'WithoutLockStatus 'TeamFeatureSearchVisibility,
teamFeatureStatusSearchVisibilityDeprecatedPut ::
routes
:- FeatureStatusDeprecatedPut 'TeamFeatureSearchVisibility,
Expand All @@ -632,13 +632,13 @@ data Api routes = Api
:- FeatureStatusGet 'TeamFeatureValidateSAMLEmails,
teamFeatureStatusValidateSAMLEmailsDeprecatedGet ::
routes
:- FeatureStatusDeprecatedGet 'TeamFeatureValidateSAMLEmails,
:- FeatureStatusDeprecatedGet 'WithoutLockStatus 'TeamFeatureValidateSAMLEmails,
teamFeatureStatusDigitalSignaturesGet ::
routes
:- FeatureStatusGet 'TeamFeatureDigitalSignatures,
teamFeatureStatusDigitalSignaturesDeprecatedGet ::
routes
:- FeatureStatusDeprecatedGet 'TeamFeatureDigitalSignatures,
:- FeatureStatusDeprecatedGet 'WithoutLockStatus 'TeamFeatureDigitalSignatures,
teamFeatureStatusAppLockGet ::
routes
:- FeatureStatusGet 'TeamFeatureAppLock,
Expand Down Expand Up @@ -668,34 +668,34 @@ data Api routes = Api
:- AllFeatureConfigsGet,
featureConfigLegalHoldGet ::
routes
:- FeatureConfigGet 'TeamFeatureLegalHold,
:- FeatureConfigGet 'WithoutLockStatus 'TeamFeatureLegalHold,
featureConfigSSOGet ::
routes
:- FeatureConfigGet 'TeamFeatureSSO,
:- FeatureConfigGet 'WithoutLockStatus 'TeamFeatureSSO,
featureConfigSearchVisibilityGet ::
routes
:- FeatureConfigGet 'TeamFeatureSearchVisibility,
:- FeatureConfigGet 'WithoutLockStatus 'TeamFeatureSearchVisibility,
featureConfigValidateSAMLEmailsGet ::
routes
:- FeatureConfigGet 'TeamFeatureValidateSAMLEmails,
:- FeatureConfigGet 'WithoutLockStatus 'TeamFeatureValidateSAMLEmails,
featureConfigDigitalSignaturesGet ::
routes
:- FeatureConfigGet 'TeamFeatureDigitalSignatures,
:- FeatureConfigGet 'WithoutLockStatus 'TeamFeatureDigitalSignatures,
featureConfigAppLockGet ::
routes
:- FeatureConfigGet 'TeamFeatureAppLock,
:- FeatureConfigGet 'WithoutLockStatus 'TeamFeatureAppLock,
featureConfigFileSharingGet ::
routes
:- FeatureConfigGet 'TeamFeatureFileSharing,
:- FeatureConfigGet 'WithoutLockStatus 'TeamFeatureFileSharing,
featureConfigClassifiedDomainsGet ::
routes
:- FeatureConfigGet 'TeamFeatureClassifiedDomains,
:- FeatureConfigGet 'WithoutLockStatus 'TeamFeatureClassifiedDomains,
featureConfigConferenceCallingGet ::
routes
:- FeatureConfigGet 'TeamFeatureConferenceCalling,
:- FeatureConfigGet 'WithoutLockStatus 'TeamFeatureConferenceCalling,
featureConfigSelfDeletingMessagesGet ::
routes
:- FeatureConfigGet 'TeamFeatureSelfDeletingMessages
:- FeatureConfigGet 'WithLockStatus 'TeamFeatureSelfDeletingMessages
}
deriving (Generic)

Expand All @@ -708,7 +708,7 @@ type FeatureStatusGet featureName =
:> Capture "tid" TeamId
:> "features"
:> KnownTeamFeatureNameSymbol featureName
:> Get '[Servant.JSON] (TeamFeatureStatus featureName)
:> Get '[Servant.JSON] (TeamFeatureStatus 'WithLockStatus featureName)

type FeatureStatusPut featureName =
Summary (AppendSymbol "Put config for " (KnownTeamFeatureNameSymbol featureName))
Expand All @@ -717,18 +717,18 @@ type FeatureStatusPut featureName =
:> Capture "tid" TeamId
:> "features"
:> KnownTeamFeatureNameSymbol featureName
:> ReqBody '[Servant.JSON] (TeamFeatureStatus featureName)
:> Put '[Servant.JSON] (TeamFeatureStatus featureName)
:> ReqBody '[Servant.JSON] (TeamFeatureStatus 'WithoutLockStatus featureName)
:> Put '[Servant.JSON] (TeamFeatureStatus 'WithoutLockStatus featureName)

-- | A type for a GET endpoint for a feature with a deprecated path
type FeatureStatusDeprecatedGet featureName =
type FeatureStatusDeprecatedGet ps featureName =
Summary (AppendSymbol "[deprecated] Get config for " (KnownTeamFeatureNameSymbol featureName))
:> ZUser
:> "teams"
:> Capture "tid" TeamId
:> "features"
:> DeprecatedFeatureName featureName
:> Get '[Servant.JSON] (TeamFeatureStatus featureName)
:> Get '[Servant.JSON] (TeamFeatureStatus ps featureName)

-- | A type for a PUT endpoint for a feature with a deprecated path
type FeatureStatusDeprecatedPut featureName =
Expand All @@ -738,15 +738,15 @@ type FeatureStatusDeprecatedPut featureName =
:> Capture "tid" TeamId
:> "features"
:> DeprecatedFeatureName featureName
:> ReqBody '[Servant.JSON] (TeamFeatureStatus featureName)
:> Put '[Servant.JSON] (TeamFeatureStatus featureName)
:> ReqBody '[Servant.JSON] (TeamFeatureStatus 'WithoutLockStatus featureName)
:> Put '[Servant.JSON] (TeamFeatureStatus 'WithoutLockStatus featureName)

type FeatureConfigGet featureName =
type FeatureConfigGet ps featureName =
Summary (AppendSymbol "Get feature config for feature " (KnownTeamFeatureNameSymbol featureName))
:> ZUser
:> "feature-configs"
:> KnownTeamFeatureNameSymbol featureName
:> Get '[Servant.JSON] (TeamFeatureStatus featureName)
:> Get '[Servant.JSON] (TeamFeatureStatus ps featureName)

type AllFeatureConfigsGet =
Summary "Get configurations of all features"
Expand Down
4 changes: 2 additions & 2 deletions libs/wire-api/src/Wire/API/Routes/Public/LegalHold.hs
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@ type PublicAPI =

type InternalAPI =
"i" :> "teams" :> Capture "tid" TeamId :> "legalhold"
:> Get '[JSON] (TeamFeatureStatus 'TeamFeatureLegalHold)
:> Get '[JSON] (TeamFeatureStatus 'WithLockStatus 'TeamFeatureLegalHold)
:<|> "i" :> "teams" :> Capture "tid" TeamId :> "legalhold"
:> ReqBody '[JSON] (TeamFeatureStatus 'TeamFeatureLegalHold)
:> ReqBody '[JSON] (TeamFeatureStatus 'WithoutLockStatus 'TeamFeatureLegalHold)
:> Put '[] NoContent

swaggerDoc :: Swagger
Expand Down
1 change: 1 addition & 0 deletions libs/wire-api/src/Wire/API/Swagger.hs
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ models =
Team.Feature.modelTeamFeatureAppLockConfig,
Team.Feature.modelTeamFeatureClassifiedDomainsConfig,
Team.Feature.modelTeamFeatureSelfDeletingMessagesConfig,
Team.Feature.modelLockStatus,
Team.Invitation.modelTeamInvitation,
Team.Invitation.modelTeamInvitationList,
Team.Invitation.modelTeamInvitationRequest,
Expand Down
Loading