privacysettings: add support for new privacy settings (#1075)
This commit is contained in:
@@ -151,6 +151,15 @@ func (cli *Client) parsePrivacySettings(privacyNode *waBinary.Node, settings *ty
|
||||
case types.PrivacySettingTypeCallAdd:
|
||||
settings.CallAdd = value
|
||||
evt.CallAddChanged = true
|
||||
case types.PrivacySettingTypeMessages:
|
||||
settings.Messages = value
|
||||
evt.MessagesChanged = true
|
||||
case types.PrivacySettingTypeDefense:
|
||||
settings.Defense = value
|
||||
evt.DefenseChanged = true
|
||||
case types.PrivacySettingTypeStickers:
|
||||
settings.Stickers = value
|
||||
evt.StickersChanged = true
|
||||
}
|
||||
}
|
||||
return &evt
|
||||
|
||||
@@ -533,6 +533,9 @@ type PrivacySettings struct {
|
||||
ReadReceiptsChanged bool
|
||||
OnlineChanged bool
|
||||
CallAddChanged bool
|
||||
MessagesChanged bool
|
||||
DefenseChanged bool
|
||||
StickersChanged bool
|
||||
}
|
||||
|
||||
// OfflineSyncPreview is emitted right after connecting if the server is going to send events that the client missed during downtime.
|
||||
|
||||
@@ -118,10 +118,13 @@ const (
|
||||
PrivacySettingUndefined PrivacySetting = ""
|
||||
PrivacySettingAll PrivacySetting = "all"
|
||||
PrivacySettingContacts PrivacySetting = "contacts"
|
||||
PrivacySettingContactAllowlist PrivacySetting = "contact_allowlist"
|
||||
PrivacySettingContactBlacklist PrivacySetting = "contact_blacklist"
|
||||
PrivacySettingMatchLastSeen PrivacySetting = "match_last_seen"
|
||||
PrivacySettingKnown PrivacySetting = "known"
|
||||
PrivacySettingNone PrivacySetting = "none"
|
||||
PrivacySettingOnStandard PrivacySetting = "on_standard"
|
||||
PrivacySettingOff PrivacySetting = "off"
|
||||
)
|
||||
|
||||
// PrivacySettingType is the type of privacy setting.
|
||||
@@ -135,6 +138,9 @@ const (
|
||||
PrivacySettingTypeReadReceipts PrivacySettingType = "readreceipts" // Valid values: PrivacySettingAll, PrivacySettingNone
|
||||
PrivacySettingTypeOnline PrivacySettingType = "online" // Valid values: PrivacySettingAll, PrivacySettingMatchLastSeen
|
||||
PrivacySettingTypeCallAdd PrivacySettingType = "calladd" // Valid values: PrivacySettingAll, PrivacySettingKnown
|
||||
PrivacySettingTypeMessages PrivacySettingType = "messages" // Valid values: PrivacySettingAll, PrivacySettingContacts
|
||||
PrivacySettingTypeDefense PrivacySettingType = "defense" // Valid values: PrivacySettingOnStandard, PrivacySettingOff
|
||||
PrivacySettingTypeStickers PrivacySettingType = "stickers" // Valid values: PrivacySettingContacts, PrivacySettingContactAllowlist, PrivacySettingNone
|
||||
)
|
||||
|
||||
// PrivacySettings contains the user's privacy settings.
|
||||
@@ -146,6 +152,9 @@ type PrivacySettings struct {
|
||||
ReadReceipts PrivacySetting // Valid values: PrivacySettingAll, PrivacySettingNone
|
||||
CallAdd PrivacySetting // Valid values: PrivacySettingAll, PrivacySettingKnown
|
||||
Online PrivacySetting // Valid values: PrivacySettingAll, PrivacySettingMatchLastSeen
|
||||
Messages PrivacySetting // Valid values: PrivacySettingAll, PrivacySettingContacts
|
||||
Defense PrivacySetting // Valid values: PrivacySettingOnStandard, PrivacySettingOff
|
||||
Stickers PrivacySetting // Valid values: PrivacySettingContacts, PrivacySettingContactAllowlist, PrivacySettingNone
|
||||
}
|
||||
|
||||
// StatusPrivacyType is the type of list in StatusPrivacy.
|
||||
|
||||
Reference in New Issue
Block a user