package remark

import (
	"common/webServer"
	"goutil/logUtilPlus"
)

var (
	remarksSlice []*ModuleRemark = make([]*ModuleRemark, 0, 32)
)

// RegisterModuleRemark
//
//	@description: 注册模块说明对象
//
// parameter:
//
//	@name: 模块名称
//	@desc: 模块描述
//	@author: 模块作者
//	@mendor: 模块修改者（多个用，分隔）
//	@date: 创建日期
//
// return:
func RegisterModuleRemark(name, desc, author, mendor, date string) {
	remarksSlice = append(remarksSlice, newModuleRemark(name, desc, author, mendor, date))
}

// RegisterMethodRemark
//
//	@description: 注册方法说明对象
//
// parameter:
//
//	@moduleName: 模块名称
//	@name: 方法名称
//	@desc: 方法描述
//	@author: 方法作者
//	@mendor: 方法修改者（多个用，分隔）
//	@date: 创建日期
//	@inParam: 输入参数
//	@outParam: 输出参数
//
// return:
func RegisterMethodRemark(moduleName, name, desc, author, mendor, date string, inParam []string, outParam string, skipVerifyTokenPage bool) {
	var moduleRemark *ModuleRemark
	var exists bool
	for _, item := range remarksSlice {
		if item.Name == moduleName {
			moduleRemark = item
			exists = true
		}
	}

	if !exists {
		logUtilPlus.ErrorLog("ModuleRemark:%s尚未注册", moduleName)
		return
	}

	moduleRemark.MethodRemarkSlice = append(moduleRemark.MethodRemarkSlice, newMethodRemark(moduleName, name, desc, author, mendor, date, inParam, outParam))

	//跳过登录验证
	if skipVerifyTokenPage {
		webServer.AddSkipVerifyTokenPage(moduleName, name)
	}
}
