Files
SaveAny-Bot/storage/context.go
Ryan 62e4a08e28 Merge pull request #204 from Rain-kl/feat/save-strategy
新增功能: 重名文件时选择保存策略 - 重命名,覆盖,跳过
2026-05-20 16:11:00 +08:00

31 lines
575 B
Go

package storage
import (
"context"
"github.com/krau/SaveAny-Bot/pkg/enums/ctxkey"
)
type contextKey struct{}
var storageKey = contextKey{}
func WithContext(ctx context.Context, storage Storage) context.Context {
if storage == nil {
return ctx
}
return context.WithValue(ctx, storageKey, storage)
}
func FromContext(ctx context.Context) Storage {
storage, ok := ctx.Value(storageKey).(Storage)
if !ok {
return nil
}
return storage
}
func WithOverwrite(ctx context.Context) context.Context {
return context.WithValue(ctx, ctxkey.OverwriteExisting, true)
}