user

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

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

Go to latest
Published: Apr 23, 2025 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrFieldUsernameIsEmpty  = reqerrors.New(http.StatusBadRequest, "field 'username' is empty")
	ErrFieldPasswordIsEmpty  = reqerrors.New(http.StatusBadRequest, "field 'password' is empty")
	ErrInvalidPasswordLength = reqerrors.New(http.StatusBadRequest, "invalid password length: min: 8, max: 60")
	ErrFieldEmailIsEmpty     = reqerrors.New(http.StatusBadRequest, "field 'email' is empty")
	ErrEmailNotMatchPattern  = reqerrors.New(http.StatusBadRequest, "email not match 'johndoe@mail.com' pattern")

	ErrUserAlreadyExists = reqerrors.New(http.StatusBadRequest, "a user with the given username already exists")
	ErrUserNotFound      = reqerrors.New(http.StatusNotFound, "user not found")
)

Functions

This section is empty.

Types

type DatabaseAdapterer

type DatabaseAdapterer interface {
	CreateUser(ctx context.Context, user User) (int64, error)
	GetAllUsers(ctx context.Context) ([]User, error)
	GetUserById(ctx context.Context, id int64) (User, error)
	UpdateUserById(ctx context.Context, id int64, user User) error
	DeleteUserById(ctx context.Context, id int64) error

	IsUserExistsByUsername(ctx context.Context, username string) (bool, error)
	GetIdAndPasswordByUsername(ctx context.Context, username string) (int64, string, error)
}

type HttpHandler

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

func NewHttpHandler

func NewHttpHandler(service Servicer) *HttpHandler

func (*HttpHandler) CreateUser

func (h *HttpHandler) CreateUser(c *gin.Context)

func (*HttpHandler) DeleteUserById

func (h *HttpHandler) DeleteUserById(c *gin.Context)

func (*HttpHandler) GetAllUsers

func (h *HttpHandler) GetAllUsers(c *gin.Context)

func (*HttpHandler) GetUserById

func (h *HttpHandler) GetUserById(c *gin.Context)

func (*HttpHandler) IsUserExistsByUsername

func (h *HttpHandler) IsUserExistsByUsername(c *gin.Context)

func (*HttpHandler) UpdateUserById

func (h *HttpHandler) UpdateUserById(c *gin.Context)

type OuterUser

type OuterUser struct {
	Id        int64  `json:"id"`
	Username  string `json:"username"`
	Password  string `json:"password"`
	Email     string `json:"email"`
	CreatedAt string `json:"createdAt"`
}

func NewOuterUser

func NewOuterUser(c *gin.Context) (OuterUser, error)

func (OuterUser) ToUser

func (u OuterUser) ToUser() (User, error)

type PostgresDatabaseAdapter

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

func (*PostgresDatabaseAdapter) CreateUser

func (a *PostgresDatabaseAdapter) CreateUser(ctx context.Context, user User) (int64, error)

func (*PostgresDatabaseAdapter) DeleteUserById

func (a *PostgresDatabaseAdapter) DeleteUserById(ctx context.Context, id int64) error

func (*PostgresDatabaseAdapter) GetAllUsers

func (a *PostgresDatabaseAdapter) GetAllUsers(ctx context.Context) ([]User, error)

func (*PostgresDatabaseAdapter) GetIdAndPasswordByUsername

func (a *PostgresDatabaseAdapter) GetIdAndPasswordByUsername(ctx context.Context, username string) (int64, string, error)

func (*PostgresDatabaseAdapter) GetUserById

func (a *PostgresDatabaseAdapter) GetUserById(ctx context.Context, id int64) (User, error)

func (*PostgresDatabaseAdapter) IsUserExistsByUsername

func (a *PostgresDatabaseAdapter) IsUserExistsByUsername(ctx context.Context, username string) (bool, error)

func (*PostgresDatabaseAdapter) UpdateUserById

func (a *PostgresDatabaseAdapter) UpdateUserById(ctx context.Context, id int64, user User) error

type Service

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

func NewService

func NewService(databaseAdapter DatabaseAdapterer) *Service

func (*Service) CreateUser

func (s *Service) CreateUser(ctx context.Context, outerUser OuterUser) (int64, error)

func (*Service) DeleteUserById

func (s *Service) DeleteUserById(ctx context.Context, id int64) error

func (*Service) GetAllUsers

func (s *Service) GetAllUsers(ctx context.Context) ([]OuterUser, error)

func (*Service) GetIdAndPasswordByUsername

func (s *Service) GetIdAndPasswordByUsername(ctx context.Context, username string) (int64, string, error)

func (*Service) GetUserById

func (s *Service) GetUserById(ctx context.Context, id int64) (OuterUser, error)

func (*Service) IsUserExistsByUsername

func (s *Service) IsUserExistsByUsername(ctx context.Context, username string) (bool, error)

func (*Service) UpdateUserById

func (s *Service) UpdateUserById(ctx context.Context, id int64, outerUser OuterUser) error

type Servicer

type Servicer interface {
	CreateUser(ctx context.Context, outerUser OuterUser) (int64, error)
	GetAllUsers(ctx context.Context) ([]OuterUser, error)
	GetUserById(ctx context.Context, id int64) (OuterUser, error)
	UpdateUserById(ctx context.Context, id int64, outerUser OuterUser) error
	DeleteUserById(ctx context.Context, id int64) error

	IsUserExistsByUsername(ctx context.Context, username string) (bool, error)
	GetIdAndPasswordByUsername(ctx context.Context, username string) (int64, string, error)
}

type User

type User struct {
	Id        int64
	Username  string
	Password  string
	Email     string
	CreatedAt time.Time
}

func (User) ToOuterUser

func (u User) ToOuterUser() (OuterUser, error)

Jump to

Keyboard shortcuts

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