2022-05-18 17:57:03 +08:00
|
|
|
package controller
|
|
|
|
|
|
|
|
import (
|
2022-05-29 10:06:21 +08:00
|
|
|
"github.com/eryajf/go-ldap-admin/logic"
|
2022-06-14 11:17:38 +08:00
|
|
|
"github.com/eryajf/go-ldap-admin/model/request"
|
2022-05-18 17:57:03 +08:00
|
|
|
|
|
|
|
"github.com/gin-gonic/gin"
|
|
|
|
)
|
|
|
|
|
|
|
|
type GroupController struct{}
|
|
|
|
|
|
|
|
// List 记录列表
|
2024-05-20 21:55:42 +08:00
|
|
|
// @Summary 获取分组记录列表
|
|
|
|
// @Description 获取分组记录列表
|
|
|
|
// @Tags 分组管理
|
|
|
|
// @Accept application/json
|
|
|
|
// @Produce application/json
|
|
|
|
// @Success 200 {object} response.ResponseBody
|
|
|
|
// @Router /group/list [get]
|
|
|
|
// @Security ApiKeyAuth
|
2022-05-18 17:57:03 +08:00
|
|
|
func (m *GroupController) List(c *gin.Context) {
|
|
|
|
req := new(request.GroupListReq)
|
|
|
|
Run(c, req, func() (interface{}, interface{}) {
|
|
|
|
return logic.Group.List(c, req)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
// UserInGroup 在分组内的用户
|
2024-05-20 21:55:42 +08:00
|
|
|
// @Summary 获取分组内用户
|
|
|
|
// @Description 获取分组内用户
|
|
|
|
// @Tags 分组管理
|
|
|
|
// @Accept application/json
|
|
|
|
// @Produce application/json
|
|
|
|
// @Param groupId query int true "分组ID"
|
|
|
|
// @Param nickname query string false "昵称"
|
|
|
|
// @Success 200 {object} response.ResponseBody
|
|
|
|
// @Router /group/useringroup [get]
|
|
|
|
// @Security ApiKeyAuth
|
2022-05-18 17:57:03 +08:00
|
|
|
func (m *GroupController) UserInGroup(c *gin.Context) {
|
|
|
|
req := new(request.UserInGroupReq)
|
|
|
|
Run(c, req, func() (interface{}, interface{}) {
|
|
|
|
return logic.Group.UserInGroup(c, req)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
// UserNoInGroup 不在分组的用户
|
2024-05-20 21:55:42 +08:00
|
|
|
// @Summary 不在分组的用户
|
|
|
|
// @Description 不在分组的用户
|
|
|
|
// @Tags 分组管理
|
|
|
|
// @Accept application/json
|
|
|
|
// @Produce application/json
|
|
|
|
// @Param groupId query int true "分组ID"
|
|
|
|
// @Param nickname query string false "昵称"
|
|
|
|
// @Success 200 {object} response.ResponseBody
|
|
|
|
// @Router /group/usernoingroup [get]
|
|
|
|
// @Security ApiKeyAuth
|
2022-05-18 17:57:03 +08:00
|
|
|
func (m *GroupController) UserNoInGroup(c *gin.Context) {
|
|
|
|
req := new(request.UserNoInGroupReq)
|
|
|
|
Run(c, req, func() (interface{}, interface{}) {
|
|
|
|
return logic.Group.UserNoInGroup(c, req)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2022-05-28 22:22:36 +08:00
|
|
|
// GetTree 接口树
|
2024-05-20 21:55:42 +08:00
|
|
|
// @Summary 获取分组接口树
|
|
|
|
// @Description 获取分组接口树
|
|
|
|
// @Tags 分组管理
|
|
|
|
// @Accept application/json
|
|
|
|
// @Produce application/json
|
|
|
|
// @Success 200 {object} response.ResponseBody
|
|
|
|
// @Router /group/tree [get]
|
|
|
|
// @Security ApiKeyAuth
|
2022-05-28 22:22:36 +08:00
|
|
|
func (m *GroupController) GetTree(c *gin.Context) {
|
2022-05-29 17:53:31 +08:00
|
|
|
req := new(request.GroupListReq)
|
2022-05-28 22:22:36 +08:00
|
|
|
Run(c, req, func() (interface{}, interface{}) {
|
|
|
|
return logic.Group.GetTree(c, req)
|
|
|
|
})
|
|
|
|
}
|
2022-05-18 17:57:03 +08:00
|
|
|
|
2024-05-20 21:55:42 +08:00
|
|
|
// Add 新建分组记录
|
|
|
|
// @Summary 添加分组记录
|
|
|
|
// @Description 添加分组记录
|
|
|
|
// @Tags 分组管理
|
|
|
|
// @Accept application/json
|
|
|
|
// @Produce application/json
|
|
|
|
// @Param data body request.GroupAddReq true "添加用户记录的结构体"
|
|
|
|
// @Success 200 {object} response.ResponseBody
|
|
|
|
// @Router /group/add [post]
|
|
|
|
// @Security ApiKeyAuth
|
2022-05-18 17:57:03 +08:00
|
|
|
func (m *GroupController) Add(c *gin.Context) {
|
|
|
|
req := new(request.GroupAddReq)
|
|
|
|
Run(c, req, func() (interface{}, interface{}) {
|
|
|
|
return logic.Group.Add(c, req)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update 更新记录
|
2024-05-20 21:55:42 +08:00
|
|
|
// @Summary 更新分组记录
|
|
|
|
// @Description 更新分组记录
|
|
|
|
// @Tags 分组管理
|
|
|
|
// @Accept application/json
|
|
|
|
// @Produce application/json
|
|
|
|
// @Param data body request.GroupUpdateReq true "更新用户记录的结构体"
|
|
|
|
// @Success 200 {object} response.ResponseBody
|
|
|
|
// @Router /group/update [post]
|
|
|
|
// @Security ApiKeyAuth
|
2022-05-18 17:57:03 +08:00
|
|
|
func (m *GroupController) Update(c *gin.Context) {
|
|
|
|
req := new(request.GroupUpdateReq)
|
|
|
|
Run(c, req, func() (interface{}, interface{}) {
|
|
|
|
return logic.Group.Update(c, req)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
// Delete 删除记录
|
2024-05-20 21:55:42 +08:00
|
|
|
// @Summary 删除分组记录
|
|
|
|
// @Description 删除分组记录
|
|
|
|
// @Tags 分组管理
|
|
|
|
// @Accept application/json
|
|
|
|
// @Produce application/json
|
|
|
|
// @Param data body request.GroupDeleteReq true "删除用户记录的结构体"
|
|
|
|
// @Success 200 {object} response.ResponseBody
|
|
|
|
// @Router /group/delete [post]
|
|
|
|
// @Security ApiKeyAuth
|
2022-05-18 17:57:03 +08:00
|
|
|
func (m *GroupController) Delete(c *gin.Context) {
|
|
|
|
req := new(request.GroupDeleteReq)
|
|
|
|
Run(c, req, func() (interface{}, interface{}) {
|
|
|
|
return logic.Group.Delete(c, req)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
// AddUser 添加用户
|
2024-05-20 21:55:42 +08:00
|
|
|
// @Summary 添加用户
|
|
|
|
// @Description 添加用户
|
|
|
|
// @Tags 分组管理
|
|
|
|
// @Accept application/json
|
|
|
|
// @Produce application/json
|
|
|
|
// @Param data body request.GroupAddUserReq true "添加用户记录的结构体"
|
|
|
|
// @Success 200 {object} response.ResponseBody
|
|
|
|
// @Router /group/adduser [post]
|
|
|
|
// @Security ApiKeyAuth
|
2022-05-18 17:57:03 +08:00
|
|
|
func (m *GroupController) AddUser(c *gin.Context) {
|
|
|
|
req := new(request.GroupAddUserReq)
|
|
|
|
Run(c, req, func() (interface{}, interface{}) {
|
|
|
|
return logic.Group.AddUser(c, req)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
// RemoveUser 移除用户
|
2024-05-20 21:55:42 +08:00
|
|
|
// @Summary 移除用户
|
|
|
|
// @Description 移除用户
|
|
|
|
// @Tags 分组管理
|
|
|
|
// @Accept application/json
|
|
|
|
// @Produce application/json
|
|
|
|
// @Param data body request.GroupRemoveUserReq true "移除用户记录的结构体"
|
|
|
|
// @Success 200 {object} response.ResponseBody
|
|
|
|
// @Router /group/removeuser [post]
|
|
|
|
// @Security ApiKeyAuth
|
2022-05-18 17:57:03 +08:00
|
|
|
func (m *GroupController) RemoveUser(c *gin.Context) {
|
|
|
|
req := new(request.GroupRemoveUserReq)
|
|
|
|
Run(c, req, func() (interface{}, interface{}) {
|
|
|
|
return logic.Group.RemoveUser(c, req)
|
|
|
|
})
|
|
|
|
}
|
2022-06-02 11:05:55 +08:00
|
|
|
|
2024-05-20 21:55:42 +08:00
|
|
|
// SyncDingTalkDepts 同步钉钉部门信息
|
|
|
|
// @Summary 同步钉钉部门信息
|
|
|
|
// @Description 同步钉钉部门信息
|
|
|
|
// @Tags 分组管理
|
|
|
|
// @Accept application/json
|
|
|
|
// @Produce application/json
|
|
|
|
// @Success 200 {object} response.ResponseBody
|
|
|
|
// @Router /group/syncDingTalkDepts [post]
|
|
|
|
// @Security ApiKeyAuth
|
2022-06-02 11:05:55 +08:00
|
|
|
func (m *GroupController) SyncDingTalkDepts(c *gin.Context) {
|
|
|
|
req := new(request.SyncDingTalkDeptsReq)
|
|
|
|
Run(c, req, func() (interface{}, interface{}) {
|
2022-06-14 11:17:38 +08:00
|
|
|
return logic.DingTalk.SyncDingTalkDepts(c, req)
|
2022-06-02 11:05:55 +08:00
|
|
|
})
|
|
|
|
}
|
2022-06-18 17:09:14 +08:00
|
|
|
|
2024-05-20 21:55:42 +08:00
|
|
|
// SyncWeComDepts 同步企业微信部门信息
|
|
|
|
// @Summary 同步企业微信部门信息
|
|
|
|
// @Description 同步企业微信部门信息
|
|
|
|
// @Tags 分组管理
|
|
|
|
// @Accept application/json
|
|
|
|
// @Produce application/json
|
|
|
|
// @Success 200 {object} response.ResponseBody
|
|
|
|
// @Router /group/syncWeComDepts [post]
|
|
|
|
// @Security ApiKeyAuth
|
2022-06-18 17:09:14 +08:00
|
|
|
func (m *GroupController) SyncWeComDepts(c *gin.Context) {
|
|
|
|
req := new(request.SyncWeComDeptsReq)
|
|
|
|
Run(c, req, func() (interface{}, interface{}) {
|
|
|
|
return logic.WeCom.SyncWeComDepts(c, req)
|
|
|
|
})
|
|
|
|
}
|
2022-06-21 20:50:38 +08:00
|
|
|
|
2024-05-20 21:55:42 +08:00
|
|
|
// SyncFeiShuDepts 同步飞书部门信息
|
|
|
|
// @Summary 同步飞书部门信息
|
|
|
|
// @Description 同步飞书部门信息
|
|
|
|
// @Tags 分组管理
|
|
|
|
// @Accept application/json
|
|
|
|
// @Produce application/json
|
|
|
|
// @Success 200 {object} response.ResponseBody
|
|
|
|
// @Router /group/syncFeiShuDepts [post]
|
|
|
|
// @Security ApiKeyAuth
|
2022-06-21 20:50:38 +08:00
|
|
|
func (m *GroupController) SyncFeiShuDepts(c *gin.Context) {
|
|
|
|
req := new(request.SyncFeiShuDeptsReq)
|
|
|
|
Run(c, req, func() (interface{}, interface{}) {
|
|
|
|
return logic.FeiShu.SyncFeiShuDepts(c, req)
|
|
|
|
})
|
|
|
|
}
|
2022-07-10 11:01:27 +08:00
|
|
|
|
2024-05-20 21:55:42 +08:00
|
|
|
// SyncOpenLdapDepts 同步原ldap部门信息
|
|
|
|
// @Summary 同步原ldap部门信息
|
|
|
|
// @Description 同步原ldap部门信息
|
|
|
|
// @Tags 分组管理
|
|
|
|
// @Accept application/json
|
|
|
|
// @Produce application/json
|
|
|
|
// @Success 200 {object} response.ResponseBody
|
|
|
|
// @Router /group/syncOpenLdapDepts [post]
|
|
|
|
// @Security ApiKeyAuth
|
2022-07-10 11:01:27 +08:00
|
|
|
func (m *GroupController) SyncOpenLdapDepts(c *gin.Context) {
|
|
|
|
req := new(request.SyncOpenLdapDeptsReq)
|
|
|
|
Run(c, req, func() (interface{}, interface{}) {
|
|
|
|
return logic.OpenLdap.SyncOpenLdapDepts(c, req)
|
|
|
|
})
|
|
|
|
}
|
2023-02-22 22:16:13 +08:00
|
|
|
|
2024-05-20 21:55:42 +08:00
|
|
|
// SyncSqlGroups 同步Sql中的分组信息到ldap
|
|
|
|
// @Summary 同步Sql中的分组信息到ldap
|
|
|
|
// @Description 同步Sql中的分组信息到ldap
|
|
|
|
// @Tags 分组管理
|
|
|
|
// @Accept application/json
|
|
|
|
// @Produce application/json
|
|
|
|
// @Success 200 {object} response.ResponseBody
|
|
|
|
// @Router /group/syncSqlGroups [post]
|
|
|
|
// @Security ApiKeyAuth
|
2023-02-22 22:16:13 +08:00
|
|
|
func (m *GroupController) SyncSqlGroups(c *gin.Context) {
|
|
|
|
req := new(request.SyncSqlGrooupsReq)
|
|
|
|
Run(c, req, func() (interface{}, interface{}) {
|
|
|
|
return logic.Sql.SyncSqlGroups(c, req)
|
|
|
|
})
|
|
|
|
}
|