package bll

import (
	"context"
	"yx-dataset-server/app/schema"
)

// IDataset Dataset业务逻辑接口
type IDataset interface {
	// 查询数据
	Query(ctx context.Context, params schema.DatasetQueryParam, opts ...schema.DatasetQueryOptions) (*schema.DatasetQueryResult, error)
	// 查询指定数据
	Get(ctx context.Context, recordID string, opts ...schema.DatasetQueryOptions) (*schema.Dataset, error)
	// 创建数据
	Create(ctx context.Context, item schema.Dataset) error
	// 更新数据
	Update(ctx context.Context, recordID string, item schema.Dataset) error
	// 删除数据
	Delete(ctx context.Context, recordID string) error
	// 更新状态
	UpdateStatus(ctx context.Context, recordID string, status int) error
	// 查询有权限的知识库
	GetPermissionDatasets(ctx context.Context, orgId string) (schema.Organizations, error)
	// GetAvailableDatasets 按类型查询可用知识库
	// - orgId 为空：返回全部公共/共享知识库（用于"新建企业"选择分配）
	// - orgId 非空：返回该企业可访问的全部知识库（被分配的共享 + 企业自建），
	//   用于"为企业新增管理员/员工时"选择授权
	GetAvailableDatasets(ctx context.Context, orgId string) (*schema.AvailableDatasets, error)
	// UpdateSequence 更新排序
	//UpdateSequence(ctx context.Context, recordID string, sequence int) error
}
