go-transaction-manager
24 строки · 1.1 Кб
1package mongo
2
3import (
4"context"
5
6"go.mongodb.org/mongo-driver/mongo"
7"go.mongodb.org/mongo-driver/mongo/options"
8"go.mongodb.org/mongo-driver/mongo/readpref"
9)
10
11//nolint:interfacebloat
12type client interface {
13Connect(ctx context.Context) error
14Disconnect(ctx context.Context) error
15Ping(ctx context.Context, rp *readpref.ReadPref) error
16StartSession(opts ...*options.SessionOptions) (mongo.Session, error)
17Database(name string, opts ...*options.DatabaseOptions) *mongo.Database
18ListDatabases(ctx context.Context, filter interface{}, opts ...*options.ListDatabasesOptions) (mongo.ListDatabasesResult, error)
19ListDatabaseNames(ctx context.Context, filter interface{}, opts ...*options.ListDatabasesOptions) ([]string, error)
20UseSession(ctx context.Context, fn func(sessionContext mongo.SessionContext) error) error
21UseSessionWithOptions(ctx context.Context, opts *options.SessionOptions, fn func(sessionContext mongo.SessionContext) error) error
22Watch(ctx context.Context, pipeline interface{}, opts ...*options.ChangeStreamOptions) (*mongo.ChangeStream, error)
23NumberSessionsInProgress() int
24}
25