Only soft-delete messages

This commit is contained in:
2022-12-14 12:29:55 +01:00
parent 98b1e8bd80
commit 66ecad27a7
10 changed files with 238 additions and 46 deletions

View File

@@ -37,6 +37,8 @@ type MessageFilter struct {
TitleCI *string // case-insensitive
Priority *[]int
UserMessageID *[]string
OnlyDeleted bool
IncludeDeleted bool
}
func (f MessageFilter) SQL() (string, string, sq.PP, error) {
@@ -53,6 +55,14 @@ func (f MessageFilter) SQL() (string, string, sq.PP, error) {
params := sq.PP{}
if f.OnlyDeleted {
sqlClauses = append(sqlClauses, "(deleted=1)")
} else if f.IncludeDeleted {
// nothing, return all
} else {
sqlClauses = append(sqlClauses, "(deleted=0)") // default
}
if f.ConfirmedSubscriptionBy != nil {
sqlClauses = append(sqlClauses, "(subs.subscriber_user_id = :sub_uid AND subs.confirmed = 1)")
params["sub_uid"] = *f.ConfirmedSubscriptionBy