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) }