package com.airlock.iam.authentication.infrastructure.mapper;

import com.airlock.iam.authentication.domain.model.secretquestions.SecretQuestionProvision;
import com.airlock.iam.authentication.domain.model.secretquestions.SecretQuestionsProvision;
import com.airlock.iam.authentication.infrastructure.transfer.request.SecretQuestionsProvisionRequest;
import java.util.stream.Collectors;
import ma.glasnost.orika.CustomConverter;
import ma.glasnost.orika.MappingContext;
import ma.glasnost.orika.metadata.Type;

public final class SecretQuestionsProvisionConverter extends CustomConverter<SecretQuestionsProvisionRequest, SecretQuestionsProvision> {
   public SecretQuestionsProvision convert(
      SecretQuestionsProvisionRequest source, Type<? extends SecretQuestionsProvision> destinationType, MappingContext mappingContext
   ) {
      return new SecretQuestionsProvision(
         source.getAnswers().entrySet().stream().map(entry -> new SecretQuestionProvision(entry.getKey(), entry.getValue())).collect(Collectors.toList())
      );
   }
}
