package biz import ( "context" "github.com/go-kratos/kratos/v2/log" ) // BucketUsecase wraps FileRepo bucket operations. type BucketUsecase struct { repo FileRepo log *log.Helper } // NewBucketUsecase creates a new BucketUsecase. func NewBucketUsecase(repo FileRepo, logger log.Logger) *BucketUsecase { return &BucketUsecase{ repo: repo, log: log.NewHelper(logger), } } // ListBuckets returns all bucket names. func (uc *BucketUsecase) ListBuckets(ctx context.Context) ([]string, error) { return uc.repo.ListBuckets(ctx) } // CreateBucket creates a new S3 bucket. func (uc *BucketUsecase) CreateBucket(ctx context.Context, name string) error { return uc.repo.CreateBucket(ctx, name) } // DeleteBucket deletes an S3 bucket. func (uc *BucketUsecase) DeleteBucket(ctx context.Context, name string) error { return uc.repo.DeleteBucket(ctx, name) }