Documentation
¶
Index ¶
- func OpenConnection(dsn string) (*mongo.Client, error)
- type DB
- type Repositories
- type TokenRepository
- type UserRepository
- func (r *UserRepository) GetByEmail(email string, dest *data.User) error
- func (r *UserRepository) GetByID(id string, dest *data.User) error
- func (r *UserRepository) Insert(user *data.User) (*string, error)
- func (r *UserRepository) Update(id string, updateData interface{}) (*mongo.UpdateResult, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type DB ¶
type DB struct { Client *mongo.Client DB *mongo.Database // contains filtered or unexported fields }
DB encapsulates the mongoDB connection properties.
func (*DB) RegisterNewCollections ¶
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.
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