import "../base.api"

type (
    // The response data of message records information | MessageRecords信息
    MessageRecordsInfo {
        BaseIDInfo

        // Status 1: normal 2: ban | 状态 1 正常 2 禁用 
        Status  *uint8 `json:"status,optional"`

        // 机器人微信 id 
        BotWxid  *string `json:"botWxid,optional"`

        // 联系人 id 
        ContactId  *uint64 `json:"contactId,optional"`

        // 类型：1好友，2群组，3企业微信联系人 
        ContactType  *int `json:"contactType,optional"`

        // 接收方微信 id 
        ContactWxid  *string `json:"contactWxid,optional"`

        // 内容类型 1 文本 2 文件 
        ContentType  *int `json:"contentType,optional"`

        // 发送内容 
        Content  *string `json:"content,optional"`

        // 元数据
        Meta *Meta `json:"meta,optional"`

        // 异常原因 
        ErrorDetail  *string `json:"errorDetail,optional"`

        // 发送时间 
        SendTime  *int64 `json:"sendTime,optional"`

        // 源类型 1 点发 2 群发 3 SOP 
        SourceType  *int `json:"sourceType,optional"`

        // 源 ID 
        SourceId  *uint64 `json:"sourceId,optional"`

        // 次源 ID 
        SubSourceId  *uint64 `json:"subSourceId,optional"`

        // 组织ID
        OrganizationId *uint64 `json:"organizationId,optional"`
    }

    // The response data of message records list | MessageRecords列表数据
    MessageRecordsListResp {
        BaseDataInfo

        // MessageRecords list data | MessageRecords列表数据
        Data MessageRecordsListInfo `json:"data"`
    }

    // MessageRecords list data | MessageRecords列表数据
    MessageRecordsListInfo {
        BaseListInfo

        // The API list data | MessageRecords列表数据
        Data  []MessageRecordsInfo  `json:"data"`
    }

    // Get message records list request params | MessageRecords列表请求参数
    MessageRecordsListReq {
        PageInfo

		// 群发消息ID
		BatchMsgId *uint64 `json:"batchMsgId,optional"`

        // 机器人微信 id 
        BotWxid  *string `json:"botWxid,optional"`

        // 消息类型：源类型 1 点发 2 群发 3 SOP 阶段 4 SOP 节点
        SourceType  *int `json:"sourceType,optional"`

        // 消息源ID：
        SourceId  *uint64 `json:"sourceId,optional"`

        // 接收方微信 id 
        ContactWxid  *string `json:"contactWxid,optional"`

        // 发送内容 
        Status  *uint8 `json:"status,optional"`
    }

    // MessageRecords information response | MessageRecords信息返回体
    MessageRecordsInfoResp {
        BaseDataInfo

        // MessageRecords information | MessageRecords数据
        Data MessageRecordsInfo `json:"data"`
    }
)

@server(
    jwt: Auth
    group: message_records
    middleware: Authority
)

service Wechat {
    // Create message records information | 创建MessageRecords
    @handler createMessageRecords
    post /message_records/create (MessageRecordsInfo) returns (BaseMsgResp)

    // Update message records information | 更新MessageRecords
    @handler updateMessageRecords
    post /message_records/update (MessageRecordsInfo) returns (BaseMsgResp)

    // Delete message records information | 删除MessageRecords信息
    @handler deleteMessageRecords
    post /message_records/delete (IDsReq) returns (BaseMsgResp)

    // Get message records list | 获取MessageRecords列表
    @handler getMessageRecordsList
    post /message_records/list (MessageRecordsListReq) returns (MessageRecordsListResp)

    // Get message records by ID | 通过ID获取MessageRecords
    @handler getMessageRecordsById
    post /message_records (IDReq) returns (MessageRecordsInfoResp)
}
