(db database.Store, authorizer rbac.Authorizer, logger slog.Logger, acs *atomic.Pointer[AccessControlStore])
| 117 | } |
| 118 | |
| 119 | func New(db database.Store, authorizer rbac.Authorizer, logger slog.Logger, acs *atomic.Pointer[AccessControlStore]) database.Store { |
| 120 | // If the underlying db store is already a querier, return it. |
| 121 | // Do not double wrap. |
| 122 | if slices.Contains(db.Wrappers(), wrapname) { |
| 123 | return db |
| 124 | } |
| 125 | return &querier{ |
| 126 | db: db, |
| 127 | auth: authorizer, |
| 128 | log: logger, |
| 129 | acs: acs, |
| 130 | } |
| 131 | } |
| 132 | |
| 133 | func (q *querier) Wrappers() []string { |
| 134 | return append(q.db.Wrappers(), wrapname) |