package ipanonymization

import (
	"go.uber.org/zap"

	"codeberg.org/mapleopentech/monorepo/cloud/maplefile-backend/config"
	uc_collection "codeberg.org/mapleopentech/monorepo/cloud/maplefile-backend/internal/usecase/collection"
	uc_filemetadata "codeberg.org/mapleopentech/monorepo/cloud/maplefile-backend/internal/usecase/filemetadata"
	uc_user "codeberg.org/mapleopentech/monorepo/cloud/maplefile-backend/internal/usecase/user"
)

// Wire providers for IP anonymization services

func ProvideAnonymizeOldIPsService(
	cfg *config.Config,
	logger *zap.Logger,
	userAnonymizeUseCase uc_user.AnonymizeOldIPsUseCase,
	collectionAnonymizeUseCase uc_collection.AnonymizeOldIPsUseCase,
	fileMetadataAnonymizeUseCase uc_filemetadata.AnonymizeOldIPsUseCase,
) AnonymizeOldIPsService {
	return NewAnonymizeOldIPsService(cfg, logger, userAnonymizeUseCase, collectionAnonymizeUseCase, fileMetadataAnonymizeUseCase)
}
