// Package permcheck contains code for simplifying permissions checks on files // and directories. package permcheck import ( "context" "log/slog" ) // File type constants for logging. const ( typeDir = "directory" typeFile = "file" ) // Check checks the permissions on important files. It logs the results at // appropriate levels. func Check( ctx context.Context, l *slog.Logger, workDir string, dataDir string, statsDir string, querylogDir string, confFilePath string, ) { check(ctx, l, workDir, dataDir, statsDir, querylogDir, confFilePath) } // NeedsMigration returns true if AdGuard Home files need permission migration. func NeedsMigration(ctx context.Context, l *slog.Logger, workDir, confFilePath string) (ok bool) { return needsMigration(ctx, l, workDir, confFilePath) } // Migrate attempts to change the permissions of AdGuard Home's files. It logs // the results at an appropriate level. func Migrate( ctx context.Context, l *slog.Logger, workDir string, dataDir string, statsDir string, querylogDir string, confFilePath string, ) { migrate(ctx, l, workDir, dataDir, statsDir, querylogDir, confFilePath) }