fix: Update stripe options input (#7919)

This commit is contained in:
Stevche Radevski
2024-07-03 12:51:38 +02:00
committed by GitHub
parent da645e4073
commit 19d7d01805
6 changed files with 53 additions and 49 deletions
+3 -7
View File
@@ -2,14 +2,10 @@ import { ModuleExports } from "@medusajs/types"
import { PaymentModuleService } from "@services"
import loadProviders from "./loaders/providers"
import loadDefaults from "./loaders/defaults"
const service = PaymentModuleService
const loaders = [loadProviders, loadDefaults] as any
export const moduleDefinition: ModuleExports = {
service,
loaders,
const moduleDefinition: ModuleExports = {
service: PaymentModuleService,
loaders: [loadProviders],
}
export default moduleDefinition
@@ -1,26 +0,0 @@
import { CreatePaymentProviderDTO, LoaderOptions } from "@medusajs/types"
import { PaymentProviderService } from "@services"
export default async ({ container }: LoaderOptions): Promise<void> => {
const providersToLoad = container.resolve<string[]>("payment_providers")
const paymentProviderService = container.resolve<PaymentProviderService>(
"paymentProviderService"
)
const providers = await paymentProviderService.list({
id: providersToLoad,
})
const loadedProvidersMap = new Map(providers.map((p) => [p.id, p]))
const providersToCreate: CreatePaymentProviderDTO[] = []
for (const id of providersToLoad) {
if (loadedProvidersMap.has(id)) {
continue
}
providersToCreate.push({ id })
}
await paymentProviderService.create(providersToCreate)
}
@@ -1,2 +1 @@
export * from "./providers"
export * from "./defaults"
@@ -1,8 +1,14 @@
import { moduleProviderLoader } from "@medusajs/modules-sdk"
import { LoaderOptions, ModuleProvider, ModulesSdkTypes } from "@medusajs/types"
import {
CreatePaymentProviderDTO,
LoaderOptions,
ModuleProvider,
ModulesSdkTypes,
} from "@medusajs/types"
import { Lifetime, asFunction, asValue } from "awilix"
import * as providers from "../providers"
import { PaymentProviderService } from "@services"
const registrationFn = async (klass, container, pluginOptions) => {
Object.entries(pluginOptions.config || []).map(([name, config]) => {
@@ -37,4 +43,32 @@ export default async ({
providers: options?.providers || [],
registerServiceFn: registrationFn,
})
await registerProvidersInDb({ container })
}
const registerProvidersInDb = async ({
container,
}: LoaderOptions): Promise<void> => {
const providersToLoad = container.resolve<string[]>("payment_providers")
const paymentProviderService = container.resolve<PaymentProviderService>(
"paymentProviderService"
)
const providers = await paymentProviderService.list({
id: providersToLoad,
})
const loadedProvidersMap = new Map(providers.map((p) => [p.id, p]))
const providersToCreate: CreatePaymentProviderDTO[] = []
for (const id of providersToLoad) {
if (loadedProvidersMap.has(id)) {
continue
}
providersToCreate.push({ id })
}
await paymentProviderService.create(providersToCreate)
}