Files
atom/modules/auth/controller/role.go
2023-02-04 19:54:29 +08:00

51 lines
1.3 KiB
Go
Executable File

package controller
import (
"atom/common/request"
"atom/common/response"
"atom/database/models"
"atom/modules/auth/dto"
"atom/modules/auth/service"
"github.com/gin-gonic/gin"
)
type RoleController interface {
GetByFilter(*gin.Context, dto.RoleRequestFilter, request.PageFilter) (*response.PageResponse[*models.SysRole], error)
Create(*gin.Context, dto.RoleRequestForm) error
Delete(*gin.Context, int) error
UpdateByID(*gin.Context, int, dto.RoleRequestForm) error
}
type roleControllerImpl struct {
roleSvc service.RoleService
}
func NewRoleController(
roleSvc service.RoleService,
) RoleController {
return &roleControllerImpl{
roleSvc: roleSvc,
}
}
func (c *roleControllerImpl) GetByFilter(
ctx *gin.Context,
filter dto.RoleRequestFilter,
page request.PageFilter,
) (*response.PageResponse[*models.SysRole], error) {
return c.roleSvc.GetByFilter(ctx, filter, page)
}
func (c *roleControllerImpl) Create(ctx *gin.Context, req dto.RoleRequestForm) error {
_, err := c.roleSvc.Create(ctx, req)
return err
}
func (c *roleControllerImpl) UpdateByID(ctx *gin.Context, id int, req dto.RoleRequestForm) error {
_, err := c.roleSvc.UpdateByID(ctx, uint64(id), req)
return err
}
func (c *roleControllerImpl) Delete(ctx *gin.Context, id int) error {
return c.roleSvc.DeleteByID(ctx, uint64(id))
}