chore(): Update module provider retrieval error message and type (#10138)
Partially RESOLVES FRMW-2802 **What** Improve error message and change the error type when retrieving a provider from a local container fail
This commit is contained in:
@@ -13,6 +13,7 @@ import {
|
||||
FindConfig,
|
||||
InternalModuleDeclaration,
|
||||
IPaymentModuleService,
|
||||
Logger,
|
||||
ModuleJoinerConfig,
|
||||
ModulesSdkTypes,
|
||||
PaymentCollectionDTO,
|
||||
@@ -54,6 +55,7 @@ import { joinerConfig } from "../joiner-config"
|
||||
import PaymentProviderService from "./payment-provider"
|
||||
|
||||
type InjectedDependencies = {
|
||||
logger?: Logger
|
||||
baseRepository: DAL.RepositoryService
|
||||
paymentService: ModulesSdkTypes.IMedusaInternalService<any>
|
||||
captureService: ModulesSdkTypes.IMedusaInternalService<any>
|
||||
|
||||
@@ -3,6 +3,7 @@ import {
|
||||
CreatePaymentProviderSession,
|
||||
DAL,
|
||||
IPaymentProvider,
|
||||
Logger,
|
||||
PaymentProviderAuthorizeResponse,
|
||||
PaymentProviderDataInput,
|
||||
PaymentProviderError,
|
||||
@@ -21,6 +22,7 @@ import { PaymentProvider } from "@models"
|
||||
import { EOL } from "os"
|
||||
|
||||
type InjectedDependencies = {
|
||||
logger?: Logger
|
||||
paymentProviderRepository: DAL.RepositoryService
|
||||
[key: `pp_${string}`]: IPaymentProvider
|
||||
}
|
||||
@@ -28,14 +30,25 @@ type InjectedDependencies = {
|
||||
export default class PaymentProviderService extends ModulesSdkUtils.MedusaInternalService<InjectedDependencies>(
|
||||
PaymentProvider
|
||||
) {
|
||||
#logger: Logger
|
||||
|
||||
constructor(container: InjectedDependencies) {
|
||||
super(container)
|
||||
this.#logger = container["logger"]
|
||||
? container.logger
|
||||
: (console as unknown as Logger)
|
||||
}
|
||||
|
||||
retrieveProvider(providerId: string): IPaymentProvider {
|
||||
try {
|
||||
return this.__container__[providerId] as IPaymentProvider
|
||||
} catch (e) {
|
||||
throw new MedusaError(
|
||||
MedusaError.Types.NOT_FOUND,
|
||||
`Could not find a payment provider with id: ${providerId}`
|
||||
)
|
||||
const errMessage = `
|
||||
Unable to retrieve the payment provider with id: ${providerId}
|
||||
Please make sure that the provider is registered in the container and it is configured correctly in your project configuration file.
|
||||
`
|
||||
this.#logger.error(errMessage)
|
||||
throw new Error(errMessage)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user