# Functions
NewCreateUser creates a new user @Summary Create a new user @Description Create a new user with the provided details @Tags users @Accept json @Produce json @Param user body CreateUserRequestBody true "Create User Request Body" @Success 200 {object} CreateUserResponseBody @Failure 400 @Failure 500 @Router /user [post].
NewDeleteUser deletes a user @Summary Delete user @Description Deletes a user from the system @Tags users @Accept json @Produce json @Param userId path string true "User ID" @Success 200 @Failure 400 @Failure 500 @Router /user/{userId} [delete].
NewGetUsers Get Users @Summary Get a list of users @Description Gets list of users based on optional search criteria @Tags users @Accept json @Produce json @Param user body GetUsersRequestBody true "Get Users Request Body" @Success 200 {object} GetUsersResponseBody @Failure 400 @Failure 500 @Router /users [get].
No description provided by the author
NewUpdateUser updates a users information @Summary Update User @Description Updates user information for the provided userId @Tags users @Accept json @Produce json @Param userId path string true "User ID" @Param user body UpdateUserRequestBody true "Create User Request Body" @Success 200 {object} UpdateUserResponseBody @Failure 400 @Failure 500 @Router /user/{userId} [put].
# Structs
CreateUserRequestBody represents the request body for creating a new user @Description Request body for creating a new user.
CreateUserResponseBody represents the response body for a created user @Description Response body for a created user.
GetUsersRequestBody represents the request body for getting users @Description Optional search criteria for getting users.
GetUsersResponseBody represents the response body for getting users @Description List of users matching search criteria and pagination info.
PageInfo represents the pagination info for a request @Description Provides page size and the token used to get the next page of users.
UpdateUserRequestBody represents the request body for updating a user @Description Request body for updating a user.
UpdateUserResponseBody represents the response body for an updated user @Description Response body for an updated user.
UserResponse represents the response body of a user @Description Information of an individual user in the list of users.
# Interfaces
go:generate mockgen --build_flags=--mod=mod -destination=../../mocks/changelogWriter.go .
go:generate mockgen --build_flags=--mod=mod -destination=../../mocks/readinessChecker.go .
go:generate mockgen --build_flags=--mod=mod -destination=../../mocks/userCreator.go .
go:generate mockgen --build_flags=--mod=mod -destination=../../mocks/userDeleter.go .
go:generate mockgen --build_flags=--mod=mod -destination=../../mocks/userGetter.go .
go:generate mockgen --build_flags=--mod=mod -destination=../../mocks/userUpdater.go .