mongodb

package
v0.0.0-...-d8a86e7 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (

	//ErrInvalidHexID represents a entity id that is not a valid bson ObjectID
	ErrInvalidHexID = errors.New("Invalid Id Hex")
)

Functions

This section is empty.

Types

type Mongo

type Mongo struct {
	//Session is a MongoDB Session
	Client  *mongo.Client
	Session *mongo.Session
}

Mongo meets the Database interface requirements

func (*Mongo) CreateAddress

func (m *Mongo) CreateAddress(a *users.Address, userid string) error

CreateAddress Inserts Address into MongoDB

func (*Mongo) CreateCard

func (m *Mongo) CreateCard(ca *users.Card, userid string) error

CreateCard adds card to MongoDB

func (*Mongo) CreateUser

func (m *Mongo) CreateUser(u *users.User) error

CreateUser Insert user to MongoDB, including connected addresses and cards, update passed in user with Ids

func (*Mongo) Delete

func (m *Mongo) Delete(entity, id string) error

CreateAddress Inserts Address into MongoDB

func (*Mongo) EnsureIndexes

func (m *Mongo) EnsureIndexes() error

EnsureIndexes ensures username is unique

func (*Mongo) GetAddress

func (m *Mongo) GetAddress(id string) (users.Address, error)

GetAddress Gets an address by object Id

func (*Mongo) GetAddresses

func (m *Mongo) GetAddresses() ([]users.Address, error)

GetAddresses gets all addresses

func (*Mongo) GetCard

func (m *Mongo) GetCard(id string) (users.Card, error)

GetCard Gets card by objects Id

func (*Mongo) GetCards

func (m *Mongo) GetCards() ([]users.Card, error)

GetCards Gets all cards

func (*Mongo) GetUser

func (m *Mongo) GetUser(id string) (users.User, error)

GetUser Get user by their object id

func (*Mongo) GetUserAttributes

func (m *Mongo) GetUserAttributes(u *users.User) error

GetUserAttributes given a user, load all cards and addresses connected to that user

func (*Mongo) GetUserByName

func (m *Mongo) GetUserByName(name string) (users.User, error)

GetUserByName Get user by their name

func (*Mongo) GetUsers

func (m *Mongo) GetUsers() ([]users.User, error)

GetUsers Get all users

func (*Mongo) Init

func (m *Mongo) Init() error

Init MongoDB

func (*Mongo) Ping

func (m *Mongo) Ping() error

type MongoAddress

type MongoAddress struct {
	users.Address `bson:",inline"`
	ID            primitive.ObjectID `json:"_id" bson:"_id"`
}

MongoAddress is a wrapper for Address

func (*MongoAddress) AddID

func (m *MongoAddress) AddID()

AddID ObjectID as string

type MongoCard

type MongoCard struct {
	users.Card `bson:",inline"`
	ID         primitive.ObjectID `json:"_id" bson:"_id"`
}

MongoCard is a wrapper for Card

func (*MongoCard) AddID

func (m *MongoCard) AddID()

AddID ObjectID as string

type MongoUser

type MongoUser struct {
	users.User `bson:",inline"`
	ID         primitive.ObjectID   `json:"_id" bson:"_id"`
	AddressIDs []primitive.ObjectID `bson:"addresses"`
	CardIDs    []primitive.ObjectID `bson:"cards"`
}

MongoUser is a wrapper for the users

func New

func New() MongoUser

New Returns a new MongoUser

func (*MongoUser) AddUserIDs

func (mu *MongoUser) AddUserIDs()

AddUserIDs adds userID as string to user

Jump to

Keyboard shortcuts

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