base

package
v0.0.0-...-702f6d9 Latest Latest
Warning

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

Go to latest
Published: May 8, 2024 License: AGPL-3.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateUser

func CreateUser(db *gorm.DB, user *models.User) (*models.User, *errors.Error)

func DeleteUser

func DeleteUser(db *gorm.DB, id uuid.UUID) *errors.Error

func GetUserPasswordHash

func GetUserPasswordHash(db *gorm.DB, id uuid.UUID) (*string, *errors.Error)

func GetUsers

func GetUsers(db *gorm.DB, limit int, page int) ([]models.User, *errors.Error)

func UpdateUser

func UpdateUser(db *gorm.DB, id uuid.UUID, user models.User) (*models.User, *errors.Error)

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) GetMe

func (u *UserService) GetMe(id string) (*models.User, *errors.Error)

func (*UserService) GetUser

func (u *UserService) GetUser(id string) (*models.User, *errors.Error)

func (*UserService) GetUsers

func (u *UserService) GetUsers(limit string, page string) ([]models.User, *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

Jump to

Keyboard shortcuts

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