Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ListUsersSQL is SQL Clause to select public users data ListUsersSQL = "" /* 130-byte string literal not displayed */ // GetUserByUsernameSQL is SQL Clause to get user data by username GetUserByUsernameSQL = "" /* 139-byte string literal not displayed */ )
Functions ¶
func RegisterHTTPHandlers ¶
RegisterHTTPHandlers registers http handlers for users endpoint
Types ¶
type HTTP ¶
type HTTP interface {
List(w http.ResponseWriter, r *http.Request)
}
HTTP defines user http handlers interface
func GetUserHTTP ¶
GetUserHTTP returns ne UserHTTP struct instance
type ListUsersRequest ¶
type ListUsersRequest struct { model.Pagination Search string }
ListUsersRequest for representing request parameters on list users endpoint
func NewListUsersRequest ¶
func NewListUsersRequest() ListUsersRequest
NewListUsersRequest construct new ListUsersRequest
func (ListUsersRequest) Validate ¶
func (listRequest ListUsersRequest) Validate(validator *validator.Validate) error
Validate validates the ListUsersRequest fields.
type Repository ¶
type Repository interface { // Get returns the user with the specified user ID. // Get(ctx context.Context, id string) (*model.User, error) List(ctx context.Context, id *ListUsersRequest) ([]model.User, error) GetByUsername(ctx context.Context, username string) (*model.User, error) }
Repository define user repository methods interface
func NewRepository ¶
func NewRepository(db *sqlx.DB, log log.Logger) Repository
NewRepository creates a new user repository
type Service ¶
type Service interface { ListUsers(ctx context.Context, listRequest *ListUsersRequest) ([]model.User, error) GetByUsername(ctx context.Context, username string) (*model.User, error) }
Service represents user application interface
func NewService ¶
func NewService(repo Repository, validate *validator.Validate, logger log.Logger) Service
NewService return new userService instance
Click to show internal directories.
Click to hide internal directories.