package api

import (
	"github.com/gin-gonic/gin"
	"github.com/goWxHook/goWxHook/core"
	"github.com/goWxHook/goWxHook/utils"
)

// getWorkWxUserList
//
//	@Summary		获取企业微信用户列表
//	@Description	获取企业微信用户列表接口
//	@Tags			企业微信
//	@Accept			json
//	@Produce		json
//	@Response		200	{object}	CommonStringResponse{Data=[]core.GetWorkWxUserListResponseDataItem}	"{\"code\":0, ....}
//	@Router			/api/v1/workwx/user/list [get]
func (w *WebApi) getWorkWxUserList(c *gin.Context) {
	list, err := w.WxApi.GetWorkWxUserList()
	if err != nil {
		utils.ResponseError(c, err.Error(), nil)
		return
	}
	utils.ResponseOK(c, "success", list)
	return
}

// getWorkWxRoomList
//
//	@Summary		获取企业微信群列表
//	@Description	获取企业微信群列表接口
//	@Tags			企业微信
//	@Accept			json
//	@Produce		json
//	@Response		200	{object}	CommonStringResponse{Data=[]core.GetWorkWxRoomListResponseDataItem}	"{\"code\":0, ....}
//	@Router			/api/v1/workwx/room/list [get]
func (w *WebApi) getWorkWxRoomList(c *gin.Context) {
	list, err := w.WxApi.GetWorkWxRoomList()
	if err != nil {
		utils.ResponseError(c, err.Error(), nil)
		return
	}
	utils.ResponseOK(c, "success", list)
	return
}

// getWorkWxRoomMemberList
//
//	@Summary		获取企业微信群成员列表
//	@Description	获取企业微信群成员列表接口
//	@Tags			企业微信
//	@Accept			json
//	@Produce		json
//	@Param			body	body		core.GetWorkWxChatRoomMemberRequest									true	"群信息"
//	@Response		200		{object}	CommonStringResponse{Data=core.GetWorkWxChatRoomMemberResponseData}	"{\"code\":0, ....}
//	@Router			/api/v1/workwx/room/member/list [post]
func (w *WebApi) getWorkWxRoomMemberList(c *gin.Context) {
	var form core.GetWorkWxChatRoomMemberRequest
	err := c.ShouldBindJSON(&form)
	if err != nil {
		utils.ResponseError(c, err.Error(), nil)
		return
	}
	list, err := w.WxApi.GetWorkWxChatRoomMember(form)
	if err != nil {
		utils.ResponseError(c, err.Error(), nil)
		return
	}
	utils.ResponseOK(c, "success", list)
	return
}
