forked from Shared/esg
moallem all endpoints working
This commit is contained in:
@@ -1,6 +1,11 @@
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
import axios, { AxiosError } from 'axios';
|
||||
import { mergeOutboundAxiosConfig } from '../../common/helpers/http-client.helper';
|
||||
import {
|
||||
getSayahProviderError,
|
||||
SayahApiResponse,
|
||||
} from '../../common/helpers/sayah-response.helper';
|
||||
import { InquiryType } from '../../common/enums/inquiry-type.enum';
|
||||
import { ProviderName } from '../../common/enums/provider-name.enum';
|
||||
import { ProviderExecutionContext } from '../../common/interfaces/inquiry-provider.interface';
|
||||
@@ -172,16 +177,19 @@ export class ParsianProvider extends BaseProvider<LegacyInquiryPayload, LegacyIn
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await axios.get<ParsianShahkarResponse>(inquiryConfig.url, {
|
||||
params: {
|
||||
nationalCode,
|
||||
mobileNumber,
|
||||
},
|
||||
headers: {
|
||||
'X-PACKAGE-API-KEY': inquiryConfig.apiKey,
|
||||
},
|
||||
timeout: this.config.timeout,
|
||||
});
|
||||
const response = await axios.get<ParsianShahkarResponse>(
|
||||
inquiryConfig.url,
|
||||
mergeOutboundAxiosConfig({
|
||||
params: {
|
||||
nationalCode,
|
||||
mobileNumber,
|
||||
},
|
||||
headers: {
|
||||
'X-PACKAGE-API-KEY': inquiryConfig.apiKey,
|
||||
},
|
||||
timeout: this.config.timeout,
|
||||
}),
|
||||
);
|
||||
|
||||
const body = response.data;
|
||||
return {
|
||||
@@ -230,14 +238,14 @@ export class ParsianProvider extends BaseProvider<LegacyInquiryPayload, LegacyIn
|
||||
inquiryConfig.username,
|
||||
inquiryConfig.password,
|
||||
),
|
||||
{
|
||||
mergeOutboundAxiosConfig({
|
||||
headers: {
|
||||
'Content-Type': 'text/xml; charset=utf-8',
|
||||
SOAPAction: '"http://tempuri.org/ISabtInq/SubmitInqDteStsWithPstCod"',
|
||||
},
|
||||
timeout: this.config.timeout,
|
||||
responseType: 'text',
|
||||
},
|
||||
}),
|
||||
);
|
||||
|
||||
return {
|
||||
@@ -348,14 +356,14 @@ export class ParsianProvider extends BaseProvider<LegacyInquiryPayload, LegacyIn
|
||||
inquiryConfig.password,
|
||||
passwordFieldName,
|
||||
),
|
||||
{
|
||||
mergeOutboundAxiosConfig({
|
||||
headers: {
|
||||
'Content-Type': 'text/xml; charset=utf-8',
|
||||
SOAPAction: `"http://tempuri.org/ICarAllPlcysV4/${methodName}"`,
|
||||
},
|
||||
timeout: this.config.timeout,
|
||||
responseType: 'text',
|
||||
},
|
||||
}),
|
||||
);
|
||||
|
||||
return {
|
||||
@@ -396,7 +404,7 @@ export class ParsianProvider extends BaseProvider<LegacyInquiryPayload, LegacyIn
|
||||
);
|
||||
|
||||
try {
|
||||
const response = await axios.post<ParsianSayahResponse>(
|
||||
const response = await axios.post<SayahApiResponse>(
|
||||
inquiryConfig.url,
|
||||
{
|
||||
AccountOwnerType: accountOwnerType,
|
||||
@@ -404,23 +412,18 @@ export class ParsianProvider extends BaseProvider<LegacyInquiryPayload, LegacyIn
|
||||
LegalId: legalId,
|
||||
ShebaId: shebaId,
|
||||
},
|
||||
{
|
||||
mergeOutboundAxiosConfig({
|
||||
headers: {
|
||||
Authorization: `Bearer ${token}`,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
timeout: this.config.timeout,
|
||||
},
|
||||
}),
|
||||
);
|
||||
|
||||
if (
|
||||
(response.data.IsSucceed === false || response.data.isSucceed === false) &&
|
||||
this.hasErrors(response.data.Errors ?? response.data.errors)
|
||||
) {
|
||||
throw this.formatProviderError(
|
||||
this.formatErrors(response.data.Errors ?? response.data.errors),
|
||||
'SAYAH_HAS_ERROR',
|
||||
);
|
||||
const providerError = getSayahProviderError(response.data);
|
||||
if (providerError) {
|
||||
throw this.formatProviderError(providerError.message, providerError.code);
|
||||
}
|
||||
|
||||
return { raw: response.data };
|
||||
|
||||
Reference in New Issue
Block a user