51 lines
1.3 KiB
Go
Executable File
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))
|
|
}
|