admin: add account spam restriction (join/message gate)
Adds a narrower spam sanction alongside the existing account freeze: a restricted account keeps every existing membership and conversation, but cannot join new channels/groups (public join or invite link) and cannot start a new conversation with a non-contact. Reachable both as a standalone admin action and as a decision on a reported user's moderation case, with the same idempotent-supersession and appeal wiring freeze already has.
This commit is contained in:
parent
3ca8ef1a16
commit
f33e25af8d
32 changed files with 750 additions and 44 deletions
|
|
@ -53,3 +53,21 @@ type AccountFreezeNotification struct {
|
|||
Frozen bool
|
||||
Attempts int
|
||||
}
|
||||
|
||||
// AccountRestriction is the durable, narrower spam sanction: unlike
|
||||
// AccountFreeze it does not make the account read-only. A restricted account
|
||||
// keeps every existing membership and conversation; it can only not join new
|
||||
// channels/groups and not start new conversations with non-contacts. Until,
|
||||
// when set, is when the restriction auto-lifts; a zero Until means it stays
|
||||
// in effect until an admin clears it.
|
||||
type AccountRestriction struct {
|
||||
UserID int64
|
||||
Restricted bool
|
||||
Version int64
|
||||
Since time.Time
|
||||
Until time.Time
|
||||
Reason string
|
||||
Actor string
|
||||
CommandID string
|
||||
UpdatedAt time.Time
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue