summaryrefslogtreecommitdiff
path: root/internal/totp/context.go
blob: 6772aa5967154726bfaa28e595f8b53fa430f634 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package totp

import (
	"context"

	"github.com/authelia/authelia/v4/internal/clock"
	"github.com/authelia/authelia/v4/internal/random"
)

type Context interface {
	context.Context

	GetClock() clock.Provider
	GetRandom() random.Provider
}

func NewContext(ctx context.Context, clock clock.Provider, random random.Provider) Context {
	return &SimpleContext{Context: ctx, clock: clock, random: random}
}

type SimpleContext struct {
	context.Context

	clock  clock.Provider
	random random.Provider
}

func (c *SimpleContext) GetClock() clock.Provider {
	return c.clock
}

func (c *SimpleContext) GetRandom() random.Provider {
	return c.random
}