26 lines
649 B
Go
26 lines
649 B
Go
package handlers
|
|
|
|
import (
|
|
"context"
|
|
"file-system/internal/domain/repository"
|
|
)
|
|
|
|
type UploadFileHandler struct {
|
|
Repo repository.FileRepository
|
|
}
|
|
|
|
func NewUploadFileHandler(repo repository.FileRepository) *UploadFileHandler {
|
|
return &UploadFileHandler{Repo: repo}
|
|
}
|
|
|
|
func (h *UploadFileHandler) Handle(ctx context.Context, cmd UploadFileCommand) (string, error) {
|
|
// 业务逻辑:上传文件
|
|
// 调用 Repository
|
|
err := h.Repo.UploadFile(ctx, cmd.BucketName, cmd.FileName, cmd.Data)
|
|
if err != nil {
|
|
// 简单的错误处理,实际可能需要包装为 BusinessException
|
|
return "", err
|
|
}
|
|
return "File uploaded successfully", nil
|
|
}
|