Documentation ¶
Index ¶
- func CreateUser(db *gorm.DB, user *models.User) (*models.User, *errors.Error)
- func DeleteUser(db *gorm.DB, id uuid.UUID) *errors.Error
- func GetUserPasswordHash(db *gorm.DB, id uuid.UUID) (*string, *errors.Error)
- func GetUsers(db *gorm.DB, limit int, page int) ([]models.User, *errors.Error)
- func UpdateUser(db *gorm.DB, id uuid.UUID, user models.User) (*models.User, *errors.Error)
- func UserRoutes(userParams types.RouteParams)
- func UsersRouter(userParams types.RouteParams) fiber.Router
- type UserController
- func (u *UserController) CreateUser(c *fiber.Ctx) error
- func (u *UserController) DeleteUser(c *fiber.Ctx) error
- func (u *UserController) GetMe(c *fiber.Ctx) error
- func (u *UserController) GetUser(c *fiber.Ctx) error
- func (u *UserController) GetUsers(c *fiber.Ctx) error
- func (u *UserController) UpdatePassword(c *fiber.Ctx) error
- func (u *UserController) UpdateUser(c *fiber.Ctx) error
- type UserService
- func (u *UserService) CreateUser(userBody models.CreateUserRequestBody) (*models.User, *auth.Token, *errors.Error)
- func (u *UserService) DeleteUser(id string) *errors.Error
- func (u *UserService) GetMe(id string) (*models.User, *errors.Error)
- func (u *UserService) GetUser(id string) (*models.User, *errors.Error)
- func (u *UserService) GetUsers(limit string, page string) ([]models.User, *errors.Error)
- func (u *UserService) UpdatePassword(id string, passwordBody models.UpdatePasswordRequestBody) *errors.Error
- func (u *UserService) UpdateUser(id string, userBody models.UpdateUserRequestBody) (*models.User, *errors.Error)
- type UserServiceInterface
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetUserPasswordHash ¶
func UpdateUser ¶
func UserRoutes ¶
func UserRoutes(userParams types.RouteParams)
func UsersRouter ¶
func UsersRouter(userParams types.RouteParams) fiber.Router
Types ¶
type UserController ¶
type UserController struct {
// contains filtered or unexported fields
}
func NewUserController ¶
func NewUserController(userService UserServiceInterface) *UserController
func (*UserController) CreateUser ¶
func (u *UserController) CreateUser(c *fiber.Ctx) error
CreateUser godoc
@Summary Create a user @Description Creates a user @ID create-user @Tags user @Accept json @Produce json @Param userBody body models.CreateUserRequestBody true "User Body" @Success 201 {object} models.User @Failure 400 {object} errors.Error @Failure 401 {object} errors.Error @Failure 404 {object} errors.Error @Failure 409 {object} errors.Error @Failure 500 {object} errors.Error @Router /users/ [post]
func (*UserController) DeleteUser ¶
func (u *UserController) DeleteUser(c *fiber.Ctx) error
DeleteUser godoc
@Summary Delete a user @Description Deletes a user @ID delete-user @Tags user @Produce json @Param userID path string true "User ID" @Success 204 {string} utilities.SuccessResponse @Failure 400 {object} errors.Error @Failure 401 {object} errors.Error @Failure 404 {object} errors.Error @Failure 500 {object} errors.Error @Router /users/{userID}/ [delete]
func (*UserController) GetMe ¶
func (u *UserController) GetMe(c *fiber.Ctx) error
Me godoc
@Summary Retrieves the currently authenticated user @Description Retrieves the currently authenticated user @ID get-me @Tags auth @Accept json @Produce json @Security Bearer @Success 200 {object} models.User @Failure 400 {object} errors.Error @Failure 401 {object} errors.Error @Failure 404 {object} errors.Error @Failure 500 {object} errors.Error @Router /auth/me [get]
func (*UserController) GetUser ¶
func (u *UserController) GetUser(c *fiber.Ctx) error
GetUser godoc
@Summary Retrieve a user @Description Retrieves a user @ID get-user @Tags user @Produce json @Param userID path string true "User ID" @Success 200 {object} models.User @Failure 400 {object} errors.Error @Failure 401 {object} errors.Error @Failure 404 {object} errors.Error @Failure 500 {object} errors.Error @Router /users/{userID}/ [get]
func (*UserController) GetUsers ¶
func (u *UserController) GetUsers(c *fiber.Ctx) error
GetUsers godoc
@Summary Retrieve all users @Description Retrieves all users @ID get-users @Tags user @Produce json @Param limit query int false "Limit" @Param page query int false "Page" @Success 200 {object} []models.User @Failure 401 {object} errors.Error @Failure 400 {object} errors.Error @Failure 500 {object} errors.Error @Router /users/ [get]
func (*UserController) UpdatePassword ¶
func (u *UserController) UpdatePassword(c *fiber.Ctx) error
UpdatePassword godoc
@Summary Update a user's password @Description Updates a user's password @ID update-password @Tags user @Accept json @Produce json @Param userID path string true "User ID" @Param passwordBody body models.UpdatePasswordRequestBody true "Password Body" @Success 200 {string} utilities.SuccessResponse @Failure 400 {object} errors.Error @Failure 401 {object} errors.Error @Failure 404 {object} errors.Error @Failure 500 {object} errors.Error @Router /users/{userID}/password [patch]
func (*UserController) UpdateUser ¶
func (u *UserController) UpdateUser(c *fiber.Ctx) error
UpdateUser godoc
@Summary Update a user @Description Updates a user @ID update-user @Tags user @Accept json @Produce json @Param userID path string true "User ID" @Param userBody body models.UpdateUserRequestBody true "User Body" @Success 200 {object} models.User @Failure 400 {object} errors.Error @Failure 401 {object} errors.Error @Failure 404 {object} errors.Error @Failure 500 {object} errors.Error @Router /users/{userID}/ [patch]
type UserService ¶
type UserService struct {
types.ServiceParams
}
func (*UserService) CreateUser ¶
func (u *UserService) CreateUser(userBody models.CreateUserRequestBody) (*models.User, *auth.Token, *errors.Error)
func (*UserService) DeleteUser ¶
func (u *UserService) DeleteUser(id string) *errors.Error
func (*UserService) UpdatePassword ¶
func (u *UserService) UpdatePassword(id string, passwordBody models.UpdatePasswordRequestBody) *errors.Error
func (*UserService) UpdateUser ¶
func (u *UserService) UpdateUser(id string, userBody models.UpdateUserRequestBody) (*models.User, *errors.Error)
type UserServiceInterface ¶
type UserServiceInterface interface { GetUsers(limit string, page string) ([]models.User, *errors.Error) GetMe(id string) (*models.User, *errors.Error) GetUser(id string) (*models.User, *errors.Error) CreateUser(userBody models.CreateUserRequestBody) (*models.User, *auth.Token, *errors.Error) UpdateUser(id string, userBody models.UpdateUserRequestBody) (*models.User, *errors.Error) UpdatePassword(id string, passwordBody models.UpdatePasswordRequestBody) *errors.Error DeleteUser(id string) *errors.Error }
func NewUserService ¶
func NewUserService(serviceParams types.ServiceParams) UserServiceInterface