Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrCouldNotFetch = status.Error( codes.Internal, "error occurred while fetching the user", )
ErrCouldNotFetch is a GRPC error that occurs when an unknown error occurs while fetching a user.
var ErrNotFound = status.Error( codes.NotFound, "no user with that username exists", )
ErrNotFound is a GRPC error that occurs when the user was not found.
var ErrNotSaved = status.Error( codes.Internal, "could not save the user details", )
ErrNotSaved is a GRPC error that occurs when an unknown error occurs while saving a user.
var ErrPasswordUpdate = status.Error(codes.Internal, "could not save password")
ErrPasswordUpdate is a GRPC error that occurs when the password could not be updated.
var ErrUserIDConvert = status.Error( codes.Internal, "could not convert user ID to expected format", )
ErrUserIDConvert is a GRPC error that is returned when the user ID could not be converted to the expected type.
var ErrUsernameTaken = status.Error(codes.AlreadyExists, "username is taken")
ErrUsernameTaken is a GRPC error that occurs when attempting to save a new user and the provided username is taken.
Functions ¶
This section is empty.
Types ¶
type DataRepository ¶
type DataRepository interface { // Save saves the details of the user to the collection and returns the ID // of the saved user. Save(ctx context.Context, user *User) (string, error) // GetByUsername gets the details of the user by their username. GetByUsername(ctx context.Context, username string) (*User, error) // UpdatePassword updates the password of the user by the username and // returns the number of records that were updated. UpdatePassword( ctx context.Context, username string, password *Password, ) (uint, error) }
DataRepository is an interface to the operations that can be performed on the users collection.
type MongoDataRepository ¶
type MongoDataRepository struct {
// contains filtered or unexported fields
}
func NewUserRepository ¶
NewUserRepository creates a new repository for performing database operations in the users collection.