// codeberg.org/mapleopentech/monorepo/cloud/maplefile-backend/internal/interface/http/blockedemail/provider.go
package blockedemail

import (
	"go.uber.org/zap"

	"codeberg.org/mapleopentech/monorepo/cloud/maplefile-backend/config"
	"codeberg.org/mapleopentech/monorepo/cloud/maplefile-backend/internal/interface/http/middleware"
	svc_blockedemail "codeberg.org/mapleopentech/monorepo/cloud/maplefile-backend/internal/service/blockedemail"
)

func ProvideCreateBlockedEmailHTTPHandler(
	cfg *config.Configuration,
	logger *zap.Logger,
	service svc_blockedemail.CreateBlockedEmailService,
	middleware middleware.Middleware,
) *CreateBlockedEmailHTTPHandler {
	return NewCreateBlockedEmailHTTPHandler(cfg, logger, service, middleware)
}

func ProvideListBlockedEmailsHTTPHandler(
	cfg *config.Configuration,
	logger *zap.Logger,
	service svc_blockedemail.ListBlockedEmailsService,
	middleware middleware.Middleware,
) *ListBlockedEmailsHTTPHandler {
	return NewListBlockedEmailsHTTPHandler(cfg, logger, service, middleware)
}

func ProvideDeleteBlockedEmailHTTPHandler(
	cfg *config.Configuration,
	logger *zap.Logger,
	service svc_blockedemail.DeleteBlockedEmailService,
	middleware middleware.Middleware,
) *DeleteBlockedEmailHTTPHandler {
	return NewDeleteBlockedEmailHTTPHandler(cfg, logger, service, middleware)
}
