Skip to content

Commit bed5e20

Browse files
committed
misc(wallet): allow to set priority in form
1 parent 0e9ec4b commit bed5e20

File tree

4 files changed

+37
-8
lines changed

4 files changed

+37
-8
lines changed

src/generated/graphql.tsx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10782,7 +10782,7 @@ export type DeleteTaxMutationVariables = Exact<{
1078210782

1078310783
export type DeleteTaxMutation = { __typename?: 'Mutation', destroyTax?: { __typename?: 'DestroyTaxPayload', id?: string | null } | null };
1078410784

10785-
export type CustomerWalletFragment = { __typename?: 'Wallet', id: string, expirationAt?: any | null, name?: string | null, rateAmount: number, invoiceRequiresSuccessfulPayment: boolean, balanceCents: any, consumedAmountCents: any, consumedCredits: number, createdAt: any, creditsBalance: number, currency: CurrencyEnum, lastBalanceSyncAt?: any | null, lastConsumedCreditAt?: any | null, lastOngoingBalanceSyncAt?: any | null, status: WalletStatusEnum, terminatedAt?: any | null, ongoingBalanceCents: any, creditsOngoingBalance: number, priority: number, ongoingUsageBalanceCents: any, creditsOngoingUsageBalance: number, appliesTo?: { __typename?: 'WalletAppliesTo', feeTypes?: Array<FeeTypesEnum> | null, billableMetrics?: Array<{ __typename?: 'BillableMetric', id: string, name: string, code: string }> | null } | null, recurringTransactionRules?: Array<{ __typename?: 'RecurringTransactionRule', lagoId: string, method: RecurringTransactionMethodEnum, trigger: RecurringTransactionTriggerEnum, interval?: RecurringTransactionIntervalEnum | null, targetOngoingBalance?: string | null, paidCredits: string, grantedCredits: string, thresholdCredits?: string | null, startedAt?: any | null, invoiceRequiresSuccessfulPayment: boolean, expirationAt?: any | null, transactionMetadata?: Array<{ __typename?: 'TransactionMetadata', key: string, value: string }> | null }> | null };
10785+
export type CustomerWalletFragment = { __typename?: 'Wallet', id: string, expirationAt?: any | null, name?: string | null, rateAmount: number, priority: number, invoiceRequiresSuccessfulPayment: boolean, balanceCents: any, consumedAmountCents: any, consumedCredits: number, createdAt: any, creditsBalance: number, currency: CurrencyEnum, lastBalanceSyncAt?: any | null, lastConsumedCreditAt?: any | null, lastOngoingBalanceSyncAt?: any | null, status: WalletStatusEnum, terminatedAt?: any | null, ongoingBalanceCents: any, creditsOngoingBalance: number, ongoingUsageBalanceCents: any, creditsOngoingUsageBalance: number, appliesTo?: { __typename?: 'WalletAppliesTo', feeTypes?: Array<FeeTypesEnum> | null, billableMetrics?: Array<{ __typename?: 'BillableMetric', id: string, name: string, code: string }> | null } | null, recurringTransactionRules?: Array<{ __typename?: 'RecurringTransactionRule', lagoId: string, method: RecurringTransactionMethodEnum, trigger: RecurringTransactionTriggerEnum, interval?: RecurringTransactionIntervalEnum | null, targetOngoingBalance?: string | null, paidCredits: string, grantedCredits: string, thresholdCredits?: string | null, startedAt?: any | null, invoiceRequiresSuccessfulPayment: boolean, expirationAt?: any | null, transactionMetadata?: Array<{ __typename?: 'TransactionMetadata', key: string, value: string }> | null }> | null };
1078610786

1078710787
export type GetCustomerWalletListQueryVariables = Exact<{
1078810788
customerId: Scalars['ID']['input'];
@@ -10791,7 +10791,7 @@ export type GetCustomerWalletListQueryVariables = Exact<{
1079110791
}>;
1079210792

1079310793

10794-
export type GetCustomerWalletListQuery = { __typename?: 'Query', wallets: { __typename?: 'WalletCollection', metadata: { __typename?: 'CollectionMetadata', currentPage: number, totalPages: number }, collection: Array<{ __typename?: 'Wallet', id: string, expirationAt?: any | null, name?: string | null, rateAmount: number, invoiceRequiresSuccessfulPayment: boolean, balanceCents: any, consumedAmountCents: any, consumedCredits: number, createdAt: any, creditsBalance: number, currency: CurrencyEnum, lastBalanceSyncAt?: any | null, lastConsumedCreditAt?: any | null, lastOngoingBalanceSyncAt?: any | null, status: WalletStatusEnum, terminatedAt?: any | null, ongoingBalanceCents: any, creditsOngoingBalance: number, priority: number, ongoingUsageBalanceCents: any, creditsOngoingUsageBalance: number, appliesTo?: { __typename?: 'WalletAppliesTo', feeTypes?: Array<FeeTypesEnum> | null, billableMetrics?: Array<{ __typename?: 'BillableMetric', id: string, name: string, code: string }> | null } | null, recurringTransactionRules?: Array<{ __typename?: 'RecurringTransactionRule', lagoId: string, method: RecurringTransactionMethodEnum, trigger: RecurringTransactionTriggerEnum, interval?: RecurringTransactionIntervalEnum | null, targetOngoingBalance?: string | null, paidCredits: string, grantedCredits: string, thresholdCredits?: string | null, startedAt?: any | null, invoiceRequiresSuccessfulPayment: boolean, expirationAt?: any | null, transactionMetadata?: Array<{ __typename?: 'TransactionMetadata', key: string, value: string }> | null }> | null }> } };
10794+
export type GetCustomerWalletListQuery = { __typename?: 'Query', wallets: { __typename?: 'WalletCollection', metadata: { __typename?: 'CollectionMetadata', currentPage: number, totalPages: number }, collection: Array<{ __typename?: 'Wallet', id: string, expirationAt?: any | null, name?: string | null, rateAmount: number, priority: number, invoiceRequiresSuccessfulPayment: boolean, balanceCents: any, consumedAmountCents: any, consumedCredits: number, createdAt: any, creditsBalance: number, currency: CurrencyEnum, lastBalanceSyncAt?: any | null, lastConsumedCreditAt?: any | null, lastOngoingBalanceSyncAt?: any | null, status: WalletStatusEnum, terminatedAt?: any | null, ongoingBalanceCents: any, creditsOngoingBalance: number, ongoingUsageBalanceCents: any, creditsOngoingUsageBalance: number, appliesTo?: { __typename?: 'WalletAppliesTo', feeTypes?: Array<FeeTypesEnum> | null, billableMetrics?: Array<{ __typename?: 'BillableMetric', id: string, name: string, code: string }> | null } | null, recurringTransactionRules?: Array<{ __typename?: 'RecurringTransactionRule', lagoId: string, method: RecurringTransactionMethodEnum, trigger: RecurringTransactionTriggerEnum, interval?: RecurringTransactionIntervalEnum | null, targetOngoingBalance?: string | null, paidCredits: string, grantedCredits: string, thresholdCredits?: string | null, startedAt?: any | null, invoiceRequiresSuccessfulPayment: boolean, expirationAt?: any | null, transactionMetadata?: Array<{ __typename?: 'TransactionMetadata', key: string, value: string }> | null }> | null }> } };
1079510795

1079610796
export type TerminateCustomerWalletMutationVariables = Exact<{
1079710797
input: TerminateCustomerWalletInput;
@@ -12325,7 +12325,7 @@ export type GetXeroIntegrationsListQueryVariables = Exact<{
1232512325

1232612326
export type GetXeroIntegrationsListQuery = { __typename?: 'Query', integrations?: { __typename?: 'IntegrationCollection', collection: Array<{ __typename?: 'AnrokIntegration' } | { __typename?: 'AvalaraIntegration' } | { __typename?: 'HubspotIntegration' } | { __typename?: 'NetsuiteIntegration' } | { __typename?: 'OktaIntegration' } | { __typename?: 'SalesforceIntegration' } | { __typename?: 'XeroIntegration', id: string, name: string, code: string, connectionId: string, hasMappingsConfigured?: boolean | null, syncCreditNotes?: boolean | null, syncInvoices?: boolean | null, syncPayments?: boolean | null }> } | null };
1232712327

12328-
export type WalletForUpdateFragment = { __typename?: 'Wallet', id: string, expirationAt?: any | null, name?: string | null, rateAmount: number, invoiceRequiresSuccessfulPayment: boolean, appliesTo?: { __typename?: 'WalletAppliesTo', feeTypes?: Array<FeeTypesEnum> | null, billableMetrics?: Array<{ __typename?: 'BillableMetric', id: string, name: string, code: string }> | null } | null, recurringTransactionRules?: Array<{ __typename?: 'RecurringTransactionRule', lagoId: string, method: RecurringTransactionMethodEnum, trigger: RecurringTransactionTriggerEnum, interval?: RecurringTransactionIntervalEnum | null, targetOngoingBalance?: string | null, paidCredits: string, grantedCredits: string, thresholdCredits?: string | null, startedAt?: any | null, invoiceRequiresSuccessfulPayment: boolean, expirationAt?: any | null, transactionMetadata?: Array<{ __typename?: 'TransactionMetadata', key: string, value: string }> | null }> | null };
12328+
export type WalletForUpdateFragment = { __typename?: 'Wallet', id: string, expirationAt?: any | null, name?: string | null, rateAmount: number, priority: number, invoiceRequiresSuccessfulPayment: boolean, appliesTo?: { __typename?: 'WalletAppliesTo', feeTypes?: Array<FeeTypesEnum> | null, billableMetrics?: Array<{ __typename?: 'BillableMetric', id: string, name: string, code: string }> | null } | null, recurringTransactionRules?: Array<{ __typename?: 'RecurringTransactionRule', lagoId: string, method: RecurringTransactionMethodEnum, trigger: RecurringTransactionTriggerEnum, interval?: RecurringTransactionIntervalEnum | null, targetOngoingBalance?: string | null, paidCredits: string, grantedCredits: string, thresholdCredits?: string | null, startedAt?: any | null, invoiceRequiresSuccessfulPayment: boolean, expirationAt?: any | null, transactionMetadata?: Array<{ __typename?: 'TransactionMetadata', key: string, value: string }> | null }> | null };
1232912329

1233012330
export type GetCustomerInfosForWalletFormQueryVariables = Exact<{
1233112331
id: Scalars['ID']['input'];
@@ -12339,7 +12339,7 @@ export type GetWalletInfosForWalletFormQueryVariables = Exact<{
1233912339
}>;
1234012340

1234112341

12342-
export type GetWalletInfosForWalletFormQuery = { __typename?: 'Query', wallet?: { __typename?: 'Wallet', id: string, expirationAt?: any | null, name?: string | null, rateAmount: number, invoiceRequiresSuccessfulPayment: boolean, appliesTo?: { __typename?: 'WalletAppliesTo', feeTypes?: Array<FeeTypesEnum> | null, billableMetrics?: Array<{ __typename?: 'BillableMetric', id: string, name: string, code: string }> | null } | null, recurringTransactionRules?: Array<{ __typename?: 'RecurringTransactionRule', lagoId: string, method: RecurringTransactionMethodEnum, trigger: RecurringTransactionTriggerEnum, interval?: RecurringTransactionIntervalEnum | null, targetOngoingBalance?: string | null, paidCredits: string, grantedCredits: string, thresholdCredits?: string | null, startedAt?: any | null, invoiceRequiresSuccessfulPayment: boolean, expirationAt?: any | null, transactionMetadata?: Array<{ __typename?: 'TransactionMetadata', key: string, value: string }> | null }> | null } | null };
12342+
export type GetWalletInfosForWalletFormQuery = { __typename?: 'Query', wallet?: { __typename?: 'Wallet', id: string, expirationAt?: any | null, name?: string | null, rateAmount: number, priority: number, invoiceRequiresSuccessfulPayment: boolean, appliesTo?: { __typename?: 'WalletAppliesTo', feeTypes?: Array<FeeTypesEnum> | null, billableMetrics?: Array<{ __typename?: 'BillableMetric', id: string, name: string, code: string }> | null } | null, recurringTransactionRules?: Array<{ __typename?: 'RecurringTransactionRule', lagoId: string, method: RecurringTransactionMethodEnum, trigger: RecurringTransactionTriggerEnum, interval?: RecurringTransactionIntervalEnum | null, targetOngoingBalance?: string | null, paidCredits: string, grantedCredits: string, thresholdCredits?: string | null, startedAt?: any | null, invoiceRequiresSuccessfulPayment: boolean, expirationAt?: any | null, transactionMetadata?: Array<{ __typename?: 'TransactionMetadata', key: string, value: string }> | null }> | null } | null };
1234312343

1234412344
export type CreateCustomerWalletMutationVariables = Exact<{
1234512345
input: CreateCustomerWalletInput;
@@ -12353,7 +12353,7 @@ export type UpdateCustomerWalletMutationVariables = Exact<{
1235312353
}>;
1235412354

1235512355

12356-
export type UpdateCustomerWalletMutation = { __typename?: 'Mutation', updateCustomerWallet?: { __typename?: 'Wallet', id: string, expirationAt?: any | null, name?: string | null, rateAmount: number, invoiceRequiresSuccessfulPayment: boolean, appliesTo?: { __typename?: 'WalletAppliesTo', feeTypes?: Array<FeeTypesEnum> | null, billableMetrics?: Array<{ __typename?: 'BillableMetric', id: string, name: string, code: string }> | null } | null, recurringTransactionRules?: Array<{ __typename?: 'RecurringTransactionRule', lagoId: string, method: RecurringTransactionMethodEnum, trigger: RecurringTransactionTriggerEnum, interval?: RecurringTransactionIntervalEnum | null, targetOngoingBalance?: string | null, paidCredits: string, grantedCredits: string, thresholdCredits?: string | null, startedAt?: any | null, invoiceRequiresSuccessfulPayment: boolean, expirationAt?: any | null, transactionMetadata?: Array<{ __typename?: 'TransactionMetadata', key: string, value: string }> | null }> | null } | null };
12356+
export type UpdateCustomerWalletMutation = { __typename?: 'Mutation', updateCustomerWallet?: { __typename?: 'Wallet', id: string, expirationAt?: any | null, name?: string | null, rateAmount: number, priority: number, invoiceRequiresSuccessfulPayment: boolean, appliesTo?: { __typename?: 'WalletAppliesTo', feeTypes?: Array<FeeTypesEnum> | null, billableMetrics?: Array<{ __typename?: 'BillableMetric', id: string, name: string, code: string }> | null } | null, recurringTransactionRules?: Array<{ __typename?: 'RecurringTransactionRule', lagoId: string, method: RecurringTransactionMethodEnum, trigger: RecurringTransactionTriggerEnum, interval?: RecurringTransactionIntervalEnum | null, targetOngoingBalance?: string | null, paidCredits: string, grantedCredits: string, thresholdCredits?: string | null, startedAt?: any | null, invoiceRequiresSuccessfulPayment: boolean, expirationAt?: any | null, transactionMetadata?: Array<{ __typename?: 'TransactionMetadata', key: string, value: string }> | null }> | null } | null };
1235712357

1235812358
export type GetWalletForTopUpQueryVariables = Exact<{
1235912359
walletId: Scalars['ID']['input'];
@@ -14042,6 +14042,7 @@ export const WalletForUpdateFragmentDoc = gql`
1404214042
expirationAt
1404314043
name
1404414044
rateAmount
14045+
priority
1404514046
invoiceRequiresSuccessfulPayment
1404614047
appliesTo {
1404714048
feeTypes

src/pages/wallet/CreateWallet.tsx

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,14 @@ import { intlFormatNumber } from '~/core/formats/intlFormatNumber'
1515
import { CUSTOMER_DETAILS_TAB_ROUTE } from '~/core/router'
1616
import { getCurrencyPrecision } from '~/core/serializers/serializeAmount'
1717
import {
18+
CreateCustomerWalletInput,
1819
CreateRecurringTransactionRuleInput,
1920
CurrencyEnum,
2021
GetWalletInfosForWalletFormQuery,
2122
LagoApiError,
2223
RecurringTransactionMethodEnum,
2324
RecurringTransactionTriggerEnum,
25+
UpdateCustomerWalletInput,
2426
UpdateRecurringTransactionRuleInput,
2527
useCreateCustomerWalletMutation,
2628
useGetCustomerInfosForWalletFormQuery,
@@ -38,12 +40,15 @@ import { walletFormSchema } from '~/pages/wallet/form'
3840
import { TWalletDataForm } from '~/pages/wallet/types'
3941
import { FormLoadingSkeleton } from '~/styles/mainObjectsForm'
4042

43+
const WALLET_DEFAULT_PRIORITY = 50
44+
4145
gql`
4246
fragment WalletForUpdate on Wallet {
4347
id
4448
expirationAt
4549
name
4650
rateAmount
51+
priority
4752
invoiceRequiresSuccessfulPayment
4853
appliesTo {
4954
feeTypes
@@ -208,6 +213,7 @@ const CreateWallet = () => {
208213
}),
209214
recurringTransactionRules: wallet?.recurringTransactionRules || undefined,
210215
invoiceRequiresSuccessfulPayment: wallet?.invoiceRequiresSuccessfulPayment ?? false,
216+
priority: wallet?.priority || WALLET_DEFAULT_PRIORITY,
211217
},
212218
validationSchema: walletFormSchema(formType),
213219
validateOnMount: true,
@@ -219,6 +225,7 @@ const CreateWallet = () => {
219225
currency: valuesCurrency,
220226
recurringTransactionRules,
221227
appliesTo,
228+
priority,
222229
...values
223230
}) => {
224231
const recurringTransactionRulesFormatted =
@@ -289,7 +296,8 @@ const CreateWallet = () => {
289296
recurringTransactionRules: recurringTransactionRulesFormatted,
290297
id: walletId,
291298
appliesTo: formattedAppliesTo,
292-
}
299+
priority: priority || WALLET_DEFAULT_PRIORITY,
300+
} satisfies UpdateCustomerWalletInput
293301

294302
const { errors } = await updateWallet({ variables: { input } })
295303

@@ -304,7 +312,8 @@ const CreateWallet = () => {
304312
paidCredits: paidCredits === '' ? '0' : String(paidCredits),
305313
recurringTransactionRules: recurringTransactionRulesFormatted,
306314
appliesTo: formattedAppliesTo,
307-
}
315+
priority: priority || WALLET_DEFAULT_PRIORITY,
316+
} satisfies CreateCustomerWalletInput
308317

309318
const { errors } = await createWallet({ variables: { input } })
310319

src/pages/wallet/components/SettingsSection.tsx

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,24 @@ export const SettingsSection: FC<SettingsSectionProps> = ({
9191
)}
9292
</div>
9393

94+
<div className="flex flex-col gap-4">
95+
<div className="flex flex-col gap-1">
96+
<Typography variant="captionHl" color="grey700">
97+
{translate('text_1755697949545w7vb1hox4n5')}
98+
</Typography>
99+
<Typography variant="caption" color="grey600">
100+
{translate('text_175569794954699gxpjhn4fe')}
101+
</Typography>
102+
</div>
103+
104+
<TextInputField
105+
name="priority"
106+
beforeChangeFormatter={['positiveNumber', 'int']}
107+
placeholder={translate('text_1755697949546zuqgeved2ma')}
108+
formikProps={formikProps}
109+
/>
110+
</div>
111+
94112
<div className="flex flex-col gap-4">
95113
<div className="flex flex-col gap-1">
96114
<Typography variant="captionHl" color="grey700">

src/pages/wallet/form.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { DateTime } from 'luxon'
2-
import { array, object, string } from 'yup'
2+
import { array, number, object, string } from 'yup'
33

44
import { dateErrorCodes, FORM_TYPE_ENUM } from '~/core/constants/form'
55
import { metadataSchema } from '~/formValidation/metadataSchema'
@@ -219,5 +219,6 @@ export const walletFormSchema = (formType: keyof typeof FORM_TYPE_ENUM) => {
219219
}),
220220
)
221221
.nullable(),
222+
priority: number().min(1).max(50),
222223
})
223224
}

0 commit comments

Comments
 (0)