Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthenticateInput ¶
type CreateUserInput ¶
type IUserRepository ¶
type IUserUseCase ¶
type IUserUseCase interface { CreateUser(CreateUserInput) (*User, error) Authenticate(AuthenticateInput) (*User, error) }
type User ¶
type User struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Email string `json:"email"` Phone string `json:"phone"` CreatedAt time.Time `json:"created_at"` Password string `json:"password"` }
func (*User) ComparePassword ¶
type UserHandler ¶
type UserHandler struct {
// contains filtered or unexported fields
}
func NewUserHandler ¶
func NewUserHandler(useCase IUserUseCase) *UserHandler
func UserFactory ¶
func UserFactory(db *sql.DB) *UserHandler
func (*UserHandler) Authenticate ¶
func (uh *UserHandler) Authenticate(c *fiber.Ctx) error
func (*UserHandler) CreateUser ¶
func (uh *UserHandler) CreateUser(c *fiber.Ctx) error
type UserRepository ¶
type UserRepository struct {
// contains filtered or unexported fields
}
func NewUserRepository ¶
func NewUserRepository(db *sql.DB) *UserRepository
func (*UserRepository) CreateUser ¶
func (ur *UserRepository) CreateUser(user *User) (insertedID string, err error)
func (*UserRepository) FindByEmail ¶
func (ur *UserRepository) FindByEmail(email string) (*User, error)
func (*UserRepository) FindByEmailWithPassword ¶
func (ur *UserRepository) FindByEmailWithPassword(email string) (*User, error)
type UserUseCase ¶
type UserUseCase struct {
// contains filtered or unexported fields
}
func NewUserUseCase ¶
func NewUserUseCase(repo IUserRepository) *UserUseCase
func (*UserUseCase) Authenticate ¶
func (uc *UserUseCase) Authenticate(input AuthenticateInput) (*User, error)
func (*UserUseCase) CreateUser ¶
func (uc *UserUseCase) CreateUser(input CreateUserInput) (*User, error)
Click to show internal directories.
Click to hide internal directories.