controller

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Oct 31, 2025 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

func NewValidator

func NewValidator() error

NewValidator 初始化自定义验证器和翻译器

func ResponseNoBind

func ResponseNoBind(c *gin.Context, handler HandlerErrNoBind)

func ResponseOnlySuccess

func ResponseOnlySuccess[T any](c *gin.Context, handler HandlerErr[T], bindTypes ...bindType)

func ResponseWithData

func ResponseWithData[T any, R any](c *gin.Context, handler HandlerData[T, R], bindType ...bindType)

func ResponseWithDataNoBind

func ResponseWithDataNoBind[R any](c *gin.Context, handler Handler[R])

Types

type ApiController

type ApiController interface {
	CreateApi(c *gin.Context)
	UpdateApi(c *gin.Context)
	DeleteApi(c *gin.Context)
	QueryApi(c *gin.Context)
	ListApi(c *gin.Context)
	GetServerApi(c *gin.Context)
}

func NewApiController

func NewApiController(apiService v1.ApiServicer) ApiController

type Handler

type Handler[R any] func(ctx context.Context) (R, error)

type HandlerData

type HandlerData[T any, R any] func(ctx context.Context, req *T) (R, error)

type HandlerErr

type HandlerErr[T any] func(ctx context.Context, req *T) error

type HandlerErrNoBind

type HandlerErrNoBind func(ctx context.Context) error

type RoleController

type RoleController interface {
	CreateRole(c *gin.Context)
	UpdateRole(c *gin.Context)
	DeleteRole(c *gin.Context)
	QueryRole(c *gin.Context)
	ListRole(c *gin.Context)
}

func NewRoleController

func NewRoleController(roleService v1.RoleServicer) RoleController

type UserController

type UserController interface {
	UserLoginController(c *gin.Context)
	UserLogoutController(c *gin.Context)
	UserCreateController(c *gin.Context)
	UserUpdateByAdminController(c *gin.Context)
	UserUpdateBySelfController(c *gin.Context)
	UserDeleteController(c *gin.Context)
	UserQueryController(c *gin.Context)
	UserListController(c *gin.Context)
	UserInfoController(c *gin.Context)
	OAuth2LoginController(c *gin.Context)
	OAuth2CallbackController(c *gin.Context)
	OAuth2ProviderController(c *gin.Context)
	OAuth2ActivateController(c *gin.Context)
}

func NewUserController

func NewUserController(userServicer v1.UserServicer) UserController

type UserControllerImpl

type UserControllerImpl struct {
	// contains filtered or unexported fields
}

func (*UserControllerImpl) OAuth2ActivateController

func (receiver *UserControllerImpl) OAuth2ActivateController(c *gin.Context)

OAuth2ActivateController OAuth2 激活 @Summary OAuth2 激活 @Description 使用 OAuth2 激活,返回用户信息和 Token @Tags 用户管理 @Accept json @Produce json @Param data body apitypes.OAuthActivateRequest true "激活请求参数" @Success 200 {object} apitypes.Response{data=apitypes.UserLoginResponse} "激活成功" @Router /api/v1/oauth2/:id [post]

func (*UserControllerImpl) OAuth2CallbackController

func (receiver *UserControllerImpl) OAuth2CallbackController(c *gin.Context)

OAuth2CallbackController OAuth 回调 @Summary OAuth 回调 @Description 使用 OAuth 回调,返回用户信息和 Token @Tags 用户管理 @Accept json @Produce json @Param data query apitypes.OAuthLoginRequest true "回调请求参数" @Success 200 {object} apitypes.Response{data=apitypes.UserLoginResponse} "登录成功" @Router /api/v1/oauth2/callback [get]

func (*UserControllerImpl) OAuth2LoginController

func (receiver *UserControllerImpl) OAuth2LoginController(c *gin.Context)

OAuth2LoginController OAuth 登录 @Summary OAuth 登录 @Description 使用 OAuth 登录,返回用户信息和 Token @Tags 用户管理 @Accept json @Produce json @Success 302 {string} string "重定向到 OAuth 登录页面" @Router /api/v1/oauth2/login [get]

func (*UserControllerImpl) OAuth2ProviderController

func (receiver *UserControllerImpl) OAuth2ProviderController(c *gin.Context)

