Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- data ListUsersById = ListUsersById {}
- newtype UserIdList = UserIdList {}
- newtype UserIds = UserIds {}
- newtype QualifiedUserIdList = QualifiedUserIdList {}
- qualifiedUserIdListObjectSchema :: ObjectSchema SwaggerDoc QualifiedUserIdList
- newtype LimitedQualifiedUserIdList (max :: Nat) = LimitedQualifiedUserIdList {
- qualifiedUsers :: Range 1 max [Qualified UserId]
- data ScimUserInfo = ScimUserInfo {}
- newtype UserSet = UserSet {}
- data UserProfile = UserProfile {
- profileQualifiedId :: Qualified UserId
- profileName :: Name
- profileTextStatus :: Maybe TextStatus
- profilePict :: Pict
- profileAssets :: [Asset]
- profileAccentId :: ColourId
- profileDeleted :: Bool
- profileService :: Maybe ServiceRef
- profileHandle :: Maybe Handle
- profileExpire :: Maybe UTCTimeMillis
- profileTeam :: Maybe TeamId
- profileEmail :: Maybe EmailAddress
- profileLegalholdStatus :: UserLegalHoldStatus
- profileSupportedProtocols :: Set BaseProtocolTag
- newtype SelfProfile = SelfProfile {}
- data User = User {
- userQualifiedId :: Qualified UserId
- userIdentity :: Maybe UserIdentity
- userEmailUnvalidated :: Maybe EmailAddress
- userDisplayName :: Name
- userTextStatus :: Maybe TextStatus
- userPict :: Pict
- userAssets :: [Asset]
- userAccentId :: ColourId
- userStatus :: AccountStatus
- userLocale :: Locale
- userService :: Maybe ServiceRef
- userHandle :: Maybe Handle
- userExpire :: Maybe UTCTimeMillis
- userTeam :: Maybe TeamId
- userManagedBy :: ManagedBy
- userSupportedProtocols :: Set BaseProtocolTag
- isSamlUser :: User -> Bool
- userId :: User -> UserId
- userDeleted :: User -> Bool
- userEmail :: User -> Maybe EmailAddress
- userSSOId :: User -> Maybe UserSSOId
- userIssuer :: User -> Maybe Issuer
- userSCIMExternalId :: User -> Maybe Text
- scimExternalId :: ManagedBy -> UserSSOId -> Maybe Text
- ssoIssuerAndNameId :: UserSSOId -> Maybe (Text, Text)
- mkUserProfile :: EmailVisibilityConfigWithViewer -> User -> UserLegalHoldStatus -> UserProfile
- mkUserProfileWithEmail :: Maybe EmailAddress -> User -> UserLegalHoldStatus -> UserProfile
- userObjectSchema :: ObjectSchema SwaggerDoc User
- data CreateUserTeam = CreateUserTeam {
- createdTeamId :: !TeamId
- createdTeamName :: !Text
- type UpgradePersonalToTeamResponses = '[ErrorResponse UserAlreadyInATeam, ErrorResponse UserNotFound, Respond 200 "Team created" CreateUserTeam]
- data UpgradePersonalToTeamError
- newtype NewUserPublic = NewUserPublic NewUser
- data RegisterError
- = RegisterErrorAllowlistError
- | RegisterErrorInvalidInvitationCode
- | RegisterErrorMissingIdentity
- | RegisterErrorUserKeyExists
- | RegisterErrorInvalidActivationCodeWrongUser
- | RegisterErrorInvalidActivationCodeWrongCode
- | RegisterErrorInvalidEmail
- | RegisterErrorInvalidPhone
- | RegisterErrorBlacklistedEmail
- | RegisterErrorTooManyTeamMembers
- | RegisterErrorUserCreationRestricted
- data RegisterSuccess = RegisterSuccess SetCookie SelfProfile
- type RegisterResponses = RegisterErrorResponses .++ '[WithHeaders '[DescHeader "Set-Cookie" "Cookie" SetCookie, DescHeader "Location" "UserId" UserId] RegisterSuccess (Respond 201 "User created and pending activation" SelfProfile)]
- type RegisterInternalResponses = RegisterErrorResponses .++ '[WithHeaders '[DescHeader "Location" "UserId" UserId] SelfProfile (Respond 201 "User created and pending activation" SelfProfile)]
- data NewUser = NewUser {
- newUserDisplayName :: Name
- newUserUUID :: Maybe UUID
- newUserIdentity :: Maybe UserIdentity
- newUserPict :: Maybe Pict
- newUserAssets :: [Asset]
- newUserAccentId :: Maybe ColourId
- newUserEmailCode :: Maybe ActivationCode
- newUserOrigin :: Maybe NewUserOrigin
- newUserLabel :: Maybe CookieLabel
- newUserLocale :: Maybe Locale
- newUserPassword :: Maybe PlainTextPassword8
- newUserExpiresIn :: Maybe ExpiresIn
- newUserManagedBy :: Maybe ManagedBy
- newUserSupportedProtocols :: Maybe (Set BaseProtocolTag)
- emptyNewUser :: Name -> NewUser
- data NewUserSpar = NewUserSpar {}
- data CreateUserSparError
- type CreateUserSparInternalResponses = CreateUserSparErrorResponses .++ '[WithHeaders '[DescHeader "Location" "UserId" UserId] SelfProfile (Respond 201 "User created and pending activation" SelfProfile)]
- newUserFromSpar :: NewUserSpar -> NewUser
- urefToExternalId :: UserRef -> Maybe Text
- type ExpiresIn = Range 1 604800 Integer
- newUserTeam :: NewUser -> Maybe NewTeamUser
- newUserEmail :: NewUser -> Maybe EmailAddress
- newUserSSOId :: NewUser -> Maybe UserSSOId
- isNewUserEphemeral :: NewUser -> Bool
- isNewUserTeamMember :: NewUser -> Bool
- data NewUserOrigin
- newtype InvitationCode = InvitationCode {}
- data NewTeamUser
- data BindingNewTeamUser = BindingNewTeamUser {
- bnuTeam :: NewTeam
- bnuCurrency :: Maybe Alpha
- data UserUpdate = UserUpdate {
- uupName :: Maybe Name
- uupTextStatus :: Maybe TextStatus
- uupPict :: Maybe Pict
- uupAssets :: Maybe [Asset]
- uupAccentId :: Maybe ColourId
- data UpdateProfileError
- type PutSelfResponses = PutSelfErrorResponses .++ '[RespondEmpty 200 "User updated"]
- data PasswordChange = PasswordChange {}
- data ChangePasswordError
- type ChangePasswordResponses = ChangePasswordErrorResponses .++ '[RespondEmpty 200 "Password Changed"]
- newtype LocaleUpdate = LocaleUpdate {}
- newtype EmailUpdate = EmailUpdate {}
- newtype PhoneUpdate = PhoneUpdate {}
- data ChangePhoneError
- type ChangePhoneResponses = ChangePhoneErrorResponses .++ '[RespondEmpty 202 "Phone updated"]
- data RemoveIdentityError
- type RemoveIdentityResponses = RemoveIdentityErrorResponses .++ '[RespondEmpty 200 "Identity Removed"]
- newtype HandleUpdate = HandleUpdate {}
- data ChangeHandleError
- type ChangeHandleResponses = ChangeHandleErrorResponses .++ '[RespondEmpty 200 "Handle Changed"]
- newtype NameUpdate = NameUpdate {}
- data ChangeEmailResponse
- newtype DeleteUser = DeleteUser {}
- mkDeleteUser :: Maybe PlainTextPassword6 -> DeleteUser
- data VerifyDeleteUser = VerifyDeleteUser {}
- newtype DeletionCodeTimeout = DeletionCodeTimeout {}
- data DeleteUserResponse
- data DeleteUserResult
- data AccountStatus
- newtype AccountStatusUpdate = AccountStatusUpdate {}
- data AccountStatusResp = AccountStatusResp {}
- data NewUserScimInvitation = NewUserScimInvitation {}
- data ListUsersQuery
- = ListUsersByIds [Qualified UserId]
- | ListUsersByHandles (Range 1 4 [Qualified Handle])
- newtype GetActivationCodeResp = GetActivationCodeResp {}
- newtype GetPasswordResetCodeResp = GetPasswordResetCodeResp {}
- data CheckBlacklistResponse
- newtype ManagedByUpdate = ManagedByUpdate {}
- newtype RichInfoUpdate = RichInfoUpdate {}
- type PasswordResetPair = (PasswordResetKey, PasswordResetCode)
- data UpdateSSOIdResponse
- data CheckHandleResponse
- data UpdateConnectionsInternal
- data EmailVisibility a
- type EmailVisibilityConfig = EmailVisibility ()
- type EmailVisibilityConfigWithViewer = EmailVisibility (Maybe (TeamId, TeamMember))
- module Wire.API.Locale
- data EmailAddress
- newtype Phone = Phone {}
- data UserIdentity
- data UserSSOId
- unsafeEmailAddress :: ByteString -> ByteString -> EmailAddress
- localPart :: EmailAddress -> ByteString
- domainPart :: EmailAddress -> ByteString
- addrSpec :: Parser EmailAddress
- emailAddress :: ByteString -> Maybe EmailAddress
- fromEmail :: EmailAddress -> Text
- emailAddressText :: Text -> Maybe EmailAddress
- emailToSAMLNameID :: EmailAddress -> Either String NameID
- emailFromSAML :: Email -> EmailAddress
- isSSOIdentity :: UserIdentity -> Bool
- newIdentity :: Maybe EmailAddress -> Maybe UserSSOId -> Maybe UserIdentity
- emailIdentity :: UserIdentity -> Maybe EmailAddress
- ssoIdentity :: UserIdentity -> Maybe UserSSOId
- userIdentityObjectSchema :: ObjectSchema SwaggerDoc UserIdentity
- maybeUserIdentityObjectSchema :: ObjectSchema SwaggerDoc (Maybe UserIdentity)
- maybeUserIdentityFromComponents :: UserIdentityComponents -> Maybe UserIdentity
- parsePhone :: Text -> Maybe Phone
- isValidPhone :: Text -> Bool
- mkSampleUref :: Text -> Text -> UserRef
- mkSimpleSampleUref :: UserRef
- module Wire.API.User.Profile
- data VerificationAction
- data SendVerificationCode = SendVerificationCode {}
- data BaseProtocolTag
- baseProtocolToProtocol :: BaseProtocolTag -> ProtocolTag
- newtype SupportedProtocolUpdate = SupportedProtocolUpdate {}
- defSupportedProtocols :: Set BaseProtocolTag
- protocolSetBits :: Set BaseProtocolTag -> Word32
- protocolSetFromBits :: Word32 -> Set BaseProtocolTag
Documentation
data ListUsersById Source #
Instances
FromJSON ListUsersById Source # | |
Defined in Wire.API.User parseJSON :: Value -> Parser ListUsersById Source # parseJSONList :: Value -> Parser [ListUsersById] Source # | |
ToJSON ListUsersById Source # | |
Defined in Wire.API.User toJSON :: ListUsersById -> Value Source # toEncoding :: ListUsersById -> Encoding Source # toJSONList :: [ListUsersById] -> Value Source # toEncodingList :: [ListUsersById] -> Encoding Source # | |
Show ListUsersById Source # | |
Defined in Wire.API.User showsPrec :: Int -> ListUsersById -> ShowS # show :: ListUsersById -> String # showList :: [ListUsersById] -> ShowS # | |
Eq ListUsersById Source # | |
Defined in Wire.API.User (==) :: ListUsersById -> ListUsersById -> Bool # (/=) :: ListUsersById -> ListUsersById -> Bool # | |
ToSchema ListUsersById Source # | |
Defined in Wire.API.User | |
ToSchema ListUsersById Source # | |
Defined in Wire.API.User |
newtype UserIdList Source #
This datatype replaces the old Members
datatype,
which has been replaced by SimpleMembers
. This is
needed due to backwards compatible reasons since old
clients will break if we switch these types. Also, this
definition represents better what information it carries
Instances
Response type for endpoints returning lists of users with a specific connection state.
E.g. getContactList
returns a UserIds
containing the list of connections in an
Accepted
state.
There really shouldn't be both types UserIds
and UserIdList
, but refactoring them
away requires changing the api.
Instances
newtype QualifiedUserIdList Source #
Instances
newtype LimitedQualifiedUserIdList (max :: Nat) Source #
We cannot use Wrapped
here because all the instances require proof that 1
is less than or equal to max
.
LimitedQualifiedUserIdList | |
|
Instances
data ScimUserInfo Source #
Instances
Set of user ids, can be used for different purposes (e.g., used on the internal APIs for listing user's clients)
Instances
data UserProfile Source #
A subset of the data of an existing User
that is returned on the API and is visible to
other users. Each user also has access to their own profile in a richer format --
SelfProfile
.
UserProfile | |
|
Instances
newtype SelfProfile Source #
A self profile.
Instances
The data of an existing user.
User | |
|
Instances
isSamlUser :: User -> Bool Source #
userDeleted :: User -> Bool Source #
mkUserProfile :: EmailVisibilityConfigWithViewer -> User -> UserLegalHoldStatus -> UserProfile Source #
UpgradePersonalToTeam
data CreateUserTeam Source #
Instances
FromJSON CreateUserTeam Source # | |
Defined in Wire.API.User parseJSON :: Value -> Parser CreateUserTeam Source # parseJSONList :: Value -> Parser [CreateUserTeam] Source # | |
ToJSON CreateUserTeam Source # | |
Defined in Wire.API.User toJSON :: CreateUserTeam -> Value Source # toEncoding :: CreateUserTeam -> Encoding Source # toJSONList :: [CreateUserTeam] -> Value Source # toEncodingList :: [CreateUserTeam] -> Encoding Source # | |
Show CreateUserTeam Source # | |
Defined in Wire.API.User showsPrec :: Int -> CreateUserTeam -> ShowS # show :: CreateUserTeam -> String # showList :: [CreateUserTeam] -> ShowS # | |
ToSchema CreateUserTeam Source # | |
Defined in Wire.API.User | |
ToSchema CreateUserTeam Source # | |
Defined in Wire.API.User | |
AsUnion UpgradePersonalToTeamResponses (Either UpgradePersonalToTeamError CreateUserTeam) Source # | |
type UpgradePersonalToTeamResponses = '[ErrorResponse UserAlreadyInATeam, ErrorResponse UserNotFound, Respond 200 "Team created" CreateUserTeam] Source #
data UpgradePersonalToTeamError Source #
Instances
NewUser
newtype NewUserPublic Source #
We use the same NewUser
type for the /register
and /i/users
endpoints. This
newtype is used as request body type for the public /register
endpoint, where only a
subset of the NewUser
functionality should be allowed.
Specifically, we forbid the following:
- Setting
SSOIdentity
(SSO users are created by Spar) - Setting the UUID (only needed so that Spar can find the user if Spar crashes before it finishes creating the user).
- Setting
ManagedBy
(it should be the default in all cases unless Spar creates a SCIM-managed user)
Instances
data RegisterError Source #
Instances
data RegisterSuccess Source #
Instances
res ~ CreateUserSparResponses => AsUnion res (Either CreateUserSparError RegisterSuccess) Source # | |
Defined in Wire.API.User toUnion :: Either CreateUserSparError RegisterSuccess -> Union (ResponseTypes res) Source # fromUnion :: Union (ResponseTypes res) -> Either CreateUserSparError RegisterSuccess Source # | |
res ~ RegisterResponses => AsUnion res (Either RegisterError RegisterSuccess) Source # | |
Defined in Wire.API.User toUnion :: Either RegisterError RegisterSuccess -> Union (ResponseTypes res) Source # fromUnion :: Union (ResponseTypes res) -> Either RegisterError RegisterSuccess Source # | |
AsHeaders '[SetCookie, UserId] SelfProfile RegisterSuccess Source # | |
Defined in Wire.API.User fromHeaders :: (NP I '[SetCookie, UserId], SelfProfile) -> RegisterSuccess Source # toHeaders :: RegisterSuccess -> (NP I '[SetCookie, UserId], SelfProfile) Source # |
type RegisterResponses = RegisterErrorResponses .++ '[WithHeaders '[DescHeader "Set-Cookie" "Cookie" SetCookie, DescHeader "Location" "UserId" UserId] RegisterSuccess (Respond 201 "User created and pending activation" SelfProfile)] Source #
type RegisterInternalResponses = RegisterErrorResponses .++ '[WithHeaders '[DescHeader "Location" "UserId" UserId] SelfProfile (Respond 201 "User created and pending activation" SelfProfile)] Source #
NewUser | |
|
Instances
emptyNewUser :: Name -> NewUser Source #
data NewUserSpar Source #
Instances
data CreateUserSparError Source #
Instances
type CreateUserSparInternalResponses = CreateUserSparErrorResponses .++ '[WithHeaders '[DescHeader "Location" "UserId" UserId] SelfProfile (Respond 201 "User created and pending activation" SelfProfile)] Source #
newUserFromSpar :: NewUserSpar -> NewUser Source #
newUserTeam :: NewUser -> Maybe NewTeamUser Source #
newUserEmail :: NewUser -> Maybe EmailAddress Source #
isNewUserEphemeral :: NewUser -> Bool Source #
A user is Ephemeral if she has neither email, phone, nor sso credentials and is not created via scim. Ephemeral users can be deleted after expires_in or sessionTokenTimeout (whichever comes earlier).
isNewUserTeamMember :: NewUser -> Bool Source #
NewUserOrigin
data NewUserOrigin Source #
Instances
newtype InvitationCode Source #
A random invitation code for use during registration
Instances
data NewTeamUser Source #
NewTeamMember InvitationCode | requires email address |
NewTeamCreator BindingNewTeamUser | |
NewTeamMemberSSO TeamId | sso: users with saml credentials and/or created via scim |
Instances
data BindingNewTeamUser Source #
Instances
Profile Updates
data UserUpdate Source #
UserUpdate | |
|
Instances
data UpdateProfileError Source #
Instances
Generic UpdateProfileError Source # | |
Defined in Wire.API.User type Rep UpdateProfileError :: Type -> Type # from :: UpdateProfileError -> Rep UpdateProfileError x # to :: Rep UpdateProfileError x -> UpdateProfileError # | |
Generic UpdateProfileError Source # | |
Defined in Wire.API.User type Code UpdateProfileError :: [[Type]] Source # | |
res ~ PutSelfResponses => AsUnion res (Maybe UpdateProfileError) Source # | |
Defined in Wire.API.User toUnion :: Maybe UpdateProfileError -> Union (ResponseTypes res) Source # fromUnion :: Union (ResponseTypes res) -> Maybe UpdateProfileError Source # | |
type Rep UpdateProfileError Source # | |
Defined in Wire.API.User | |
type Code UpdateProfileError Source # | |
Defined in Wire.API.User |
type PutSelfResponses = PutSelfErrorResponses .++ '[RespondEmpty 200 "User updated"] Source #
data PasswordChange Source #
The payload for setting or changing a password.
Instances
data ChangePasswordError Source #
Instances
type ChangePasswordResponses = ChangePasswordErrorResponses .++ '[RespondEmpty 200 "Password Changed"] Source #
newtype LocaleUpdate Source #
Instances
newtype EmailUpdate Source #
Instances
newtype PhoneUpdate Source #
Instances
data ChangePhoneError Source #
Instances
Generic ChangePhoneError Source # | |
Defined in Wire.API.User type Rep ChangePhoneError :: Type -> Type # from :: ChangePhoneError -> Rep ChangePhoneError x # to :: Rep ChangePhoneError x -> ChangePhoneError # | |
Generic ChangePhoneError Source # | |
Defined in Wire.API.User type Code ChangePhoneError :: [[Type]] Source # | |
res ~ ChangePhoneResponses => AsUnion res (Maybe ChangePhoneError) Source # | |
Defined in Wire.API.User toUnion :: Maybe ChangePhoneError -> Union (ResponseTypes res) Source # fromUnion :: Union (ResponseTypes res) -> Maybe ChangePhoneError Source # | |
type Rep ChangePhoneError Source # | |
type Code ChangePhoneError Source # | |
Defined in Wire.API.User |
type ChangePhoneResponses = ChangePhoneErrorResponses .++ '[RespondEmpty 202 "Phone updated"] Source #
data RemoveIdentityError Source #
Instances
type RemoveIdentityResponses = RemoveIdentityErrorResponses .++ '[RespondEmpty 200 "Identity Removed"] Source #
newtype HandleUpdate Source #
Instances
data ChangeHandleError Source #
Instances
type ChangeHandleResponses = ChangeHandleErrorResponses .++ '[RespondEmpty 200 "Handle Changed"] Source #
newtype NameUpdate Source #
Instances
data ChangeEmailResponse Source #
Instances
AsUnion '[Respond 202 "Update accepted and pending activation of the new email" (), Respond 204 "No update, current and new email address are the same" ()] ChangeEmailResponse Source # | |
Defined in Wire.API.User toUnion :: ChangeEmailResponse -> Union (ResponseTypes '[Respond 202 "Update accepted and pending activation of the new email" (), Respond 204 "No update, current and new email address are the same" ()]) Source # fromUnion :: Union (ResponseTypes '[Respond 202 "Update accepted and pending activation of the new email" (), Respond 204 "No update, current and new email address are the same" ()]) -> ChangeEmailResponse Source # |
Account Deletion
newtype DeleteUser Source #
Payload for requesting account deletion.
Instances
data VerifyDeleteUser Source #
Payload for verifying account deletion via a code.
Instances
newtype DeletionCodeTimeout Source #
A response for a pending deletion code.
Instances
data DeleteUserResponse Source #
Like DeleteUserResult
, but without the exception case.
Instances
AsUnion '[Respond 200 "UserResponseAccountAlreadyDeleted" (), Respond 202 "UserResponseAccountDeleted" ()] DeleteUserResponse Source # | |
Defined in Wire.API.User toUnion :: DeleteUserResponse -> Union (ResponseTypes '[Respond 200 "UserResponseAccountAlreadyDeleted" (), Respond 202 "UserResponseAccountDeleted" ()]) Source # fromUnion :: Union (ResponseTypes '[Respond 200 "UserResponseAccountAlreadyDeleted" (), Respond 202 "UserResponseAccountDeleted" ()]) -> DeleteUserResponse Source # |
data DeleteUserResult Source #
Result of an internal user/account deletion
NoUser | User never existed |
AccountAlreadyDeleted | User/account was deleted before |
AccountDeleted | User/account was deleted in this call |
Instances
Show DeleteUserResult Source # | |
Defined in Wire.API.User showsPrec :: Int -> DeleteUserResult -> ShowS # show :: DeleteUserResult -> String # showList :: [DeleteUserResult] -> ShowS # | |
Eq DeleteUserResult Source # | |
Defined in Wire.API.User (==) :: DeleteUserResult -> DeleteUserResult -> Bool # (/=) :: DeleteUserResult -> DeleteUserResult -> Bool # |
Account Status
data AccountStatus Source #
Active | |
Suspended | |
Deleted | |
Ephemeral | |
PendingInvitation | for most intents & purposes, this is another form of inactive. it is used for allowing scim to find users that have not accepted their invitation yet after creating via scim. |
Instances
newtype AccountStatusUpdate Source #
Instances
data AccountStatusResp Source #
Instances
Scim invitations
data NewUserScimInvitation Source #
Instances
List Users
data ListUsersQuery Source #
Instances
FromJSON ListUsersQuery Source # | |
Defined in Wire.API.User parseJSON :: Value -> Parser ListUsersQuery Source # parseJSONList :: Value -> Parser [ListUsersQuery] Source # | |
ToJSON ListUsersQuery Source # | |
Defined in Wire.API.User toJSON :: ListUsersQuery -> Value Source # toEncoding :: ListUsersQuery -> Encoding Source # toJSONList :: [ListUsersQuery] -> Value Source # toEncodingList :: [ListUsersQuery] -> Encoding Source # | |
Show ListUsersQuery Source # | |
Defined in Wire.API.User showsPrec :: Int -> ListUsersQuery -> ShowS # show :: ListUsersQuery -> String # showList :: [ListUsersQuery] -> ShowS # | |
Eq ListUsersQuery Source # | |
Defined in Wire.API.User (==) :: ListUsersQuery -> ListUsersQuery -> Bool # (/=) :: ListUsersQuery -> ListUsersQuery -> Bool # | |
ToSchema ListUsersQuery Source # | |
Defined in Wire.API.User |
misc internal
newtype GetActivationCodeResp Source #
Instances
newtype GetPasswordResetCodeResp Source #
Instances
data CheckBlacklistResponse Source #
Instances
AsUnion '[Respond 404 "Not blacklisted" (), Respond 200 "Yes blacklisted" ()] CheckBlacklistResponse Source # | |
Defined in Wire.API.User toUnion :: CheckBlacklistResponse -> Union (ResponseTypes '[Respond 404 "Not blacklisted" (), Respond 200 "Yes blacklisted" ()]) Source # fromUnion :: Union (ResponseTypes '[Respond 404 "Not blacklisted" (), Respond 200 "Yes blacklisted" ()]) -> CheckBlacklistResponse Source # |
newtype ManagedByUpdate Source #
Instances
newtype RichInfoUpdate Source #
Instances
data UpdateSSOIdResponse Source #
Instances
AsUnion '[RespondEmpty 200 "UpdateSSOIdSuccess", RespondEmpty 404 "UpdateSSOIdNotFound"] UpdateSSOIdResponse Source # | |
Defined in Wire.API.User toUnion :: UpdateSSOIdResponse -> Union (ResponseTypes '[RespondEmpty 200 "UpdateSSOIdSuccess", RespondEmpty 404 "UpdateSSOIdNotFound"]) Source # fromUnion :: Union (ResponseTypes '[RespondEmpty 200 "UpdateSSOIdSuccess", RespondEmpty 404 "UpdateSSOIdNotFound"]) -> UpdateSSOIdResponse Source # |
data CheckHandleResponse Source #
Instances
AsUnion '[RespondEmpty 200 "CheckHandleResponseFound", RespondEmpty 404 "CheckHandleResponseNotFound"] CheckHandleResponse Source # | |
Defined in Wire.API.User toUnion :: CheckHandleResponse -> Union (ResponseTypes '[RespondEmpty 200 "CheckHandleResponseFound", RespondEmpty 404 "CheckHandleResponseNotFound"]) Source # fromUnion :: Union (ResponseTypes '[RespondEmpty 200 "CheckHandleResponseFound", RespondEmpty 404 "CheckHandleResponseNotFound"]) -> CheckHandleResponse Source # |
data UpdateConnectionsInternal Source #
FUTUREWORK: This needs to get Qualified IDs when implementing Legalhold + Federation, as it's used in the internal putConnectionInternal galley->Brig "iusersconnections-status" endpoint. Internal RPCs need to be updated accordingly. See https://wearezeta.atlassian.net/browse/SQCORE-973
BlockForMissingLHConsent UserId [UserId] | |
RemoveLHBlocksInvolving UserId | |
CreateConnectionForTest UserId (Qualified UserId) | This must only be used by tests |
Instances
data EmailVisibility a Source #
Configurations for whether to show a user's email to others.
EmailVisibleIfOnTeam | Anyone can see the email of someone who is on ANY team. This may sound strange; but certain on-premise hosters have many different teams and still want them to see each-other's emails. |
EmailVisibleIfOnSameTeam a | Anyone on your team with at least |
EmailVisibleToSelf | Show your email only to yourself |
Instances
type EmailVisibilityConfig = EmailVisibility () Source #
re-exports
module Wire.API.Locale
data EmailAddress Source #
Represents an email address.
Instances
Instances
Arbitrary Phone Source # | |
FromJSON Phone Source # | |
ToJSON Phone Source # | |
Generic Phone Source # | |
Show Phone Source # | |
FromByteString Phone Source # | |
Defined in Wire.API.User.Phone | |
ToByteString Phone Source # | |
Cql Phone Source # | |
Eq Phone Source # | |
Ord Phone Source # | |
FromHttpApiData Phone Source # | |
Defined in Wire.API.User.Phone | |
ToHttpApiData Phone Source # | |
Defined in Wire.API.User.Phone toUrlPiece :: Phone -> Text Source # toEncodedUrlPiece :: Phone -> Builder Source # toHeader :: Phone -> ByteString Source # toQueryParam :: Phone -> Text Source # toEncodedQueryParam :: Phone -> Builder Source # | |
ToParamSchema Phone Source # | |
Defined in Wire.API.User.Phone | |
ToSchema Phone Source # | |
Defined in Wire.API.User.Phone | |
ToSchema Phone Source # | |
Defined in Wire.API.User.Phone | |
type Rep Phone Source # | |
Defined in Wire.API.User.Phone |
data UserIdentity Source #
The private unique user identity that is used for login and account recovery.
Instances
User's external identity.
NB: this type is serialized to the full xml encoding of the UserRef
components, but
deserialiation is more lenient: it also allows for the Issuer
to be a plain URL (without
xml around it), and the NameID
to be an email address (=> format "email") or an arbitrary
text (=> format "unspecified"). This is for backwards compatibility and general
robustness.
FUTUREWORK: we should probably drop this entirely and store saml and scim data in separate database columns.
Instances
unsafeEmailAddress :: ByteString -> ByteString -> EmailAddress Source #
Creates an email address without validating it. You should only use this when reading data from somewhere it has already been validated (e.g. a database).
localPart :: EmailAddress -> ByteString Source #
Extracts the local part of an email address.
domainPart :: EmailAddress -> ByteString Source #
Extracts the domain part of an email address.
addrSpec :: Parser EmailAddress Source #
A parser for email addresses.
emailAddress :: ByteString -> Maybe EmailAddress Source #
Smart constructor for an email address
fromEmail :: EmailAddress -> Text Source #
emailAddressText :: Text -> Maybe EmailAddress Source #
emailToSAMLNameID :: EmailAddress -> Either String NameID Source #
FUTUREWORK(fisx): if saml2-web-sso exported the NameID
constructor, we could make this
function total without all that praying and hoping.
emailFromSAML :: Email -> EmailAddress Source #
isSSOIdentity :: UserIdentity -> Bool Source #
newIdentity :: Maybe EmailAddress -> Maybe UserSSOId -> Maybe UserIdentity Source #
ssoIdentity :: UserIdentity -> Maybe UserSSOId Source #
maybeUserIdentityFromComponents :: UserIdentityComponents -> Maybe UserIdentity Source #
parsePhone :: Text -> Maybe Phone Source #
Parses a phone number in E.164 format with a mandatory leading +
.
isValidPhone :: Text -> Bool Source #
Checks whether a phone number is valid, i.e. it is in E.164 format
with a mandatory leading +
followed by 10-15 digits.
mkSampleUref :: Text -> Text -> UserRef Source #
For testing. Create a sample UserRef
value with random seeds to make Issuer
and
NameID
unique. FUTUREWORK: move to saml2-web-sso.
mkSimpleSampleUref :: UserRef Source #
mkSampleUref "" ""
module Wire.API.User.Profile
2nd factor auth
data VerificationAction Source #
Instances
data SendVerificationCode Source #
Instances
Protocol preferences
data BaseProtocolTag Source #
High-level protocols supported by clients.
Unlike ProtocolTag
, this does not include any transitional protocols used
for migration.
Instances
newtype SupportedProtocolUpdate Source #
Instances
FromJSON SupportedProtocolUpdate Source # | |
Defined in Wire.API.User | |
ToJSON SupportedProtocolUpdate Source # | |
Defined in Wire.API.User | |
Show SupportedProtocolUpdate Source # | |
Defined in Wire.API.User showsPrec :: Int -> SupportedProtocolUpdate -> ShowS # show :: SupportedProtocolUpdate -> String # showList :: [SupportedProtocolUpdate] -> ShowS # | |
Eq SupportedProtocolUpdate Source # | |
Defined in Wire.API.User | |
ToSchema SupportedProtocolUpdate Source # | |
Defined in Wire.API.User | |
ToSchema SupportedProtocolUpdate Source # | |
Defined in Wire.API.User |