diff --git a/internal/cmd/scheduler.go b/internal/cmd/scheduler.go index 9863196..45dd24e 100644 --- a/internal/cmd/scheduler.go +++ b/internal/cmd/scheduler.go @@ -146,10 +146,10 @@ func pruneAccounts(ctx context.Context, logger *logrus.Logger, pool *pgxpool.Poo } func pruneDevices(ctx context.Context, logger *logrus.Logger, pool *pgxpool.Pool) { - before := time.Now().Unix() - staleDeviceThreshold + threshold := time.Now().Unix() dr := repository.NewPostgresDevice(pool) - count, err := dr.PruneStale(ctx, before) + count, err := dr.PruneStale(ctx, threshold) if err != nil { logger.WithFields(logrus.Fields{ "err": err, diff --git a/internal/repository/postgres_device.go b/internal/repository/postgres_device.go index 80b11f7..14eb75b 100644 --- a/internal/repository/postgres_device.go +++ b/internal/repository/postgres_device.go @@ -143,14 +143,7 @@ func (p *postgresDeviceRepository) Delete(ctx context.Context, token string) err } func (p *postgresDeviceRepository) PruneStale(ctx context.Context, before int64) (int64, error) { - query := ` - WITH deleted_devices AS ( - DELETE FROM devices - WHERE active_until < $1 - RETURNING id - ) - DELETE FROM devices_accounts - WHERE device_id IN (SELECT id FROM deleted_devices)` + query := `DELETE FROM devices WHERE active_until < $1` res, err := p.pool.Exec(ctx, query, before)