package bll

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

// IChatAssistant ChatAssistant业务逻辑接口
type IChatAssistant interface {
	// 查询数据
	Query(ctx context.Context, params schema.ChatAssistantQueryParam, opts ...schema.ChatAssistantQueryOptions) (*schema.ChatAssistantQueryResult, error)
	// 查询指定数据
	Get(ctx context.Context, recordID string, opts ...schema.ChatAssistantQueryOptions) (*schema.ChatAssistant, error)
	// 创建数据
	Create(ctx context.Context, item schema.ChatAssistant) (*schema.ChatAssistant, error)
	// 更新数据
	Update(ctx context.Context, recordID string, item schema.ChatAssistant) error
	// 删除数据
	Delete(ctx context.Context, recordID string) error
	// 更新状态
	UpdateStatus(ctx context.Context, recordID string, status int) error
	// CheckPermissionSync 检查当前用户的知识库权限与已创建的对话助手绑定的知识库是否一致
	CheckPermissionSync(ctx context.Context) (*schema.AssistantPermissionStatus, error)
	// SyncPermission 按当前用户的知识库权限重建/创建 h5 对话助手、会话与欢迎消息
	SyncPermission(ctx context.Context) (*schema.ChatAssistant, error)
}
