package impl

import (
	"context"

	"github.com/tidbcloud/dataflow-service/app/models/domain"
	"github.com/tidbcloud/dataflow-service/app/repo"
	"github.com/tidbcloud/pkgv2/bizerr"
)

type baseBucketModel struct {
	bucketRepo repo.BucketRepo
}

func (b *baseBucketModel) GetBucket(
	ctx context.Context,
	req *domain.GetBucketReq,
) (*domain.GetBucketResp, bizerr.BizError) {
	bucket, err := b.bucketRepo.Load(ctx, req.BucketID)
	if err != nil {
		return nil, bizerr.WrapError(err, "load bucket")
	}
	return &domain.GetBucketResp{
		Bucket: bucket,
	}, nil
}
