import "../base.api"

type (
    // The response data of UsageDetail information | UsageDetail信息
    UsageDetailInfo {
        BaseIDInfo

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

        // 1 微信 2 名片
        Type  *int `json:"type,optional"

        // 微信id
        BotId  *string `json:"botId,optional"`

        // 微信id或open_id
        ReceiverId  *string `json:"receiverId,optional"`

        // 1 cow-basic 2 cow-agent 3 cow-sop 4 mp-card 5 mp-employee
        App  *string `json:"app,optional"

        // 名片会话id
        SessionId *uint64 `json:"sessionId,optional"`

        // 请求内容
        Request  *string `json:"request,optional"`

        // 响应内容
        Response  *string `json:"response,optional"`

        // 使用token总数
        TotalTokens *uint64 `json:"totalTokens,optional"`

        // 请求token数
        PromptTokens *uint64 `json:"promptTokens,optional"`

        // 响应token数
        CompletionTokens *uint64 `json:"completionTokens,optional"`

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

    // The response data of UsageDetail list | UsageDetail列表数据
    UsageDetailListResp {
        BaseDataInfo

        // UsageDetail list data | UsageDetail列表数据
        Data UsageDetailListInfo `json:"data"`
    }

    // UsageDetail list data | UsageDetail列表数据
    UsageDetailListInfo {
        BaseListInfo

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

    // Get wx list request params | Wx列表请求参数
    UsageDetailListReq {
        PageInfo

        // 租户id
        BotId  *string `json:"botId,optional"`
    }

	UsageDetailResp {
		BaseDataInfo

		Data UsageDetailInfo `json:"data"`
	}
)

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

service Wechat {
    // Get usage detail list | 获取usage_detail列表
    @handler getUsageDetailList
    post /usage_detail/list (UsageDetailListReq) returns (UsageDetailListResp)

	// Get usage detail list | 获取Wx列表
	@handler getUsageDetail
	post /usage_detail (IDReq) returns (UsageDetailResp)
}