feat: Region PaymentProvider link (#6577)

**What**

- Introduce link between Region and PaymentProvider
- Introduce API endpoint `GET /store/regions/:id/payment-providers` for retrieving providers by region
- Add tests for both
This commit is contained in:
Oli Juhl
2024-03-05 09:40:25 +00:00
committed by GitHub
parent 82db53c99e
commit 7d69e6068e
14 changed files with 371 additions and 43 deletions
+13
View File
@@ -434,3 +434,16 @@ export interface PaymentProviderDTO {
*/
is_enabled: string
}
export interface FilterablePaymentProviderProps
extends BaseFilterable<PaymentProviderDTO> {
/**
* The IDs to filter the payment collection by.
*/
id?: string | string[]
/**
* Filter by enabled status
*/
is_enabled?: boolean
}
+12 -12
View File
@@ -4,9 +4,11 @@ import { Context } from "../shared-context"
import {
FilterablePaymentCollectionProps,
FilterablePaymentProps,
FilterablePaymentProviderProps,
FilterablePaymentSessionProps,
PaymentCollectionDTO,
PaymentDTO,
PaymentProviderDTO,
PaymentSessionDTO,
} from "./common"
import {
@@ -311,6 +313,12 @@ export interface IPaymentModuleService extends IModuleService {
sharedContext?: Context
): Promise<PaymentDTO>
listPaymentSessions(
filters?: FilterablePaymentSessionProps,
config?: FindConfig<PaymentSessionDTO>,
sharedContext?: Context
): Promise<PaymentSessionDTO[]>
/* ********** PAYMENT ********** */
/**
@@ -388,19 +396,11 @@ export interface IPaymentModuleService extends IModuleService {
*/
cancelPayment(paymentId: string, sharedContext?: Context): Promise<PaymentDTO>
listPaymentSessions(
filters?: FilterablePaymentSessionProps,
config?: FindConfig<PaymentSessionDTO>,
listPaymentProviders(
filters?: FilterablePaymentProviderProps,
config?: FindConfig<PaymentProviderDTO>,
sharedContext?: Context
): Promise<PaymentSessionDTO[]>
/**
* This method creates providers on load.
*
* @example
* {example-code}
*/
createProvidersOnLoad(): Promise<void>
): Promise<PaymentProviderDTO[]>
/* ********** HOOKS ********** */