package model

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

// IDatasetFile DatasetFile存储接口
type IDatasetFile interface {
	// 查询数据
	Query(ctx context.Context, params schema.DatasetFileQueryParam, opts ...schema.DatasetFileQueryOptions) (*schema.DatasetFileQueryResult, error)
	// 查询指定数据
	Get(ctx context.Context, recordID string, opts ...schema.DatasetFileQueryOptions) (*schema.DatasetFile, error)
	// 创建数据
	Create(ctx context.Context, item schema.DatasetFile) error
	// 更新数据
	Update(ctx context.Context, recordID string, item schema.DatasetFile) error
	// 删除数据
	Delete(ctx context.Context, recordID string) error
	// BatchDelete 删除数据
	BatchDelete(ctx context.Context, recordIDs []string) error
	// DeleteByDatasetId 删除数据
	DeleteByDatasetIds(ctx context.Context, datasetIds []string) error
	// 更新状态
	UpdateStatus(ctx context.Context, recordID string, status int) error
	// UpdateParseStatus 更新解析状态
	UpdateParseStatus(ctx context.Context, recordID string, status int) error
	// UpdateEnabled 更新启用状态
	UpdateEnabled(ctx context.Context, recordID string, status bool) error
}
