go-transaction-manager
24 строки · 827.0 Байт
1package trm
2
3import (
4"context"
5)
6
7// CtxKey is a type to identify trm.Transaction in a context.Context.
8type CtxKey interface{}
9
10// CtxGetter gets Transaction from context.Context.
11type CtxGetter func(ctx context.Context) Transaction
12
13// СtxManager sets and gets a Transaction in/from context.Context.
14type СtxManager interface {
15// Default gets Transaction from context.Context by default CtxKey.
16Default(ctx context.Context) Transaction
17// SetDefault sets.Transaction in context.Context by default CtxKey.
18SetDefault(ctx context.Context, t Transaction) context.Context
19
20// ByKey gets Transaction from context.Context by CtxKey.
21ByKey(ctx context.Context, key CtxKey) Transaction
22// SetByKey sets Transaction in context.Context by.CtxKey.
23SetByKey(ctx context.Context, key CtxKey, t Transaction) context.Context
24}
25