123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- package controllers
- import (
- "sparrow/pkg/models"
- "sparrow/services/knowoapi/services"
- "github.com/kataras/iris/v12"
- )
- // RoleController role
- type RoleController struct {
- Ctx iris.Context
- Service services.RoleService
- Token Token
- }
- // Post “
- // POST /admin/role
- func (a *RoleController) Post() {
- role := new(models.Role)
- if err := parseBody(a.Ctx, role); err != nil {
- badRequest(a.Ctx, err)
- return
- }
- if err := a.Service.Create(role); err != nil {
- responseError(a.Ctx, ErrDatabase, err.Error())
- return
- }
- done(a.Ctx, role)
- }
- // Delete delete
- // DELETE /admin/role
- func (a *RoleController) Delete() {
- role := new(models.Role)
- // ID为1的不允许删除
- if role.ID == 1 {
- responseError(a.Ctx, ErrNormal, "普通用户角色不允许删除")
- return
- }
- if err := parseBody(a.Ctx, role); err != nil {
- badRequest(a.Ctx, err)
- return
- }
- if err := a.Service.Delete(role); err != nil {
- responseError(a.Ctx, ErrDatabase, err.Error())
- return
- }
- done(a.Ctx, role)
- }
- // Put delPutete
- // Put /admin/role
- func (a *RoleController) Put() {
- role := new(models.Role)
- if err := parseBody(a.Ctx, role); err != nil {
- badRequest(a.Ctx, err)
- return
- }
- if err := a.Service.Update(role); err != nil {
- responseError(a.Ctx, ErrDatabase, err.Error())
- return
- }
- done(a.Ctx, role)
- }
- // Get get roles
- // GET /admin/role?pi=&ps=&name
- func (a *RoleController) Get() {
- pi, err := a.Ctx.URLParamInt("pi")
- if err != nil {
- badRequest(a.Ctx, err)
- return
- }
- ps, err := a.Ctx.URLParamInt("ps")
- if err != nil {
- badRequest(a.Ctx, err)
- return
- }
- name := a.Ctx.URLParam("name")
- datas, total, err := a.Service.QueryAll(pi, ps, name)
- if err != nil {
- responseError(a.Ctx, ErrDatabase, err.Error())
- return
- }
- done(a.Ctx, map[string]interface{}{
- "list": datas,
- "total": total,
- })
- }
- // GetBy get role by id
- func (a *RoleController) GetBy(id int) {
- role, err := a.Service.QueryRole(id)
- if err != nil {
- responseError(a.Ctx, ErrDatabase, err.Error())
- return
- }
- done(a.Ctx, role)
- }
|