package mediaStorage import ( "github.com/minio/minio-go/v7" "github.com/minio/minio-go/v7/pkg/credentials" log "github.com/sirupsen/logrus" ) type Handler struct { *Service } type Deps struct { Endpoint string User string Password string Secure string } func NewHandler(deps Deps) *Handler { secureMode := false if deps.Secure == "true" { secureMode = true } minioClient, err := minio.New(deps.Endpoint, &minio.Options{ Creds: credentials.NewStaticV4(deps.User, deps.Password, ""), Secure: secureMode, }) if err != nil { log.WithError(err).Fatal("Media storage | Failed to create minio client") } log.WithFields(log.Fields{ "endpoint": deps.Endpoint, "secure": secureMode, }).Debug("Media storage | Created minio client") return &Handler{ newService(minioClient, deps.Endpoint, secureMode), } }