Files
rag-local/kb/controller/document_controller.go
T
2026-08-10 10:55:50 +08:00

57 lines
1.5 KiB
Go

package controller
import (
"context"
"rag-local/kb/model/dto"
"rag-local/kb/service"
)
type document struct{}
var Document = &document{}
func (c *document) Upload(ctx context.Context, req *dto.UploadDocumentReq) (*dto.UploadDocumentRes, error) {
doc, err := service.DocumentService.Upload(ctx, req.DatasetId, req.File)
if err != nil {
return nil, err
}
return &dto.UploadDocumentRes{Id: doc.Id}, nil
}
func (c *document) List(ctx context.Context, req *dto.ListDocumentReq) (*dto.ListDocumentRes, error) {
list, total, err := service.DocumentService.List(ctx, req.DatasetId, req.Page, req.PageSize)
if err != nil {
return nil, err
}
return &dto.ListDocumentRes{
List: list,
Total: total,
Page: req.Page,
PageSize: req.PageSize,
}, nil
}
func (c *document) Detail(ctx context.Context, req *dto.GetDocumentDetailReq) (res *dto.GetDocumentDetailRes, err error) {
doc, err := service.DocumentService.Detail(ctx, req.Id)
if err != nil {
return nil, err
}
return &dto.GetDocumentDetailRes{Document: doc}, nil
}
func (c *document) Delete(ctx context.Context, req *dto.DeleteDocumentReq) (*dto.DeleteDocumentRes, error) {
if err := service.DocumentService.Delete(ctx, req.Id); err != nil {
return nil, err
}
return &dto.DeleteDocumentRes{}, nil
}
func (c *document) Reembed(ctx context.Context, req *dto.ReembedDocumentReq) (*dto.ReembedDocumentRes, error) {
n, err := service.DocumentService.Reembed(ctx, req.Id)
if err != nil {
return nil, err
}
return &dto.ReembedDocumentRes{Count: n}, nil
}