package router

import (
	"github.com/gin-gonic/gin"
	"go-admin/app/admin/apis/message"
	"go-admin/app/admin/middleware"
	jwt "go-admin/pkg/jwtauth"
)

func registerMessageCenterRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
	// 公告消息（列表、新增、启用/禁用、删除）
	r1 := v1.Group("/sys_message").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
	{
		r1.POST("create", message.SysMessageCreate)        // 新增
		r1.POST("edit", message.SysMessageEdit)            // 编辑
		r1.POST("set_status", message.SysMessageSetStatus) // 启用/禁用
		r1.POST("delete", message.SysMessageDelete)        // 删除
		r1.POST("list", message.SysMessageList)            // 查询列表
		r1.POST("detail", message.SysMessageDetail)        // 查询详情
	}

	// 业务消息（列表、新增、编辑、启用/禁用、删除）
	r2 := v1.Group("/bus_message").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
	{
		r2.POST("create", message.BusMessageCreate)        // 新增
		r2.POST("edit", message.BusMessageEdit)            // 编辑
		r2.POST("set_status", message.BusMessageSetStatus) // 启用/禁用
		r2.POST("delete", message.BusMessageDelete)        // 删除
		r2.POST("list", message.BusMessageList)            // 查询列表
		r2.POST("detail", message.BusMessageDetail)        // 查询详情

		r2.POST("biz_types", message.GetBizTypes)                   // 查询业务类型
		r2.POST("events", message.GetEventsByBizType)               // 查询事件类型
		r2.POST("template_variables", message.GetTemplateVariables) // 查询模板变量字段
	}

	// 用户消息中心（列表、详情、阅读）
	r3 := v1.Group("/user_message").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
	{
		r3.POST("list", message.UserMessageList)            // 列表
		r3.POST("set_status", message.UserMessageSetStatus) // 阅读
		r3.POST("delete", message.UserMessageDelete)        // 删除消息
	}
}
