package s3

import (
	"github.com/gin-gonic/gin"

	"github.com/pingcap-inc/data-ingestion-tools/internal/itcronjob/service"
	"github.com/pingcap-inc/data-ingestion-tools/internal/itcronjob/store"
	"github.com/pingcap-inc/data-ingestion-tools/pkg/util/ginres"
)

type S3Controller struct {
	srv service.Service
}

func NewS3Controller(store store.Factory) *S3Controller {
	return &S3Controller{
		srv: service.NewService(store),
	}
}

func (s *S3Controller) TransS3Bq(c *gin.Context) {
	go s.srv.S3().FetchAwsCN(c)

	ginres.WriteResponse(c, nil, "start sync s3 to bq")
}

func (s *S3Controller) Upload(c *gin.Context) {
	go s.srv.S3().Upload(c)

	ginres.WriteResponse(c, nil, "start Upload gcs to bq")
}
