diff options
Diffstat (limited to 'internal/db/bundb/instance.go')
-rw-r--r-- | internal/db/bundb/instance.go | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/internal/db/bundb/instance.go b/internal/db/bundb/instance.go index 141b255cf..ea7ae194b 100644 --- a/internal/db/bundb/instance.go +++ b/internal/db/bundb/instance.go @@ -37,20 +37,17 @@ type instanceDB struct { func (i *instanceDB) CountInstanceUsers(ctx context.Context, domain string) (int, db.Error) { q := i.conn. NewSelect(). - Model(&[]*gtsmodel.Account{}) - - if domain == i.config.Host { - // if the domain is *this* domain, just count where the domain field is null - q = q.WhereGroup(" AND ", whereEmptyOrNull("domain")) - } else { - q = q.Where("domain = ?", domain) - } - - // don't count the instance account or suspended users - q = q. + Model(&[]*gtsmodel.Account{}). Where("username != ?", domain). Where("? IS NULL", bun.Ident("suspended_at")) + if domain == i.config.Host { + // if the domain is *this* domain, just count where the domain field is null + q = q.WhereGroup(" AND ", whereEmptyOrNull("domain")) + } else { + q = q.Where("domain = ?", domain) + } + count, err := q.Count(ctx) return count, processErrorResponse(err) |