package schema

// ChatDataset ChatDataset对象
type ChatDataset struct {
	RecordID        string `json:"record_id"`         // 记录id
	ChatAssistantId string `json:"chat_assistant_id"` // 聊天助手id
	DatasetId       string `json:"dataset_id"`        // 知识库id
	RagDataId       string `json:"rag_data_id"`       // rag_dataset_id
}

// ChatDatasetQueryParam 查询条件
type ChatDatasetQueryParam struct {
	ChatAssistantId string
	RecordIDs       []string
}

// ChatDatasetQueryOptions ChatDataset对象查询可选参数项
type ChatDatasetQueryOptions struct {
	PageParam *PaginationParam // 分页参数
}

type ChatDatasets []*ChatDataset

// ChatDatasetQueryResult ChatDataset对象查询结果
type ChatDatasetQueryResult struct {
	Data       ChatDatasets
	PageResult *PaginationResult
}

func (a ChatDatasets) ToDatasetIds() []string {
	Ids := make([]string, len(a))
	for k, v := range a {
		Ids[k] = v.DatasetId
	}
	return Ids
}
