Documentation ¶
Index ¶
- Variables
- type Database
- type DatabaseInterface
- type Repository
- func (r *Repository) CreateUser(user models.User) (models.User, error)
- func (r *Repository) DeleteUser(id int) (user models.User, err error)
- func (r *Repository) GetUser(user models.User, onlyNonDeleted bool) (models.User, error)
- func (r *Repository) UpdateUser(user models.User) (models.User, error)
- func (r *Repository) UserExists(email, username string, onlyNonDeleted bool) bool
- type RepositoryLayer
- type RepositoryMock
- func (m *RepositoryMock) CreateUser(user models.User) (models.User, error)
- func (m *RepositoryMock) DeleteUser(id int) (models.User, error)
- func (m *RepositoryMock) GetUser(user models.User, onlyNonDeleted bool) (models.User, error)
- func (m *RepositoryMock) UpdateUser(user models.User) (models.User, error)
- func (m *RepositoryMock) UserExists(email, username string, onlyNonDeleted bool) bool
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // - General errors ErrUnknown = errors.New("error unknown") // - User errors ErrCreatingUser = errors.New("error creating user") ErrUpdatingUser = errors.New("error updating user") ErrGettingUser = errors.New("error getting user") ErrUserAlreadyDeleted = errors.New("error, user already deleted") )
Functions ¶
This section is empty.
Types ¶
type Database ¶
func NewDatabase ¶
func NewDatabase(config config.DatabaseConfig, logger logger.LoggerI) Database
type DatabaseInterface ¶ added in v1.2.0
type DatabaseInterface interface { Setup(config config.DatabaseConfig, logger *logrus.Logger) Purge() Migrate() Close() }
type Repository ¶
type Repository struct {
Database Database
}
func NewRepository ¶
func NewRepository(database Database) *Repository
func (*Repository) CreateUser ¶
CreateUser creates a user on the database. Id, username and email are unique
func (*Repository) DeleteUser ¶
func (r *Repository) DeleteUser(id int) (user models.User, err error)
DeleteUser marks a user as deleted on the database, if it is already deleted it throws an error
func (*Repository) UpdateUser ¶
UpdateUser updates the user on the database, skipping fields that are empty
func (*Repository) UserExists ¶
func (r *Repository) UserExists(email, username string, onlyNonDeleted bool) bool
UserExists checks if a user exists on the database
type RepositoryLayer ¶ added in v1.2.0
type RepositoryLayer interface { CreateUser(user models.User) (models.User, error) UpdateUser(user models.User) (models.User, error) GetUser(user models.User, onlyNonDeleted bool) (models.User, error) UserExists(email, username string, onlyNonDeleted bool) bool DeleteUser(id int) (models.User, error) }
type RepositoryMock ¶
func NewRepositoryMock ¶
func NewRepositoryMock() *RepositoryMock
func (*RepositoryMock) CreateUser ¶
func (*RepositoryMock) DeleteUser ¶
func (m *RepositoryMock) DeleteUser(id int) (models.User, error)
func (*RepositoryMock) UpdateUser ¶
func (*RepositoryMock) UserExists ¶
func (m *RepositoryMock) UserExists(email, username string, onlyNonDeleted bool) bool
Click to show internal directories.
Click to hide internal directories.