mirror of
https://github.com/coder/coder.git
synced 2025-07-13 21:36:50 +00:00
fix(dbpurge): use dbauthz.AsSystemRestricted
(#7017)
This commit is contained in:
@ -10,6 +10,11 @@ import (
|
|||||||
|
|
||||||
"cdr.dev/slog"
|
"cdr.dev/slog"
|
||||||
"github.com/coder/coder/coderd/database"
|
"github.com/coder/coder/coderd/database"
|
||||||
|
"github.com/coder/coder/coderd/database/dbauthz"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
delay = 24 * time.Hour
|
||||||
)
|
)
|
||||||
|
|
||||||
// New creates a new periodically purging database instance.
|
// New creates a new periodically purging database instance.
|
||||||
@ -19,9 +24,12 @@ import (
|
|||||||
func New(ctx context.Context, logger slog.Logger, db database.Store) io.Closer {
|
func New(ctx context.Context, logger slog.Logger, db database.Store) io.Closer {
|
||||||
closed := make(chan struct{})
|
closed := make(chan struct{})
|
||||||
ctx, cancelFunc := context.WithCancel(ctx)
|
ctx, cancelFunc := context.WithCancel(ctx)
|
||||||
|
//nolint:gocritic // The system purges old db records without user input.
|
||||||
|
ctx = dbauthz.AsSystemRestricted(ctx)
|
||||||
go func() {
|
go func() {
|
||||||
defer close(closed)
|
defer close(closed)
|
||||||
ticker := time.NewTicker(24 * time.Hour)
|
|
||||||
|
ticker := time.NewTicker(delay)
|
||||||
defer ticker.Stop()
|
defer ticker.Stop()
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
@ -44,6 +52,8 @@ func New(ctx context.Context, logger slog.Logger, db database.Store) io.Closer {
|
|||||||
}
|
}
|
||||||
logger.Error(ctx, "failed to purge old database entries", slog.Error(err))
|
logger.Error(ctx, "failed to purge old database entries", slog.Error(err))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ticker.Reset(delay)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
return &instance{
|
return &instance{
|
||||||
|
Reference in New Issue
Block a user