package com.airlock.iam.common.infrastructure.exception;

import com.airlock.iam.base.api.infrastructure.uri.ExternalUriInfo;
import com.airlock.iam.common.api.domain.model.persistency.exception.PersisterException;
import com.airlock.iam.elog.api.ELogger;
import com.airlock.iam.elog.api.ELoggerFactory;
import jakarta.inject.Inject;
import jakarta.inject.Provider;
import jakarta.ws.rs.core.Response.Status;

@jakarta.ws.rs.ext.Provider
public class PersisterExceptionMapper extends BaseExceptionMapper<PersisterException> {
   protected static final ELogger LOG = ELoggerFactory.getLogger(GenericExceptionMapper.class);

   @Inject
   public PersisterExceptionMapper(Provider<ExternalUriInfo> uriInfo) {
      super(Status.INTERNAL_SERVER_ERROR, uriInfo);
   }

   protected boolean shouldLogStacktraceAsError(PersisterException exception) {
      return true;
   }
}
