Files
KArtSell.Aegis/docs/Design/kbx-foundation-v36/backend/Shared/Integrations/KbxIntegrationProblemFactory.cs
T

21 lines
894 B
C#

using Shared.Problems;
namespace Kbx.Shared.Integrations;
public static class KbxIntegrationProblemFactory
{
public static KbxIntegrationProblem ToProblem(KbxIntegrationAttemptResult result) => result.FailureKind switch
{
KbxIntegrationFailureKind.Transient => KbxIntegrationProblem.Create(
result.Code ?? "INTEGRATION_DELAYED",
"외부 연계가 지연되고 있습니다.",
retryable: true,
detail: "시스템이 자동 재처리합니다. 동일 업무를 다시 실행하지 마세요."),
_ => KbxIntegrationProblem.Create(
result.Code ?? "INTEGRATION_FAILED",
"외부 연계를 완료하지 못했습니다.",
retryable: false,
detail: "업무 데이터는 유지됩니다. 확인 필요 항목에서 원인과 재처리 가능 여부를 확인하세요."),
};
}