OAuth2ProviderController OAuth2 提供商列表 @Summary OAuth2 提供商列表 @Description 获取 OAuth2 提供商列表 @Tags 用户管理 @Accept json @Produce json @Success 200 {object} apitypes.Response{data=[]string} "获取成功" @Router /api/v1/oauth2/provider [get]

func (*UserControllerImpl) UserCreateController

func (receiver *UserControllerImpl) UserCreateController(c *gin.Context)

UserCreateController 用户创建 @Summary 用户创建 @Description 创建用户同时可以设置角色 @Tags 用户管理 @Accept json @Produce json @Param data body apitypes.UserCreateRequest true "创建请求参数" @Success 200 {object} apitypes.Response "创建成功" @Router /api/v1/user/register [post]

func (*UserControllerImpl) UserDeleteController

func (receiver *UserControllerImpl) UserDeleteController(c *gin.Context)

UserDeleteController 用户删除 @Summary 用户删除 @Description 删除用户,只能管理员删除 @Tags 用户管理 @Accept json @Produce json @Param data body apitypes.IDRequest true "删除请求参数" @Success 200 {object} apitypes.Response "删除成功" @Router /api/v1/user/:id [delete]

func (*UserControllerImpl) UserInfoController

func (receiver *UserControllerImpl) UserInfoController(c *gin.Context)

UserInfoController 用户获取自己的信息 @Summary 用户获取自己的信息 @Description 使用 id 查询用户的信息和用户的角色 @Tags 用户管理 @Accept json @Produce json @Success 200 {object} apitypes.Response{data=model.User} "查询成功" @Router /api/v1/user/info [get]

func (*UserControllerImpl) UserListController

func (receiver *UserControllerImpl) UserListController(c *gin.Context)

UserListController 用户列表 @Summary 用户列表 @Description 使用分页查询用户的信息, 支持根据 name, email, mobile, department 查询 @Tags 用户管理 @Accept json @Produce json @Param data query apitypes.UserListRequest true "查询请求参数" @Success 200 {object} apitypes.Response{data=apitypes.UserListResponse} "登录成功" @Router /api/v1/user/ [get]

func (*UserControllerImpl) UserLoginController

func (receiver *UserControllerImpl) UserLoginController(c *gin.Context)

UserLoginController 用户登录 @Summary 用户登录 @Description 使用邮箱和密码登录,返回用户信息和 Token @Tags 用户管理 @Accept json @Produce json @Param data body apitypes.UserLoginRequest true "登录请求参数" @Success 200 {object} apitypes.Response{data=apitypes.UserLoginResponse} "登录成功" @Router /api/v1/users/login [post]

func (*UserControllerImpl) UserLogoutController

func (receiver *UserControllerImpl) UserLogoutController(c *gin.Context)

UserLogoutController 用户注销 @Summary 用户注销 @Description 用户注销,清空 Token @Tags 用户管理 @Accept json @Produce json @Success 200 {object} apitypes.Response "注销成功" @Router /api/v1/user/logout [post]

func (*UserControllerImpl) UserQueryController

func (receiver *UserControllerImpl) UserQueryController(c *gin.Context)

UserQueryController 用户查询 @Summary 用户查询 @Description 使用 id 查询用户的信息和用户的角色 @Tags 用户管理 @Accept json @Produce json @Param data body apitypes.IDRequest true "查询请求参数" @Success 200 {object} apitypes.Response{data=model.User} "查询成功" @Router /api/v1/user/:id [get]

func (*UserControllerImpl) UserUpdateByAdminController

func (receiver *UserControllerImpl) UserUpdateByAdminController(c *gin.Context)

UserUpdateByAdminController 用户更新 @Summary 用户更新 @Description 更新用户信息,可以更新角色 @Tags 用户管理 @Accept json @Produce json @Param data body apitypes.UserUpdateAdminRequest true "更新请求参数" @Success 200 {object} apitypes.Response "更新成功" @Router /api/v1/user/:id [put]

func (*UserControllerImpl) UserUpdateBySelfController

func (receiver *UserControllerImpl) UserUpdateBySelfController(c *gin.Context)

UserUpdateBySelfController 用户更新自己的信息 @Summary 用户更新自己的信息 @Description 更新用户信息,不能更新角色 @Tags 用户管理 @Accept json @Produce json @Param data body apitypes.UserUpdateSelfRequest true "更新请求参数" @Success 200 {object} apitypes.Response "更新成功" @Router /api/v1/user/self [put]

Jump to

Keyboard shortcuts

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