package s3storage

import (
	"bytes"
	"context"
	"io"

	awsconfig "github.com/aws/aws-sdk-go-v2/config"
)

type Client interface {
	Get(ctx context.Context, bucketName string, objectName string) (*io.ReadCloser, error)
	Put(ctx context.Context, bucketName string, objectName string, reader *bytes.Reader) error
}

func PrepareS3Client(ctx context.Context, vendor string, region string, project string) Client {
	var cli Client
	cfg, err := awsconfig.LoadDefaultConfig(ctx)
	if err != nil {
		panic(err)
	}
	cfg.Region = region
	cli = NewS3(cfg)
	return cli
}
