diff --git a/ditto/base.json b/ditto/base.json index edd97e293..295513b37 100644 --- a/ditto/base.json +++ b/ditto/base.json @@ -726,7 +726,6 @@ "text_63befc65efcd9374da45b813": "This customer cannot be found", "text_63befc65efcd9374da45b817": "Could you enter another keyword?", "text_63c67d2913c20b8d7d05c43e": "This invoice cannot be found", - "text_63c67d2913c20b8d7d05c446": "Could you enter another keyword?", "text_63c67d2913c20b8d7d05c442": "This draft invoice cannot be found", "text_63c67d2913c20b8d7d05c44c": "This succeded invoice cannot be found", "text_63c67d8796db41749ada51ca": "This pending/failed invoice cannot be found", @@ -1261,6 +1260,17 @@ "text_65269cd46e7ec037a6823fd6": "There are no voided invoices", "text_65269cd46e7ec037a6823fda": "You can void an invoice to mark it as non due. All voided invoices will be listed here", "text_65269cd46e7ec037a6823fd8": "This voided invoice cannot be found", + "text_66ab42d4ece7e6b7078993a9": "Clear all", + "text_66ab42d4ece7e6b7078993ad": "Filters", + "text_66ab42d4ece7e6b7078993b1": "Select value", + "text_66ab42d4ece7e6b7078993b5": "Where", + "text_66ab42d4ece7e6b7078993b9": "Add filter", + "text_66ab42d4ece7e6b7078993c1": "Apply", + "text_66ab42d4ece7e6b7078993d0": "is", + "text_66ab42d4ece7e6b7078993e2": "is between", + "text_66ab4886cc65a6006ee7258c": "Reset filters", + "text_66ab48ea4ed9cd01084c60b8": "Could you enter another keyword or adjust your filters?", + "text_66ab4ad87fc8510054f237c2": "Remove", "text_65a6b4e3cb38d9b70ec54092": "Edit fee", "text_65a6b4e2cb38d9b70ec53c25": "Edit {{name}}", "text_65a6b4e2cb38d9b70ec53c2d": "Modify the total unit or amount of the fee, and Lago will automatically replace the existing fee with the new one.", diff --git a/ditto/config.yml b/ditto/config.yml index 76e80f9fe..f4dcdddf9 100644 --- a/ditto/config.yml +++ b/ditto/config.yml @@ -391,5 +391,7 @@ sources: fileName: ⚙️ [WIP] - Invoices - Regroup fee paid in advance in invoice - name: 👍 [Ready for dev] - Wallets - Do not generate invoice at top-up id: 66a8aecf06001261d60abe9f + - name: 👍 [Ready for dev] - Invoices - Export invoices in CSV + id: 66ab42d15b1e5416e2d013aa format: flat variants: true diff --git a/ditto/index.js b/ditto/index.js index 351aaa67a..957b13cfe 100644 --- a/ditto/index.js +++ b/ditto/index.js @@ -59,6 +59,7 @@ const ready_for_dev___dashboards___add_financial_reporting_to_lago = require('./ const ready_for_dev___integration___connect_lago_to_xero = require('./ready-for-dev---integration---connect-lago-to-xero__base.json'); const ready_for_dev___invoices___display_unit_price_to_item_in_invoices = require('./ready-for-dev---invoices---display-unit-price-to-item-in-invoices__base.json'); const ready_for_dev___invoices___edit_a_draft_invoice = require('./ready-for-dev---invoices---edit-a-draft-invoice__base.json'); +const ready_for_dev___invoices___export_invoices_in_csv = require('./ready-for-dev---invoices---export-invoices-in-csv__base.json'); const ready_for_dev___invoices___void_invoices = require('./ready-for-dev---invoices---void-invoices__base.json'); const ready_for_dev___invoices__invoice_list = require('./ready-for-dev---invoices--invoice-list__base.json'); const ready_for_dev___login___reset_password = require('./ready-for-dev---login---reset-password__base.json'); @@ -306,6 +307,9 @@ module.exports = { "project_65a6b4dfc20f99078eb6e8fe": { "base": {...ready_for_dev___invoices___edit_a_draft_invoice} }, + "project_66ab42d15b1e5416e2d013aa": { + "base": {...ready_for_dev___invoices___export_invoices_in_csv} + }, "project_65269b3f720470569cb17228": { "base": {...ready_for_dev___invoices___void_invoices} }, diff --git a/src/generated/graphql.tsx b/src/generated/graphql.tsx index 82b1dfbe1..e5a302ba2 100644 --- a/src/generated/graphql.tsx +++ b/src/generated/graphql.tsx @@ -1707,7 +1707,6 @@ export type CurrentOrganization = { export type CurrentOrganizationTaxesArgs = { appliedToOrganization?: InputMaybe; autoGenerated?: InputMaybe; - ids?: InputMaybe>; limit?: InputMaybe; order?: InputMaybe; page?: InputMaybe; @@ -3871,7 +3870,6 @@ export type QueryAddOnArgs = { export type QueryAddOnsArgs = { - ids?: InputMaybe>; limit?: InputMaybe; page?: InputMaybe; searchTerm?: InputMaybe; @@ -3885,7 +3883,6 @@ export type QueryBillableMetricArgs = { export type QueryBillableMetricsArgs = { aggregationTypes?: InputMaybe>; - ids?: InputMaybe>; limit?: InputMaybe; page?: InputMaybe; recurring?: InputMaybe; @@ -3899,7 +3896,6 @@ export type QueryCouponArgs = { export type QueryCouponsArgs = { - ids?: InputMaybe>; limit?: InputMaybe; page?: InputMaybe; searchTerm?: InputMaybe; @@ -3920,7 +3916,6 @@ export type QueryCreditNoteEstimateArgs = { export type QueryCreditNotesArgs = { customerId?: InputMaybe; - ids?: InputMaybe>; limit?: InputMaybe; page?: InputMaybe; searchTerm?: InputMaybe; @@ -3968,7 +3963,6 @@ export type QueryCustomerUsageArgs = { export type QueryCustomersArgs = { - ids?: InputMaybe>; limit?: InputMaybe; page?: InputMaybe; searchTerm?: InputMaybe; @@ -4132,7 +4126,6 @@ export type QueryPlanArgs = { export type QueryPlansArgs = { - ids?: InputMaybe>; limit?: InputMaybe; page?: InputMaybe; searchTerm?: InputMaybe; @@ -4160,7 +4153,6 @@ export type QueryTaxArgs = { export type QueryTaxesArgs = { appliedToOrganization?: InputMaybe; autoGenerated?: InputMaybe; - ids?: InputMaybe>; limit?: InputMaybe; order?: InputMaybe; page?: InputMaybe; @@ -4174,7 +4166,6 @@ export type QueryWalletArgs = { export type QueryWalletTransactionsArgs = { - ids?: InputMaybe>; limit?: InputMaybe; page?: InputMaybe; status?: InputMaybe; @@ -4198,7 +4189,6 @@ export type QueryWebhookEndpointArgs = { export type QueryWebhookEndpointsArgs = { - ids?: InputMaybe>; limit?: InputMaybe; page?: InputMaybe; searchTerm?: InputMaybe; @@ -5710,6 +5700,15 @@ export type CustomerUsageQueryVariables = Exact<{ export type CustomerUsageQuery = { __typename?: 'Query', customerUsage: { __typename?: 'CustomerUsage', amountCents: any, currency: CurrencyEnum, fromDatetime: any, toDatetime: any, chargesUsage: Array<{ __typename?: 'ChargeUsage', units: number, amountCents: any, charge: { __typename?: 'Charge', id: string, invoiceDisplayName?: string | null }, billableMetric: { __typename?: 'BillableMetric', id: string, code: string, name: string }, filters?: Array<{ __typename?: 'ChargeFilterUsage', id?: string | null, amountCents: any, units: number, values: any, invoiceDisplayName?: string | null }> | null, groupedUsage: Array<{ __typename?: 'GroupedChargeUsage', amountCents: any, groupedBy?: any | null, eventsCount: number, units: number, filters?: Array<{ __typename?: 'ChargeFilterUsage', id?: string | null, amountCents: any, units: number, values: any, invoiceDisplayName?: string | null }> | null }> }> } }; +export type GetCustomersForFilterItemCustomerQueryVariables = Exact<{ + page?: InputMaybe; + limit?: InputMaybe; + searchTerm?: InputMaybe; +}>; + + +export type GetCustomersForFilterItemCustomerQuery = { __typename?: 'Query', customers: { __typename?: 'CustomerCollection', metadata: { __typename?: 'CollectionMetadata', currentPage: number, totalPages: number }, collection: Array<{ __typename?: 'Customer', id: string, name?: string | null, externalId: string }> } }; + export type WebhookForCreateAndEditFragment = { __typename?: 'WebhookEndpoint', id: string, webhookUrl: string, signatureAlgo?: WebhookEndpointSignatureAlgoEnum | null }; export type CreateWebhookEndpointMutationVariables = Exact<{ @@ -7237,13 +7236,18 @@ export type InvoiceDetailsForInvoiceOverviewFragment = { __typename?: 'Invoice', export type NetsuiteIntegrationInfosForInvoiceOverviewFragment = { __typename?: 'NetsuiteIntegration', id: string, accountId?: string | null, name: string }; export type GetInvoicesListQueryVariables = Exact<{ + currency?: InputMaybe; + customerExternalId?: InputMaybe; + invoiceType?: InputMaybe | InvoiceTypeEnum>; + issuingDateFrom?: InputMaybe; + issuingDateTo?: InputMaybe; limit?: InputMaybe; page?: InputMaybe; - status?: InputMaybe | InvoiceStatusTypeEnum>; - paymentStatus?: InputMaybe | InvoicePaymentStatusTypeEnum>; - searchTerm?: InputMaybe; paymentDisputeLost?: InputMaybe; paymentOverdue?: InputMaybe; + paymentStatus?: InputMaybe | InvoicePaymentStatusTypeEnum>; + searchTerm?: InputMaybe; + status?: InputMaybe | InvoiceStatusTypeEnum>; }>; @@ -12236,6 +12240,56 @@ export type CustomerUsageQueryHookResult = ReturnType; export type CustomerUsageSuspenseQueryHookResult = ReturnType; export type CustomerUsageQueryResult = Apollo.QueryResult; +export const GetCustomersForFilterItemCustomerDocument = gql` + query getCustomersForFilterItemCustomer($page: Int, $limit: Int, $searchTerm: String) { + customers(page: $page, limit: $limit, searchTerm: $searchTerm) { + metadata { + currentPage + totalPages + } + collection { + id + name + externalId + } + } +} + `; + +/** + * __useGetCustomersForFilterItemCustomerQuery__ + * + * To run a query within a React component, call `useGetCustomersForFilterItemCustomerQuery` and pass it any options that fit your needs. + * When your component renders, `useGetCustomersForFilterItemCustomerQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useGetCustomersForFilterItemCustomerQuery({ + * variables: { + * page: // value for 'page' + * limit: // value for 'limit' + * searchTerm: // value for 'searchTerm' + * }, + * }); + */ +export function useGetCustomersForFilterItemCustomerQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(GetCustomersForFilterItemCustomerDocument, options); + } +export function useGetCustomersForFilterItemCustomerLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(GetCustomersForFilterItemCustomerDocument, options); + } +export function useGetCustomersForFilterItemCustomerSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSuspenseQuery(GetCustomersForFilterItemCustomerDocument, options); + } +export type GetCustomersForFilterItemCustomerQueryHookResult = ReturnType; +export type GetCustomersForFilterItemCustomerLazyQueryHookResult = ReturnType; +export type GetCustomersForFilterItemCustomerSuspenseQueryHookResult = ReturnType; +export type GetCustomersForFilterItemCustomerQueryResult = Apollo.QueryResult; export const CreateWebhookEndpointDocument = gql` mutation createWebhookEndpoint($input: WebhookEndpointCreateInput!) { createWebhookEndpoint(input: $input) { @@ -19009,15 +19063,20 @@ export type GetInvoiceCreditNotesLazyQueryHookResult = ReturnType; export type GetInvoiceCreditNotesQueryResult = Apollo.QueryResult; export const GetInvoicesListDocument = gql` - query getInvoicesList($limit: Int, $page: Int, $status: [InvoiceStatusTypeEnum!], $paymentStatus: [InvoicePaymentStatusTypeEnum!], $searchTerm: String, $paymentDisputeLost: Boolean, $paymentOverdue: Boolean) { + query getInvoicesList($currency: CurrencyEnum, $customerExternalId: String, $invoiceType: [InvoiceTypeEnum!], $issuingDateFrom: ISO8601Date, $issuingDateTo: ISO8601Date, $limit: Int, $page: Int, $paymentDisputeLost: Boolean, $paymentOverdue: Boolean, $paymentStatus: [InvoicePaymentStatusTypeEnum!], $searchTerm: String, $status: [InvoiceStatusTypeEnum!]) { invoices( + currency: $currency + customerExternalId: $customerExternalId + invoiceType: $invoiceType + issuingDateFrom: $issuingDateFrom + issuingDateTo: $issuingDateTo limit: $limit page: $page - status: $status - paymentStatus: $paymentStatus - searchTerm: $searchTerm paymentDisputeLost: $paymentDisputeLost paymentOverdue: $paymentOverdue + paymentStatus: $paymentStatus + searchTerm: $searchTerm + status: $status ) { metadata { currentPage @@ -19044,13 +19103,18 @@ export const GetInvoicesListDocument = gql` * @example * const { data, loading, error } = useGetInvoicesListQuery({ * variables: { + * currency: // value for 'currency' + * customerExternalId: // value for 'customerExternalId' + * invoiceType: // value for 'invoiceType' + * issuingDateFrom: // value for 'issuingDateFrom' + * issuingDateTo: // value for 'issuingDateTo' * limit: // value for 'limit' * page: // value for 'page' - * status: // value for 'status' - * paymentStatus: // value for 'paymentStatus' - * searchTerm: // value for 'searchTerm' * paymentDisputeLost: // value for 'paymentDisputeLost' * paymentOverdue: // value for 'paymentOverdue' + * paymentStatus: // value for 'paymentStatus' + * searchTerm: // value for 'searchTerm' + * status: // value for 'status' * }, * }); */