import "../base.api"

type (
	// The response data of message information | Message信息
	MessageInfo {
		BaseIDInfo
		// 属主微信id
		WxWxid *string `json:"wxWxid"`
		// 微信id 公众号微信ID
		Wxid *string `json:"wxid"`
		// 微信消息内容
		Msg *string `json:"msg"`
	}
	// The response data of message list | Message列表数据
	MessageListResp {
		BaseDataInfo
		// Message list data | Message列表数据
		Data MessageListInfo `json:"data"`
	}
	// Message list data | Message列表数据
	MessageListInfo {
		BaseListInfo
		// The API list data | Message列表数据
		Data []MessageInfo `json:"data"`
	}
	// Get message list request params | Message列表请求参数
	MessageListReq {
		PageInfo
		// 属主微信id
		WxWxid *string `json:"wxWxid,optional"`
		// 微信id 公众号微信ID
		Wxid *string `json:"wxid,optional"`
	}
	// Message information response | Message信息返回体
	MessageInfoResp {
		BaseDataInfo
		// Message information | Message数据
		Data MessageInfo `json:"data"`
	}
)

@server (
	jwt:        Auth
	group:      Message
	middleware: Authority
)
service Wechat {
	// Create message information | 创建Message
	@handler createMessage
	post /message/create (MessageInfo) returns (BaseMsgResp)

	// Update message information | 更新Message
	@handler updateMessage
	post /message/update (MessageInfo) returns (BaseMsgResp)

	// Delete message information | 删除Message信息
	@handler deleteMessage
	post /message/delete (IDsReq) returns (BaseMsgResp)

	// Get message list | 获取Message列表
	@handler getMessageList
	post /message/list (MessageListReq) returns (MessageListResp)

	// Get message by ID | 通过ID获取Message
	@handler getMessageById
	post /message (IDReq) returns (MessageInfoResp)
}