mongo

package
v0.0.0-...-5b94ac3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 19, 2021 License: GPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func OpenConnection

func OpenConnection(dsn string) (*mongo.Client, error)

OpenConnection opens a mongoDB connection with the provided dsn.

Types

type DB

type DB struct {
	Client *mongo.Client
	DB     *mongo.Database
	// contains filtered or unexported fields
}

DB encapsulates the mongoDB connection properties.

func New

func New(client *mongo.Client, dbName string) *DB

New returns a configured *DB instance.

func (*DB) RegisterNewCollections

func (db *DB) RegisterNewCollections() error

RegisterNewCollections adds new collections if any to the existing database instance.

type Repositories

type Repositories struct {
	Users  UserRepository
	Tokens TokenRepository
}

Repositories encapsulates various data repository instances.

func NewRepositories

func NewRepositories(db *mongo.Database) *Repositories

NewRepositories returns a configured instance of *Repositories type.

type TokenRepository

type TokenRepository struct {
	// contains filtered or unexported fields
}

TokenRepository encapsulates tokens repository functionality.

func (*TokenRepository) DeleteAllForUser

func (r *TokenRepository) DeleteAllForUser(userID, scope string) (*mongo.DeleteResult, error)

DeleteAllForUser deletes all tokens matching the provided userID and scope.

func (*TokenRepository) Get

func (r *TokenRepository) Get(plainTextToken, scope string, dest *data.Token) error

Get queries for a token document matching the provided params.

func (*TokenRepository) New

func (r *TokenRepository) New(validFor time.Duration, userID string, scope string) (*data.Token, error)

New generates and inserts a new token document into the database.

type UserRepository

type UserRepository struct {
	// contains filtered or unexported fields
}

UserRepository encapsulates user repository functionality.

func (*UserRepository) GetByEmail

func (r *UserRepository) GetByEmail(email string, dest *data.User) error

GetByEmail queries for a user document matching the provided email address.

func (*UserRepository) GetByID

func (r *UserRepository) GetByID(id string, dest *data.User) error

GetByID queries for a user document matching the provided ID string.

func (*UserRepository) Insert

func (r *UserRepository) Insert(user *data.User) (*string, error)

Insert adds a new user document into the database.

func (*UserRepository) Update

func (r *UserRepository) Update(id string, updateData interface{}) (*mongo.UpdateResult, error)

Update performs an update query for a document with a specified ID string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL