import request from '/@/utils/request';

// 数据集查询参数
export interface knowledgeQueryParams {
	keyword?: string;
	pageNum: number;
	pageSize: number;
	datasetType?: number; // 1=文本，2=视频
}

// 创建知识库参数
export interface CreateknowledgeParams {
	name: string; // 必传
	datasetType: number; // 1=文本，2=视频
	description?: string; // 可选
	embeddingModel?: string; // 向量模型
	status?: string; // 状态
}

// 更新知识库参数
export interface UpdateknowledgeParams {
	id: string; // 必传
	name?: string; // 可选
	datasetType?: number; // 1=文本，2=视频
	description?: string; // 可选
	embeddingModel?: string; // 向量模型
	status?: string; // 状态
}

// 数据集信息
export interface knowledgeInfo {
	id?: string;
	name: string;
	datasetType?: number; // 1=文本，2=视频
	description?: string;
	fileCount?: number;
	totalSize?: number;
	createdAt?: string;
	updatedAt?: string;
	embeddingModel?: string; // 向量模型
	documentCount?: number; // 文档数量
	charCount?: number; // 字符数量
	status?: string; // 状态
}

// 获取知识库列表
export function listknowledges(params: knowledgeQueryParams) {
	return request({
		url: '/rag/dataset/list',
		method: 'get',
		params,
	});
}

// 创建知识库
export function createknowledge(data: CreateknowledgeParams) {
	return request({
		url: '/rag/dataset/create',
		method: 'post',
		data,
	});
}

// 更新知识库
export function updateknowledge(data: UpdateknowledgeParams) {
	return request({
		url: '/rag/dataset/update',
		method: 'put',
		data,
	});
}

// 删除知识库
export function deleteknowledge(id: string) {
	return request({
		url: '/rag/dataset/delete',
		method: 'delete',
		params: { id },
	});
}

// 获取知识库详情
export function getknowledge(id: string) {
	return request({
		url: '/rag/dataset/detail',
		method: 'get',
		params: { id },
	});
}

// 更新知识库状态
export function updateknowledgeStatus(data: { id: string; status: string }) {
	return request({
		url: '/rag/dataset/updateStatus',
		method: 'put',
		data,
	});
}
