Add ticker for cleaning deleted users

This commit is contained in:
Melody Becker 2025-04-08 09:21:21 +02:00
parent 954e4c5a34
commit ecd4ed2ef8
Signed by: mstar
SSH key fingerprint: SHA256:9VAo09aaVNTWKzPW7Hq2LW+ox9OdwmTSHRoD4mlz1yI
4 changed files with 46 additions and 0 deletions

View file

@ -1460,6 +1460,7 @@ type IUserDo interface {
GetPagedTruePublic(pageNr uint) (result []models.User, err error)
GetPagedAllDeleted(pageNr uint) (result []models.User, err error)
GetPagedAllNonDeleted(pageNr uint) (result []models.User, err error)
GdprUsers() (err error)
}
// Get a user by a username
@ -1552,6 +1553,20 @@ func (u userDo) GetPagedAllNonDeleted(pageNr uint) (result []models.User, err er
return
}
// Gdpr deleted users
//
// DELETE FROM @@table WHERE deleted_at IS NOT NULL AND deleted_at < NOW()
func (u userDo) GdprUsers() (err error) {
var generateSQL strings.Builder
generateSQL.WriteString("DELETE FROM users WHERE deleted_at IS NOT NULL AND deleted_at < NOW() ")
var executeSQL *gorm.DB
executeSQL = u.UnderlyingDB().Exec(generateSQL.String()) // ignore_security_alert
err = executeSQL.Error
return
}
func (u userDo) Debug() IUserDo {
return u.withDO(u.DO.Debug())
}