file_system/internal/api/handlers/bucket_handlers.go
2025-12-18 09:34:49 +08:00

35 lines
839 B
Go

package handlers
import (
"context"
"file-system/internal/domain/repository"
)
type CreateBucketHandler struct {
Repo repository.FileRepository
}
func NewCreateBucketHandler(repo repository.FileRepository) *CreateBucketHandler {
return &CreateBucketHandler{Repo: repo}
}
func (h *CreateBucketHandler) Handle(ctx context.Context, cmd CreateBucketCommand) (string, error) {
err := h.Repo.CreateBucket(ctx, cmd.BucketName)
if err != nil {
return "", err
}
return "Bucket created successfully", nil
}
type ListBucketsHandler struct {
Repo repository.FileRepository
}
func NewListBucketsHandler(repo repository.FileRepository) *ListBucketsHandler {
return &ListBucketsHandler{Repo: repo}
}
func (h *ListBucketsHandler) Handle(ctx context.Context, query ListBucketsQuery) ([]string, error) {
return h.Repo.ListBuckets(ctx)
}