MCPcopy Create free account
hub / github.com/authorizerdev/authorizer / New

Function New

internal/memory_store/provider.go:20–37  ·  view source on GitHub ↗

New returns a new memory store provider

(cfg *config.Config, deps *Dependencies)

Source from the content-addressed store, hash-verified

18
19// New returns a new memory store provider
20func New(cfg *config.Config, deps *Dependencies) (Provider, error) {
21 if cfg.RedisURL != "" {
22 return redis.NewRedisProvider(cfg, &redis.Dependencies{
23 Log: deps.Log,
24 })
25 }
26 // If database is configured, use database-backed memory store
27 if cfg.DatabaseType != "" && deps.StorageProvider != nil {
28 return db.NewDBProvider(cfg, &db.Dependencies{
29 Log: deps.Log,
30 StorageProvider: deps.StorageProvider,
31 })
32 }
33 // Fallback to in-memory store
34 return in_memory.NewInMemoryProvider(cfg, &in_memory.Dependencies{
35 Log: deps.Log,
36 })
37}
38
39// Provider defines current memory store provider
40type Provider interface {

Callers 5

initFGATestSetupFunction · 0.92
initTestSetupFunction · 0.92
runRootFunction · 0.92
runMCPFunction · 0.92
TestMemoryStoreProviderFunction · 0.70

Calls 3

NewRedisProviderFunction · 0.92
NewDBProviderFunction · 0.92
NewInMemoryProviderFunction · 0.92

Tested by 2

initFGATestSetupFunction · 0.74
TestMemoryStoreProviderFunction · 0.56