refactor: ♻️ normalize taxjar errors
This commit is contained in:
parent
20e8ed4086
commit
f9cee07aa7
3 changed files with 26 additions and 2 deletions
|
@ -8,6 +8,7 @@ import { TaxJarConfig } from "../taxjar-connection-schema";
|
||||||
import { TaxJarCalculateTaxesPayloadService } from "./taxjar-calculate-taxes-payload-service";
|
import { TaxJarCalculateTaxesPayloadService } from "./taxjar-calculate-taxes-payload-service";
|
||||||
import { TaxJarCalculateTaxesResponseTransformer } from "./taxjar-calculate-taxes-response-transformer";
|
import { TaxJarCalculateTaxesResponseTransformer } from "./taxjar-calculate-taxes-response-transformer";
|
||||||
import { ClientLogger } from "../../logs/client-logger";
|
import { ClientLogger } from "../../logs/client-logger";
|
||||||
|
import { TaxJarErrorNormalizer } from "../taxjar-error-normalizer";
|
||||||
|
|
||||||
export type TaxJarCalculateTaxesPayload = {
|
export type TaxJarCalculateTaxesPayload = {
|
||||||
taxBase: TaxBaseFragment;
|
taxBase: TaxBaseFragment;
|
||||||
|
@ -70,6 +71,8 @@ export class TaxJarCalculateTaxesAdapter
|
||||||
|
|
||||||
return transformedResponse;
|
return transformedResponse;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
const errorNormalizer = new TaxJarErrorNormalizer();
|
||||||
|
|
||||||
this.clientLogger.push({
|
this.clientLogger.push({
|
||||||
event: "[CalculateTaxes] fetchTaxForOrder",
|
event: "[CalculateTaxes] fetchTaxForOrder",
|
||||||
status: "error",
|
status: "error",
|
||||||
|
@ -78,7 +81,8 @@ export class TaxJarCalculateTaxesAdapter
|
||||||
output: error,
|
output: error,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
throw error;
|
|
||||||
|
throw errorNormalizer.normalize(error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ import { TaxJarConfig } from "../taxjar-connection-schema";
|
||||||
import { TaxJarOrderConfirmedPayloadService } from "./taxjar-order-confirmed-payload.service";
|
import { TaxJarOrderConfirmedPayloadService } from "./taxjar-order-confirmed-payload.service";
|
||||||
import { TaxJarOrderConfirmedResponseTransformer } from "./taxjar-order-confirmed-response-transformer";
|
import { TaxJarOrderConfirmedResponseTransformer } from "./taxjar-order-confirmed-response-transformer";
|
||||||
import { ClientLogger } from "../../logs/client-logger";
|
import { ClientLogger } from "../../logs/client-logger";
|
||||||
|
import { TaxJarErrorNormalizer } from "../taxjar-error-normalizer";
|
||||||
|
|
||||||
export type TaxJarOrderConfirmedPayload = {
|
export type TaxJarOrderConfirmedPayload = {
|
||||||
order: OrderConfirmedSubscriptionFragment;
|
order: OrderConfirmedSubscriptionFragment;
|
||||||
|
@ -67,6 +68,8 @@ export class TaxJarOrderConfirmedAdapter
|
||||||
|
|
||||||
return transformedResponse;
|
return transformedResponse;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
const errorNormalizer = new TaxJarErrorNormalizer();
|
||||||
|
|
||||||
this.clientLogger.push({
|
this.clientLogger.push({
|
||||||
event: "[OrderConfirmed] createOrder",
|
event: "[OrderConfirmed] createOrder",
|
||||||
status: "error",
|
status: "error",
|
||||||
|
@ -75,7 +78,7 @@ export class TaxJarOrderConfirmedAdapter
|
||||||
output: error,
|
output: error,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
throw error;
|
throw errorNormalizer.normalize(error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
17
apps/taxes/src/modules/taxjar/taxjar-error-normalizer.ts
Normal file
17
apps/taxes/src/modules/taxjar/taxjar-error-normalizer.ts
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
import { TaxjarError } from "taxjar/dist/util/types";
|
||||||
|
import { createLogger } from "../../lib/logger";
|
||||||
|
import { TaxExternalError, TaxUnexpectedError } from "../taxes/tax-error";
|
||||||
|
|
||||||
|
export class TaxJarErrorNormalizer {
|
||||||
|
private logger = createLogger({ name: "TaxJarErrorNormalizer" });
|
||||||
|
|
||||||
|
normalize(error: unknown) {
|
||||||
|
if (error instanceof TaxjarError) {
|
||||||
|
this.logger.debug(error.stack, "TaxjarError occurred");
|
||||||
|
|
||||||
|
return new TaxExternalError(error.message);
|
||||||
|
}
|
||||||
|
|
||||||
|
return TaxUnexpectedError.normalize(error);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue