@smartbills/react-hooks-sdk 0.0.2-alpha.44 → 0.0.2-alpha.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/dist/@types/index.d.ts +1447 -0
  2. package/dist/@types/index.d.ts.map +1 -0
  3. package/dist/cjs/apis/SBApiKeys.cjs +56 -0
  4. package/dist/cjs/apis/SBApiKeys.cjs.map +1 -0
  5. package/dist/cjs/apis/api-logs/LogsAPI.cjs +42 -0
  6. package/dist/cjs/apis/api-logs/LogsAPI.cjs.map +1 -0
  7. package/dist/cjs/apis/attachments/AttachmentsAPI.cjs +147 -0
  8. package/dist/cjs/apis/attachments/AttachmentsAPI.cjs.map +1 -0
  9. package/dist/cjs/apis/banks/accounts/BankAccountAPI.cjs +88 -0
  10. package/dist/cjs/apis/banks/accounts/BankAccountAPI.cjs.map +1 -0
  11. package/dist/cjs/apis/banks/bank-institutions/BankInstitutionsAPI.cjs +58 -0
  12. package/dist/cjs/apis/banks/bank-institutions/BankInstitutionsAPI.cjs.map +1 -0
  13. package/dist/cjs/apis/banks/bank-transactions/BankTransactionAPI.cjs +57 -0
  14. package/dist/cjs/apis/banks/bank-transactions/BankTransactionAPI.cjs.map +1 -0
  15. package/dist/cjs/apis/business/BusinessAPI.cjs +172 -0
  16. package/dist/cjs/apis/business/BusinessAPI.cjs.map +1 -0
  17. package/dist/cjs/apis/business/customers/CustomerAPI.cjs +161 -0
  18. package/dist/cjs/apis/business/customers/CustomerAPI.cjs.map +1 -0
  19. package/dist/cjs/apis/business/customers/CustomerBalanceTransactionsAPI.cjs +71 -0
  20. package/dist/cjs/apis/business/customers/CustomerBalanceTransactionsAPI.cjs.map +1 -0
  21. package/dist/cjs/apis/business/customers/CustomerPaymentMethodsAPI.cjs +176 -0
  22. package/dist/cjs/apis/business/customers/CustomerPaymentMethodsAPI.cjs.map +1 -0
  23. package/dist/cjs/apis/business/departments/DepartmentApi.cjs +168 -0
  24. package/dist/cjs/apis/business/departments/DepartmentApi.cjs.map +1 -0
  25. package/dist/cjs/apis/business/departments/employees/DepartmentEmployeesAPI.cjs +137 -0
  26. package/dist/cjs/apis/business/departments/employees/DepartmentEmployeesAPI.cjs.map +1 -0
  27. package/dist/cjs/apis/business/fees/FeesAPI.cjs +167 -0
  28. package/dist/cjs/apis/business/fees/FeesAPI.cjs.map +1 -0
  29. package/dist/cjs/apis/business/locations/LocationsAPI.cjs +133 -0
  30. package/dist/cjs/apis/business/locations/LocationsAPI.cjs.map +1 -0
  31. package/dist/cjs/apis/business/products/ProductsAPI.cjs +184 -0
  32. package/dist/cjs/apis/business/products/ProductsAPI.cjs.map +1 -0
  33. package/dist/cjs/apis/business/products/images/ProductImagesAPI.cjs +195 -0
  34. package/dist/cjs/apis/business/products/images/ProductImagesAPI.cjs.map +1 -0
  35. package/dist/cjs/apis/business/products/modifiers/ModifiersAPI.cjs +169 -0
  36. package/dist/cjs/apis/business/products/modifiers/ModifiersAPI.cjs.map +1 -0
  37. package/dist/cjs/apis/business/products/options/ProductOptionsAPI.cjs +183 -0
  38. package/dist/cjs/apis/business/products/options/ProductOptionsAPI.cjs.map +1 -0
  39. package/dist/cjs/apis/business/products/variants/ProductVariantsAPI.cjs +185 -0
  40. package/dist/cjs/apis/business/products/variants/ProductVariantsAPI.cjs.map +1 -0
  41. package/dist/cjs/apis/business/promo-codes/PromoCodesAPI.cjs +139 -0
  42. package/dist/cjs/apis/business/promo-codes/PromoCodesAPI.cjs.map +1 -0
  43. package/dist/cjs/apis/business/reviews/ReviewsAPI.cjs +143 -0
  44. package/dist/cjs/apis/business/reviews/ReviewsAPI.cjs.map +1 -0
  45. package/dist/cjs/apis/business/tables/TablesAPI.cjs +75 -0
  46. package/dist/cjs/apis/business/tables/TablesAPI.cjs.map +1 -0
  47. package/dist/cjs/apis/business/taxes/TaxesAPI.cjs +140 -0
  48. package/dist/cjs/apis/business/taxes/TaxesAPI.cjs.map +1 -0
  49. package/dist/cjs/apis/business/team/TeamMemberInvitationsAPI.cjs +161 -0
  50. package/dist/cjs/apis/business/team/TeamMemberInvitationsAPI.cjs.map +1 -0
  51. package/dist/cjs/apis/business/team/TeamMembersAPI.cjs +93 -0
  52. package/dist/cjs/apis/business/team/TeamMembersAPI.cjs.map +1 -0
  53. package/dist/cjs/apis/business/vendors/VendorsAPI.cjs +237 -0
  54. package/dist/cjs/apis/business/vendors/VendorsAPI.cjs.map +1 -0
  55. package/dist/cjs/apis/documents/DocumentsAPI.cjs +87 -0
  56. package/dist/cjs/apis/documents/DocumentsAPI.cjs.map +1 -0
  57. package/dist/cjs/apis/expenses/ExpensesAPI.cjs +62 -0
  58. package/dist/cjs/apis/expenses/ExpensesAPI.cjs.map +1 -0
  59. package/dist/cjs/apis/friends/FriendsAPI.cjs +150 -0
  60. package/dist/cjs/apis/friends/FriendsAPI.cjs.map +1 -0
  61. package/dist/cjs/apis/integrations/IntegrationsAPI.cjs +55 -0
  62. package/dist/cjs/apis/integrations/IntegrationsAPI.cjs.map +1 -0
  63. package/dist/cjs/apis/invoices/InvoicesAPI.cjs +168 -0
  64. package/dist/cjs/apis/invoices/InvoicesAPI.cjs.map +1 -0
  65. package/dist/cjs/apis/loyalty/LoyaltyProgramAPI.cjs +484 -0
  66. package/dist/cjs/apis/loyalty/LoyaltyProgramAPI.cjs.map +1 -0
  67. package/dist/cjs/apis/notifications/NotificationAPI.cjs +103 -0
  68. package/dist/cjs/apis/notifications/NotificationAPI.cjs.map +1 -0
  69. package/dist/cjs/apis/payment-methods/PaymentMethodsAPI.cjs +125 -0
  70. package/dist/cjs/apis/payment-methods/PaymentMethodsAPI.cjs.map +1 -0
  71. package/dist/cjs/apis/receipts/ReceiptAPI.cjs +135 -0
  72. package/dist/cjs/apis/receipts/ReceiptAPI.cjs.map +1 -0
  73. package/dist/cjs/apis/user/UserAPI.cjs +130 -0
  74. package/dist/cjs/apis/user/UserAPI.cjs.map +1 -0
  75. package/dist/cjs/apis/vendors/VendorsAPI.cjs +215 -0
  76. package/dist/cjs/apis/vendors/VendorsAPI.cjs.map +1 -0
  77. package/dist/cjs/context/ApiContext.cjs +94 -0
  78. package/dist/cjs/context/ApiContext.cjs.map +1 -0
  79. package/dist/cjs/index.cjs +224 -0
  80. package/dist/cjs/index.cjs.map +1 -0
  81. package/dist/esm/apis/SBApiKeys.mjs +56 -0
  82. package/dist/esm/apis/SBApiKeys.mjs.map +1 -0
  83. package/dist/esm/apis/api-logs/LogsAPI.mjs +39 -0
  84. package/dist/esm/apis/api-logs/LogsAPI.mjs.map +1 -0
  85. package/dist/esm/apis/attachments/AttachmentsAPI.mjs +142 -0
  86. package/dist/esm/apis/attachments/AttachmentsAPI.mjs.map +1 -0
  87. package/dist/esm/apis/banks/accounts/BankAccountAPI.mjs +84 -0
  88. package/dist/esm/apis/banks/accounts/BankAccountAPI.mjs.map +1 -0
  89. package/dist/esm/apis/banks/bank-institutions/BankInstitutionsAPI.mjs +55 -0
  90. package/dist/esm/apis/banks/bank-institutions/BankInstitutionsAPI.mjs.map +1 -0
  91. package/dist/esm/apis/banks/bank-transactions/BankTransactionAPI.mjs +54 -0
  92. package/dist/esm/apis/banks/bank-transactions/BankTransactionAPI.mjs.map +1 -0
  93. package/dist/esm/apis/business/BusinessAPI.mjs +165 -0
  94. package/dist/esm/apis/business/BusinessAPI.mjs.map +1 -0
  95. package/dist/esm/apis/business/customers/CustomerAPI.mjs +155 -0
  96. package/dist/esm/apis/business/customers/CustomerAPI.mjs.map +1 -0
  97. package/dist/esm/apis/business/customers/CustomerBalanceTransactionsAPI.mjs +68 -0
  98. package/dist/esm/apis/business/customers/CustomerBalanceTransactionsAPI.mjs.map +1 -0
  99. package/dist/esm/apis/business/customers/CustomerPaymentMethodsAPI.mjs +170 -0
  100. package/dist/esm/apis/business/customers/CustomerPaymentMethodsAPI.mjs.map +1 -0
  101. package/dist/esm/apis/business/departments/DepartmentApi.mjs +161 -0
  102. package/dist/esm/apis/business/departments/DepartmentApi.mjs.map +1 -0
  103. package/dist/esm/apis/business/departments/employees/DepartmentEmployeesAPI.mjs +132 -0
  104. package/dist/esm/apis/business/departments/employees/DepartmentEmployeesAPI.mjs.map +1 -0
  105. package/dist/esm/apis/business/fees/FeesAPI.mjs +161 -0
  106. package/dist/esm/apis/business/fees/FeesAPI.mjs.map +1 -0
  107. package/dist/esm/apis/business/locations/LocationsAPI.mjs +127 -0
  108. package/dist/esm/apis/business/locations/LocationsAPI.mjs.map +1 -0
  109. package/dist/esm/apis/business/products/ProductsAPI.mjs +177 -0
  110. package/dist/esm/apis/business/products/ProductsAPI.mjs.map +1 -0
  111. package/dist/esm/apis/business/products/images/ProductImagesAPI.mjs +188 -0
  112. package/dist/esm/apis/business/products/images/ProductImagesAPI.mjs.map +1 -0
  113. package/dist/esm/apis/business/products/modifiers/ModifiersAPI.mjs +163 -0
  114. package/dist/esm/apis/business/products/modifiers/ModifiersAPI.mjs.map +1 -0
  115. package/dist/esm/apis/business/products/options/ProductOptionsAPI.mjs +177 -0
  116. package/dist/esm/apis/business/products/options/ProductOptionsAPI.mjs.map +1 -0
  117. package/dist/esm/apis/business/products/variants/ProductVariantsAPI.mjs +179 -0
  118. package/dist/esm/apis/business/products/variants/ProductVariantsAPI.mjs.map +1 -0
  119. package/dist/esm/apis/business/promo-codes/PromoCodesAPI.mjs +133 -0
  120. package/dist/esm/apis/business/promo-codes/PromoCodesAPI.mjs.map +1 -0
  121. package/dist/esm/apis/business/reviews/ReviewsAPI.mjs +137 -0
  122. package/dist/esm/apis/business/reviews/ReviewsAPI.mjs.map +1 -0
  123. package/dist/esm/apis/business/tables/TablesAPI.mjs +70 -0
  124. package/dist/esm/apis/business/tables/TablesAPI.mjs.map +1 -0
  125. package/dist/esm/apis/business/taxes/TaxesAPI.mjs +134 -0
  126. package/dist/esm/apis/business/taxes/TaxesAPI.mjs.map +1 -0
  127. package/dist/esm/apis/business/team/TeamMemberInvitationsAPI.mjs +153 -0
  128. package/dist/esm/apis/business/team/TeamMemberInvitationsAPI.mjs.map +1 -0
  129. package/dist/esm/apis/business/team/TeamMembersAPI.mjs +88 -0
  130. package/dist/esm/apis/business/team/TeamMembersAPI.mjs.map +1 -0
  131. package/dist/esm/apis/business/vendors/VendorsAPI.mjs +228 -0
  132. package/dist/esm/apis/business/vendors/VendorsAPI.mjs.map +1 -0
  133. package/dist/esm/apis/documents/DocumentsAPI.mjs +82 -0
  134. package/dist/esm/apis/documents/DocumentsAPI.mjs.map +1 -0
  135. package/dist/esm/apis/expenses/ExpensesAPI.mjs +58 -0
  136. package/dist/esm/apis/expenses/ExpensesAPI.mjs.map +1 -0
  137. package/dist/esm/apis/friends/FriendsAPI.mjs +144 -0
  138. package/dist/esm/apis/friends/FriendsAPI.mjs.map +1 -0
  139. package/dist/esm/apis/integrations/IntegrationsAPI.mjs +52 -0
  140. package/dist/esm/apis/integrations/IntegrationsAPI.mjs.map +1 -0
  141. package/dist/esm/apis/invoices/InvoicesAPI.mjs +161 -0
  142. package/dist/esm/apis/invoices/InvoicesAPI.mjs.map +1 -0
  143. package/dist/esm/apis/loyalty/LoyaltyProgramAPI.mjs +482 -0
  144. package/dist/esm/apis/loyalty/LoyaltyProgramAPI.mjs.map +1 -0
  145. package/dist/esm/apis/notifications/NotificationAPI.mjs +98 -0
  146. package/dist/esm/apis/notifications/NotificationAPI.mjs.map +1 -0
  147. package/dist/esm/apis/payment-methods/PaymentMethodsAPI.mjs +117 -0
  148. package/dist/esm/apis/payment-methods/PaymentMethodsAPI.mjs.map +1 -0
  149. package/dist/esm/apis/receipts/ReceiptAPI.mjs +129 -0
  150. package/dist/esm/apis/receipts/ReceiptAPI.mjs.map +1 -0
  151. package/dist/esm/apis/user/UserAPI.mjs +123 -0
  152. package/dist/esm/apis/user/UserAPI.mjs.map +1 -0
  153. package/dist/esm/apis/vendors/VendorsAPI.mjs +204 -0
  154. package/dist/esm/apis/vendors/VendorsAPI.mjs.map +1 -0
  155. package/dist/esm/context/ApiContext.mjs +86 -0
  156. package/dist/esm/context/ApiContext.mjs.map +1 -0
  157. package/dist/esm/index.mjs +39 -0
  158. package/dist/esm/index.mjs.map +1 -0
  159. package/dist/umd/index.js +5099 -0
  160. package/dist/umd/index.js.map +1 -0
  161. package/package.json +3 -3
@@ -0,0 +1,117 @@
1
+ import { useApiClient } from '../../context/ApiContext.mjs';
2
+ import { useQueryClient, useMutation, useQuery, useInfiniteQuery } from '@tanstack/react-query';
3
+ import { SBApiKeys } from '../SBApiKeys.mjs';
4
+
5
+ const useCreatePaymentMethodMutation = () => {
6
+ const client = useApiClient();
7
+ const queryClient = useQueryClient();
8
+ return useMutation({
9
+ mutationFn: async ({
10
+ data,
11
+ options,
12
+ config
13
+ }) => {
14
+ return await client.paymentMethods.createAsync(data, options, config);
15
+ },
16
+ onSuccess: () => {
17
+ queryClient.invalidateQueries({
18
+ queryKey: [SBApiKeys.PaymentMethods]
19
+ });
20
+ }
21
+ });
22
+ };
23
+ const useGetPaymentMethods = (request, options, config) => {
24
+ const client = useApiClient();
25
+ return useQuery({
26
+ queryKey: [SBApiKeys.PaymentMethods, request, options],
27
+ queryFn: async () => {
28
+ return await client.paymentMethods.getAsync(request, options, config);
29
+ }
30
+ });
31
+ };
32
+ const useGetPaymentMethodById = (id, options, config) => {
33
+ const client = useApiClient();
34
+ return useQuery({
35
+ queryKey: [SBApiKeys.PaymentMethods, id, options],
36
+ queryFn: async () => {
37
+ return await client.paymentMethods.getByIdAsync(id, options, config);
38
+ }
39
+ });
40
+ };
41
+ const useDeletePaymentMethodMutation = () => {
42
+ const client = useApiClient();
43
+ const queryClient = useQueryClient();
44
+ return useMutation({
45
+ mutationFn: async ({
46
+ id,
47
+ options,
48
+ config
49
+ }) => {
50
+ return await client.paymentMethods.deleteAsync(id, options, config);
51
+ },
52
+ onSuccess: (_, {
53
+ id
54
+ }) => {
55
+ queryClient.invalidateQueries({
56
+ queryKey: [SBApiKeys.PaymentMethods]
57
+ });
58
+ queryClient.invalidateQueries({
59
+ queryKey: [SBApiKeys.PaymentMethods, id]
60
+ });
61
+ }
62
+ });
63
+ };
64
+ const useSetupPaymentMethod = () => {
65
+ const client = useApiClient();
66
+ useQueryClient();
67
+ return useQuery({
68
+ queryKey: [SBApiKeys.PaymentMethods, "setup"],
69
+ queryFn: async () => {
70
+ return await client.paymentMethods.setup();
71
+ }
72
+ });
73
+ };
74
+ const useCreatePaymentMethodFromSetupIntentMutation = () => {
75
+ const client = useApiClient();
76
+ const queryClient = useQueryClient();
77
+ return useMutation({
78
+ mutationFn: async ({
79
+ setupIntentId,
80
+ options,
81
+ config
82
+ }) => {
83
+ return await client.paymentMethods.createFromSetupIntentAsync(setupIntentId, options, config);
84
+ },
85
+ onSuccess: () => {
86
+ queryClient.invalidateQueries({
87
+ queryKey: [SBApiKeys.PaymentMethods]
88
+ });
89
+ }
90
+ });
91
+ };
92
+ const useListPaymentMethodsInfiniteQuery = (page = 1, pageSize = 10) => {
93
+ const client = useApiClient();
94
+ return useInfiniteQuery({
95
+ queryKey: [SBApiKeys.PaymentMethods, "infinite", page, pageSize],
96
+ queryFn: async ({
97
+ pageParam = 1
98
+ }) => {
99
+ const request = {
100
+ page: pageParam,
101
+ pageSize
102
+ };
103
+ return await client.paymentMethods.getAsync(request);
104
+ },
105
+ getNextPageParam: (lastPage, allPages) => {
106
+ // Assuming the API returns pagination info similar to other services
107
+ if (lastPage && Array.isArray(lastPage) && lastPage.length === pageSize) {
108
+ return allPages.length + 1;
109
+ }
110
+ return undefined;
111
+ },
112
+ initialPageParam: 1
113
+ });
114
+ };
115
+
116
+ export { useCreatePaymentMethodFromSetupIntentMutation, useCreatePaymentMethodMutation, useDeletePaymentMethodMutation, useGetPaymentMethodById, useGetPaymentMethods, useListPaymentMethodsInfiniteQuery, useSetupPaymentMethod };
117
+ //# sourceMappingURL=PaymentMethodsAPI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentMethodsAPI.mjs","sources":["../../../../src/apis/payment-methods/PaymentMethodsAPI.tsx"],"sourcesContent":["import {\n\tPaymentMethodCreateRequest,\n\tPaymentMethodListRequest,\n\tSBPaymentMethodSetup,\n\tSBApiException,\n\tSBPaymentMethod,\n\tSBRequestOptions,\n} from \"@smartbills/sdk\";\nimport { useApiClient } from \"@/context\";\nimport {\n\tuseMutation,\n\tuseQuery,\n\tuseQueryClient,\n\tuseInfiniteQuery,\n} from \"@tanstack/react-query\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { SBApiKeys } from \"@/apis/SBApiKeys\";\n\nexport const useCreatePaymentMethodMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\treturn useMutation<\n\t\tSBPaymentMethod,\n\t\tSBApiException,\n\t\t{\n\t\t\tdata: PaymentMethodCreateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig<PaymentMethodCreateRequest>;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ data, options, config }) => {\n\t\t\treturn await client.paymentMethods.createAsync(\n\t\t\t\tdata,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.PaymentMethods],\n\t\t\t});\n\t\t},\n\t});\n};\n\nexport const useGetPaymentMethods = (\n\trequest: PaymentMethodListRequest,\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) => {\n\tconst client = useApiClient();\n\treturn useQuery<SBPaymentMethod[], SBApiException>({\n\t\tqueryKey: [SBApiKeys.PaymentMethods, request, options],\n\t\tqueryFn: async () => {\n\t\t\treturn await client.paymentMethods.getAsync(\n\t\t\t\trequest,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t});\n};\n\nexport const useGetPaymentMethodById = (\n\tid: number,\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) => {\n\tconst client = useApiClient();\n\treturn useQuery<SBPaymentMethod, SBApiException>({\n\t\tqueryKey: [SBApiKeys.PaymentMethods, id, options],\n\t\tqueryFn: async () => {\n\t\t\treturn await client.paymentMethods.getByIdAsync(\n\t\t\t\tid,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t});\n};\n\nexport const useDeletePaymentMethodMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\treturn useMutation<\n\t\tSBPaymentMethod,\n\t\tSBApiException,\n\t\t{\n\t\t\tid: number;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ id, options, config }) => {\n\t\t\treturn await client.paymentMethods.deleteAsync(id, options, config);\n\t\t},\n\t\tonSuccess: (_, { id }) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.PaymentMethods],\n\t\t\t});\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.PaymentMethods, id],\n\t\t\t});\n\t\t},\n\t});\n};\n\nexport const useSetupPaymentMethod = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\treturn useQuery<SBPaymentMethodSetup, SBApiException>({\n\t\tqueryKey: [SBApiKeys.PaymentMethods, \"setup\"],\n\t\tqueryFn: async () => {\n\t\t\treturn await client.paymentMethods.setup();\n\t\t},\n\t});\n};\n\nexport const useCreatePaymentMethodFromSetupIntentMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\treturn useMutation<\n\t\tSBPaymentMethod,\n\t\tSBApiException,\n\t\t{\n\t\t\tsetupIntentId: string;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ setupIntentId, options, config }) => {\n\t\t\treturn await client.paymentMethods.createFromSetupIntentAsync(\n\t\t\t\tsetupIntentId,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.PaymentMethods],\n\t\t\t});\n\t\t},\n\t});\n};\n\nexport const useListPaymentMethodsInfiniteQuery = (\n\tpage: number = 1,\n\tpageSize: number = 10,\n) => {\n\tconst client = useApiClient();\n\treturn useInfiniteQuery({\n\t\tqueryKey: [SBApiKeys.PaymentMethods, \"infinite\", page, pageSize],\n\t\tqueryFn: async ({ pageParam = 1 }) => {\n\t\t\tconst request: PaymentMethodListRequest = {\n\t\t\t\tpage: pageParam,\n\t\t\t\tpageSize,\n\t\t\t};\n\t\t\treturn await client.paymentMethods.getAsync(request);\n\t\t},\n\t\tgetNextPageParam: (lastPage, allPages) => {\n\t\t\t// Assuming the API returns pagination info similar to other services\n\t\t\tif (\n\t\t\t\tlastPage &&\n\t\t\t\tArray.isArray(lastPage) &&\n\t\t\t\tlastPage.length === pageSize\n\t\t\t) {\n\t\t\t\treturn allPages.length + 1;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t},\n\t\tinitialPageParam: 1,\n\t});\n};\n"],"names":["useCreatePaymentMethodMutation","client","useApiClient","queryClient","useQueryClient","useMutation","mutationFn","data","options","config","paymentMethods","createAsync","onSuccess","invalidateQueries","queryKey","SBApiKeys","PaymentMethods","useGetPaymentMethods","request","useQuery","queryFn","getAsync","useGetPaymentMethodById","id","getByIdAsync","useDeletePaymentMethodMutation","deleteAsync","_","useSetupPaymentMethod","setup","useCreatePaymentMethodFromSetupIntentMutation","setupIntentId","createFromSetupIntentAsync","useListPaymentMethodsInfiniteQuery","page","pageSize","useInfiniteQuery","pageParam","getNextPageParam","lastPage","allPages","Array","isArray","length","undefined","initialPageParam"],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ import { useQueryClient, useQuery, useInfiniteQuery, useMutation } from '@tanstack/react-query';
2
+ import { useApiClient } from '../../context/ApiContext.mjs';
3
+ import { SBApiKeys } from '../SBApiKeys.mjs';
4
+
5
+ /**
6
+ * Hook for retrieving a receipt by ID
7
+ * @param id - The ID of the receipt to retrieve
8
+ * @param options - Optional request options
9
+ * @param config - Optional Axios request configuration
10
+ * @returns Query result containing the receipt data
11
+ */
12
+ const useGetReceiptByIdQuery = (id, options, config) => {
13
+ const client = useApiClient();
14
+ useQueryClient();
15
+ return useQuery({
16
+ queryKey: [SBApiKeys.Receipts, id, options],
17
+ queryFn: async () => {
18
+ try {
19
+ return await client.receipts.getByIdAsync(id, options, config);
20
+ } catch (exception) {
21
+ throw exception;
22
+ }
23
+ }
24
+ });
25
+ };
26
+ /**
27
+ * Hook for listing receipts with infinite pagination
28
+ * @param request - Request parameters for listing receipts
29
+ * @param options - Optional request options
30
+ * @param config - Optional Axios request configuration
31
+ * @returns Infinite query result for implementing infinite scrolling with receipt data
32
+ */
33
+ const useListReceiptsInfiniteQuery = (request = {
34
+ page: 1,
35
+ pageSize: 25
36
+ }, options, config) => {
37
+ const client = useApiClient();
38
+ useQueryClient();
39
+ return useInfiniteQuery({
40
+ initialPageParam: request.page || 1,
41
+ queryKey: [SBApiKeys.Receipts, request, options],
42
+ queryFn: async ({
43
+ pageParam = 1
44
+ }) => {
45
+ try {
46
+ const paginatedRequest = {
47
+ ...request,
48
+ page: pageParam
49
+ };
50
+ return await client.receipts.listAsync(paginatedRequest, options, config);
51
+ } catch (exception) {
52
+ throw exception;
53
+ }
54
+ },
55
+ getNextPageParam: lastPage => {
56
+ if (lastPage.pagination && lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
57
+ return lastPage.pagination.currentPage + 1;
58
+ }
59
+ return undefined;
60
+ }
61
+ });
62
+ };
63
+ const useCreateReceiptMutation = () => {
64
+ const client = useApiClient();
65
+ const queryClient = useQueryClient();
66
+ return useMutation({
67
+ mutationFn: async ({
68
+ request,
69
+ options,
70
+ config
71
+ }) => {
72
+ return await client.receipts.createAsync(request, options, config);
73
+ },
74
+ onSuccess: (_, {
75
+ request
76
+ }) => {
77
+ queryClient.invalidateQueries({
78
+ queryKey: [SBApiKeys.Receipts]
79
+ });
80
+ }
81
+ });
82
+ };
83
+ const useCreateUpdateMutation = () => {
84
+ const client = useApiClient();
85
+ const queryClient = useQueryClient();
86
+ return useMutation({
87
+ mutationFn: async ({
88
+ id,
89
+ request,
90
+ options,
91
+ config
92
+ }) => {
93
+ return await client.receipts.updateAsync(id, request, options, config);
94
+ },
95
+ onSuccess: (_, {
96
+ request
97
+ }) => {
98
+ queryClient.invalidateQueries({
99
+ queryKey: [SBApiKeys.Receipts]
100
+ });
101
+ }
102
+ });
103
+ };
104
+ const useDeleteReceiptMutation = () => {
105
+ const client = useApiClient();
106
+ const queryClient = useQueryClient();
107
+ return useMutation({
108
+ mutationFn: async ({
109
+ id,
110
+ options,
111
+ config
112
+ }) => {
113
+ await client.receipts.deleteAsync(id, options, config);
114
+ },
115
+ onSuccess: (_, {
116
+ id
117
+ }) => {
118
+ queryClient.invalidateQueries({
119
+ queryKey: [SBApiKeys.Receipts]
120
+ });
121
+ queryClient.invalidateQueries({
122
+ queryKey: [SBApiKeys.Receipts, id]
123
+ });
124
+ }
125
+ });
126
+ };
127
+
128
+ export { useCreateReceiptMutation, useCreateUpdateMutation, useDeleteReceiptMutation, useGetReceiptByIdQuery, useListReceiptsInfiniteQuery };
129
+ //# sourceMappingURL=ReceiptAPI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReceiptAPI.mjs","sources":["../../../../src/apis/receipts/ReceiptAPI.tsx"],"sourcesContent":["import {\n\tSBList,\n\tReceiptListRequest,\n\tSBApiException,\n\tSBReceipt,\n\tSBRequestOptions,\n\tReceiptCreateRequest,\n\tReceiptUpdateRequest,\n} from \"@smartbills/sdk\";\nimport {\n\tQueryKey,\n\tuseInfiniteQuery,\n\tuseMutation,\n\tuseQuery,\n\tInfiniteData,\n} from \"@tanstack/react-query\";\nimport { useApiClient } from \"@/context\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { SBApiKeys } from \"@/apis/SBApiKeys\";\n\n/**\n * Hook for retrieving a receipt by ID\n * @param id - The ID of the receipt to retrieve\n * @param options - Optional request options\n * @param config - Optional Axios request configuration\n * @returns Query result containing the receipt data\n */\nexport const useGetReceiptByIdQuery = (\n\tid: number,\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\treturn useQuery<SBReceipt, SBApiException>({\n\t\tqueryKey: [SBApiKeys.Receipts, id, options],\n\t\tqueryFn: async () => {\n\t\t\ttry {\n\t\t\t\treturn await client.receipts.getByIdAsync(id, options, config);\n\t\t\t} catch (exception) {\n\t\t\t\tthrow exception;\n\t\t\t}\n\t\t},\n\t});\n};\n\n/**\n * Hook for listing receipts with infinite pagination\n * @param request - Request parameters for listing receipts\n * @param options - Optional request options\n * @param config - Optional Axios request configuration\n * @returns Infinite query result for implementing infinite scrolling with receipt data\n */\nexport const useListReceiptsInfiniteQuery = (\n\trequest: ReceiptListRequest = { page: 1, pageSize: 25 },\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig<ReceiptListRequest>,\n) => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\n\treturn useInfiniteQuery<\n\t\tSBList<SBReceipt>,\n\t\tSBApiException,\n\t\tInfiniteData<SBList<SBReceipt>>,\n\t\tQueryKey,\n\t\tnumber\n\t>({\n\t\tinitialPageParam: request.page || 1,\n\t\tqueryKey: [SBApiKeys.Receipts, request, options],\n\t\tqueryFn: async ({ pageParam = 1 }) => {\n\t\t\ttry {\n\t\t\t\tconst paginatedRequest = { ...request, page: pageParam };\n\t\t\t\treturn await client.receipts.listAsync(\n\t\t\t\t\tpaginatedRequest,\n\t\t\t\t\toptions,\n\t\t\t\t\tconfig,\n\t\t\t\t);\n\t\t\t} catch (exception) {\n\t\t\t\tthrow exception;\n\t\t\t}\n\t\t},\n\t\tgetNextPageParam: (lastPage) => {\n\t\t\tif (\n\t\t\t\tlastPage.pagination &&\n\t\t\t\tlastPage.pagination.currentPage < lastPage.pagination.pageCount\n\t\t\t) {\n\t\t\t\treturn lastPage.pagination.currentPage + 1;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t},\n\t});\n};\n\nexport const useCreateReceiptMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation<\n\t\tSBReceipt,\n\t\tSBApiException,\n\t\t{\n\t\t\trequest: ReceiptCreateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ request, options, config }) => {\n\t\t\treturn await client.receipts.createAsync(request, options, config);\n\t\t},\n\t\tonSuccess: (_, { request }) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Receipts],\n\t\t\t});\n\t\t},\n\t});\n};\n\nexport const useCreateUpdateMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation<\n\t\tSBReceipt,\n\t\tSBApiException,\n\t\t{\n\t\t\tid: number;\n\t\t\trequest: ReceiptUpdateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ id, request, options, config }) => {\n\t\t\treturn await client.receipts.updateAsync(\n\t\t\t\tid,\n\t\t\t\trequest,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (_, { request }) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Receipts],\n\t\t\t});\n\t\t},\n\t});\n};\n\nexport const useDeleteReceiptMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation<\n\t\tvoid,\n\t\tSBApiException,\n\t\t{\n\t\t\tid: number;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ id, options, config }) => {\n\t\t\tawait client.receipts.deleteAsync(id, options, config);\n\t\t},\n\t\tonSuccess: (_, { id }) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Receipts],\n\t\t\t});\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Receipts, id],\n\t\t\t});\n\t\t},\n\t});\n};\n"],"names":["useGetReceiptByIdQuery","id","options","config","client","useApiClient","useQueryClient","useQuery","queryKey","SBApiKeys","Receipts","queryFn","receipts","getByIdAsync","exception","useListReceiptsInfiniteQuery","request","page","pageSize","useInfiniteQuery","initialPageParam","pageParam","paginatedRequest","listAsync","getNextPageParam","lastPage","pagination","currentPage","pageCount","undefined","useCreateReceiptMutation","queryClient","useMutation","mutationFn","createAsync","onSuccess","_","invalidateQueries","useCreateUpdateMutation","updateAsync","useDeleteReceiptMutation","deleteAsync"],"mappings":";;;;AAqBA;;;;;;AAMG;AACI,MAAMA,sBAAsB,GAAGA,CACrCC,EAAU,EACVC,OAA0B,EAC1BC,MAA2B,KACxB;AACH,EAAA,MAAMC,MAAM,GAAGC,YAAY,EAAE;AAC7B,EAAoBC,cAAc;AAClC,EAAA,OAAOC,QAAQ,CAA4B;IAC1CC,QAAQ,EAAE,CAACC,SAAS,CAACC,QAAQ,EAAET,EAAE,EAAEC,OAAO,CAAC;IAC3CS,OAAO,EAAE,YAAW;MACnB,IAAI;AACH,QAAA,OAAO,MAAMP,MAAM,CAACQ,QAAQ,CAACC,YAAY,CAACZ,EAAE,EAAEC,OAAO,EAAEC,MAAM,CAAC;OAC9D,CAAC,OAAOW,SAAS,EAAE;AACnB,QAAA,MAAMA,SAAS;AAChB;AACD;AACA,GAAA,CAAC;AACH;AAEA;;;;;;AAMG;AACUC,MAAAA,4BAA4B,GAAGA,CAC3CC,OAA8B,GAAA;AAAEC,EAAAA,IAAI,EAAE,CAAC;AAAEC,EAAAA,QAAQ,EAAE;AAAI,CAAA,EACvDhB,OAA0B,EAC1BC,MAA+C,KAC5C;AACH,EAAA,MAAMC,MAAM,GAAGC,YAAY,EAAE;AAC7B,EAAoBC,cAAc;AAElC,EAAA,OAAOa,gBAAgB,CAMrB;AACDC,IAAAA,gBAAgB,EAAEJ,OAAO,CAACC,IAAI,IAAI,CAAC;IACnCT,QAAQ,EAAE,CAACC,SAAS,CAACC,QAAQ,EAAEM,OAAO,EAAEd,OAAO,CAAC;IAChDS,OAAO,EAAE,OAAO;AAAEU,MAAAA,SAAS,GAAG;AAAG,KAAA,KAAI;MACpC,IAAI;AACH,QAAA,MAAMC,gBAAgB,GAAG;AAAE,UAAA,GAAGN,OAAO;AAAEC,UAAAA,IAAI,EAAEI;SAAW;AACxD,QAAA,OAAO,MAAMjB,MAAM,CAACQ,QAAQ,CAACW,SAAS,CACrCD,gBAAgB,EAChBpB,OAAO,EACPC,MAAM,CACN;OACD,CAAC,OAAOW,SAAS,EAAE;AACnB,QAAA,MAAMA,SAAS;AAChB;KACA;IACDU,gBAAgB,EAAGC,QAAQ,IAAI;AAC9B,MAAA,IACCA,QAAQ,CAACC,UAAU,IACnBD,QAAQ,CAACC,UAAU,CAACC,WAAW,GAAGF,QAAQ,CAACC,UAAU,CAACE,SAAS,EAC9D;AACD,QAAA,OAAOH,QAAQ,CAACC,UAAU,CAACC,WAAW,GAAG,CAAC;AAC3C;AACA,MAAA,OAAOE,SAAS;AACjB;AACA,GAAA,CAAC;AACH;AAEaC,MAAAA,wBAAwB,GAAGA,MAAK;AAC5C,EAAA,MAAM1B,MAAM,GAAGC,YAAY,EAAE;AAC7B,EAAA,MAAM0B,WAAW,GAAGzB,cAAc,EAAE;AAEpC,EAAA,OAAO0B,WAAW,CAQhB;IACDC,UAAU,EAAE,OAAO;MAAEjB,OAAO;MAAEd,OAAO;AAAEC,MAAAA;AAAQ,KAAA,KAAI;AAClD,MAAA,OAAO,MAAMC,MAAM,CAACQ,QAAQ,CAACsB,WAAW,CAAClB,OAAO,EAAEd,OAAO,EAAEC,MAAM,CAAC;KAClE;IACDgC,SAAS,EAAEA,CAACC,CAAC,EAAE;AAAEpB,MAAAA;AAAO,KAAE,KAAI;MAC7Be,WAAW,CAACM,iBAAiB,CAAC;AAC7B7B,QAAAA,QAAQ,EAAE,CAACC,SAAS,CAACC,QAAQ;AAC7B,OAAA,CAAC;AACH;AACA,GAAA,CAAC;AACH;AAEa4B,MAAAA,uBAAuB,GAAGA,MAAK;AAC3C,EAAA,MAAMlC,MAAM,GAAGC,YAAY,EAAE;AAC7B,EAAA,MAAM0B,WAAW,GAAGzB,cAAc,EAAE;AAEpC,EAAA,OAAO0B,WAAW,CAShB;IACDC,UAAU,EAAE,OAAO;MAAEhC,EAAE;MAAEe,OAAO;MAAEd,OAAO;AAAEC,MAAAA;AAAM,KAAE,KAAI;AACtD,MAAA,OAAO,MAAMC,MAAM,CAACQ,QAAQ,CAAC2B,WAAW,CACvCtC,EAAE,EACFe,OAAO,EACPd,OAAO,EACPC,MAAM,CACN;KACD;IACDgC,SAAS,EAAEA,CAACC,CAAC,EAAE;AAAEpB,MAAAA;AAAO,KAAE,KAAI;MAC7Be,WAAW,CAACM,iBAAiB,CAAC;AAC7B7B,QAAAA,QAAQ,EAAE,CAACC,SAAS,CAACC,QAAQ;AAC7B,OAAA,CAAC;AACH;AACA,GAAA,CAAC;AACH;AAEa8B,MAAAA,wBAAwB,GAAGA,MAAK;AAC5C,EAAA,MAAMpC,MAAM,GAAGC,YAAY,EAAE;AAC7B,EAAA,MAAM0B,WAAW,GAAGzB,cAAc,EAAE;AAEpC,EAAA,OAAO0B,WAAW,CAQhB;IACDC,UAAU,EAAE,OAAO;MAAEhC,EAAE;MAAEC,OAAO;AAAEC,MAAAA;AAAQ,KAAA,KAAI;MAC7C,MAAMC,MAAM,CAACQ,QAAQ,CAAC6B,WAAW,CAACxC,EAAE,EAAEC,OAAO,EAAEC,MAAM,CAAC;KACtD;IACDgC,SAAS,EAAEA,CAACC,CAAC,EAAE;AAAEnC,MAAAA;AAAE,KAAE,KAAI;MACxB8B,WAAW,CAACM,iBAAiB,CAAC;AAC7B7B,QAAAA,QAAQ,EAAE,CAACC,SAAS,CAACC,QAAQ;AAC7B,OAAA,CAAC;MACFqB,WAAW,CAACM,iBAAiB,CAAC;AAC7B7B,QAAAA,QAAQ,EAAE,CAACC,SAAS,CAACC,QAAQ,EAAET,EAAE;AACjC,OAAA,CAAC;AACH;AACA,GAAA,CAAC;AACH;;;;"}
@@ -0,0 +1,123 @@
1
+ import { useQueryClient, useQuery, useInfiniteQuery, useMutation } from '@tanstack/react-query';
2
+ import { SBApiKeys } from '../SBApiKeys.mjs';
3
+ import { useApiClient } from '../../context/ApiContext.mjs';
4
+
5
+ /**
6
+ * Hook for retrieving the current user's profile
7
+ * @param options - Optional request options including UserId, businessId, and userId
8
+ * @param config - Optional Axios request configuration
9
+ * @returns Query result containing the user data, loading state, and error information
10
+ */
11
+ function useGetCurrentUser(options, config) {
12
+ const client = useApiClient();
13
+ useQueryClient();
14
+ return useQuery({
15
+ queryKey: [SBApiKeys.User, options],
16
+ queryFn: async () => {
17
+ return client.user.getCurrentUser(options, config);
18
+ }
19
+ });
20
+ }
21
+ /**
22
+ * Hook for Searching Users with infinite pagination
23
+ * @param request - Request parameters for Searching Users
24
+ * @param options - Optional request options
25
+ * @param config - Optional Axios request configuration
26
+ * @returns Infinite query result for implementing infinite scrolling with User data
27
+ */
28
+ const useSearchUsersInfiniteQuery = (request = {
29
+ page: 1,
30
+ pageSize: 25,
31
+ query: ""
32
+ }, options, config) => {
33
+ const client = useApiClient();
34
+ useQueryClient();
35
+ return useInfiniteQuery({
36
+ initialPageParam: request.page || 1,
37
+ queryKey: [SBApiKeys.Users, request, options],
38
+ queryFn: async ({
39
+ pageParam = 1
40
+ }) => {
41
+ return await client.users.listAsync({
42
+ ...request,
43
+ page: pageParam
44
+ }, options, config);
45
+ },
46
+ getNextPageParam: lastPage => {
47
+ if (lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
48
+ return lastPage.pagination.currentPage + 1;
49
+ }
50
+ return undefined;
51
+ }
52
+ });
53
+ };
54
+ /**
55
+ * Hook for getting user profile
56
+ */
57
+ function useGetUserProfile(options, config) {
58
+ const client = useApiClient();
59
+ return useQuery({
60
+ queryKey: [SBApiKeys.User, "profile", options],
61
+ queryFn: async () => {
62
+ return client.user.getUserProfile(options, config);
63
+ }
64
+ });
65
+ }
66
+ /**
67
+ * Hook for updating user profile
68
+ */
69
+ function useUpdateUserProfileMutation() {
70
+ const client = useApiClient();
71
+ const queryClient = useQueryClient();
72
+ return useMutation({
73
+ mutationFn: async ({
74
+ data,
75
+ options,
76
+ config
77
+ }) => {
78
+ return client.user.updateUserProfile(data, options, config);
79
+ },
80
+ onSuccess: () => {
81
+ queryClient.invalidateQueries({
82
+ queryKey: [SBApiKeys.User]
83
+ });
84
+ }
85
+ });
86
+ }
87
+ /**
88
+ * Hook for uploading user avatar
89
+ */
90
+ function useUploadUserAvatarMutation() {
91
+ const client = useApiClient();
92
+ const queryClient = useQueryClient();
93
+ return useMutation({
94
+ mutationFn: async ({
95
+ file,
96
+ options,
97
+ config
98
+ }) => {
99
+ return client.user.uploadAvatarAsync(file, options, config);
100
+ },
101
+ onSuccess: () => {
102
+ queryClient.invalidateQueries({
103
+ queryKey: [SBApiKeys.User]
104
+ });
105
+ }
106
+ });
107
+ }
108
+ /**
109
+ * Hook for searching items
110
+ */
111
+ function useSearchQuery(query, options, config) {
112
+ const client = useApiClient();
113
+ return useQuery({
114
+ queryKey: [SBApiKeys.Search, query, options],
115
+ queryFn: async () => {
116
+ return client.user.searchAsync(query, options, config);
117
+ },
118
+ enabled: !!query
119
+ });
120
+ }
121
+
122
+ export { useGetCurrentUser, useGetUserProfile, useSearchQuery, useSearchUsersInfiniteQuery, useUpdateUserProfileMutation, useUploadUserAvatarMutation };
123
+ //# sourceMappingURL=UserAPI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserAPI.mjs","sources":["../../../../src/apis/user/UserAPI.tsx"],"sourcesContent":["import {\n\tuseQuery,\n\tuseMutation,\n\tuseInfiniteQuery,\n\tQueryKey,\n\tInfiniteData,\n\tuseQueryClient,\n} from \"@tanstack/react-query\";\nimport {\n\tSBRequestOptions,\n\tSBUserAccount,\n\tSearchUsersRequest,\n\tSBApiException,\n\tSBList,\n\tSBBusiness,\n\tSBUser,\n\tUserUpdateRequest,\n} from \"@smartbills/sdk\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { SBApiKeys } from \"@/apis/SBApiKeys\";\nimport { useApiClient } from \"@/context\";\n\n/**\n * Hook for retrieving the current user's profile\n * @param options - Optional request options including UserId, businessId, and userId\n * @param config - Optional Axios request configuration\n * @returns Query result containing the user data, loading state, and error information\n */\nexport function useGetCurrentUser(\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\treturn useQuery<SBUserAccount, SBApiException>({\n\t\tqueryKey: [SBApiKeys.User, options],\n\t\tqueryFn: async () => {\n\t\t\treturn client.user.getCurrentUser(options, config);\n\t\t},\n\t});\n}\n\n/**\n * Hook for Searching Users with infinite pagination\n * @param request - Request parameters for Searching Users\n * @param options - Optional request options\n * @param config - Optional Axios request configuration\n * @returns Infinite query result for implementing infinite scrolling with User data\n */\nexport const useSearchUsersInfiniteQuery = (\n\trequest: SearchUsersRequest = { page: 1, pageSize: 25, query: \"\" },\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig<SearchUsersRequest>,\n) => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\treturn useInfiniteQuery<\n\t\tSBList<SBUserAccount>,\n\t\tSBApiException,\n\t\tSBList<SBUserAccount>,\n\t\tQueryKey,\n\t\tnumber\n\t>({\n\t\tinitialPageParam: request.page || 1,\n\t\tqueryKey: [SBApiKeys.Users, request, options],\n\t\tqueryFn: async ({ pageParam = 1 }) => {\n\t\t\treturn await client.users.listAsync(\n\t\t\t\t{ ...request, page: pageParam },\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tgetNextPageParam: (lastPage) => {\n\t\t\tif (\n\t\t\t\tlastPage.pagination.currentPage < lastPage.pagination.pageCount\n\t\t\t) {\n\t\t\t\treturn lastPage.pagination.currentPage + 1;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t},\n\t});\n};\n\n/**\n * Hook for getting user profile\n */\nexport function useGetUserProfile(\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) {\n\tconst client = useApiClient();\n\treturn useQuery<any, SBApiException>({\n\t\tqueryKey: [SBApiKeys.User, \"profile\", options],\n\t\tqueryFn: async () => {\n\t\t\treturn client.user.getUserProfile(options, config);\n\t\t},\n\t});\n}\n\n/**\n * Hook for updating user profile\n */\nexport function useUpdateUserProfileMutation() {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\treturn useMutation<\n\t\tany,\n\t\tSBApiException,\n\t\t{\n\t\t\tdata: UserUpdateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ data, options, config }) => {\n\t\t\treturn client.user.updateUserProfile(data, options, config);\n\t\t},\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: [SBApiKeys.User] });\n\t\t},\n\t});\n}\n\n/**\n * Hook for uploading user avatar\n */\nexport function useUploadUserAvatarMutation() {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\treturn useMutation<\n\t\tany,\n\t\tSBApiException,\n\t\t{\n\t\t\tfile: File;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ file, options, config }) => {\n\t\t\treturn client.user.uploadAvatarAsync(file, options, config);\n\t\t},\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: [SBApiKeys.User] });\n\t\t},\n\t});\n}\n\n/**\n * Hook for searching items\n */\nexport function useSearchQuery(\n\tquery: string,\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) {\n\tconst client = useApiClient();\n\treturn useQuery<any, SBApiException>({\n\t\tqueryKey: [SBApiKeys.Search, query, options],\n\t\tqueryFn: async () => {\n\t\t\treturn client.user.searchAsync(query, options, config);\n\t\t},\n\t\tenabled: !!query,\n\t});\n}\n"],"names":["useGetCurrentUser","options","config","client","useApiClient","useQueryClient","useQuery","queryKey","SBApiKeys","User","queryFn","user","getCurrentUser","useSearchUsersInfiniteQuery","request","page","pageSize","query","useInfiniteQuery","initialPageParam","Users","pageParam","users","listAsync","getNextPageParam","lastPage","pagination","currentPage","pageCount","undefined","useGetUserProfile","getUserProfile","useUpdateUserProfileMutation","queryClient","useMutation","mutationFn","data","updateUserProfile","onSuccess","invalidateQueries","useUploadUserAvatarMutation","file","uploadAvatarAsync","useSearchQuery","Search","searchAsync","enabled"],"mappings":"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"}
@@ -0,0 +1,204 @@
1
+ import { useApiClient } from '../../context/ApiContext.mjs';
2
+ import { useInfiniteQuery, useQuery, useQueryClient, useMutation } from '@tanstack/react-query';
3
+ import { SBApiKeys } from '../SBApiKeys.mjs';
4
+
5
+ function useListVendorsInfiniteQuery(request = {
6
+ page: 1,
7
+ pageSize: 25
8
+ }, options, config) {
9
+ const client = useApiClient();
10
+ return useInfiniteQuery({
11
+ initialPageParam: request.page || 1,
12
+ queryKey: [SBApiKeys.Vendors, request, options],
13
+ queryFn: async ({
14
+ pageParam = 1
15
+ }) => {
16
+ const paginatedRequest = {
17
+ ...request,
18
+ page: pageParam
19
+ };
20
+ return client.vendors.listAsync(paginatedRequest, options, config);
21
+ },
22
+ getNextPageParam: lastPage => {
23
+ if (lastPage.pagination && lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
24
+ return lastPage.pagination.currentPage + 1;
25
+ }
26
+ return undefined;
27
+ }
28
+ });
29
+ }
30
+ function useGetVendorByIdQuery(id, options, config) {
31
+ const client = useApiClient();
32
+ return useQuery({
33
+ queryKey: [SBApiKeys.Vendors, id, options],
34
+ queryFn: async () => {
35
+ return client.vendors.getByIdAsync(id, options, config);
36
+ }
37
+ });
38
+ }
39
+ function useDeleteVendorMutation(mutationOptions) {
40
+ const queryClient = useQueryClient();
41
+ return useMutation({
42
+ mutationFn: async ({
43
+ vendorId,
44
+ options,
45
+ config
46
+ }) => {
47
+ const client = useApiClient();
48
+ return client.vendors.deleteAsync(vendorId, options, config);
49
+ },
50
+ onSuccess: (data, variables, context) => {
51
+ queryClient.invalidateQueries({
52
+ queryKey: [SBApiKeys.Vendors]
53
+ });
54
+ mutationOptions?.onSuccess?.(data, variables, context);
55
+ },
56
+ ...mutationOptions
57
+ });
58
+ }
59
+ function useCreateVendorMutation(mutationOptions) {
60
+ const queryClient = useQueryClient();
61
+ return useMutation({
62
+ mutationFn: async ({
63
+ request,
64
+ options,
65
+ config
66
+ }) => {
67
+ const client = useApiClient();
68
+ return client.vendors.createAsync(request, options, config);
69
+ },
70
+ onSuccess: (data, variables, context) => {
71
+ queryClient.invalidateQueries({
72
+ queryKey: [SBApiKeys.Vendors]
73
+ });
74
+ mutationOptions?.onSuccess?.(data, variables, context);
75
+ },
76
+ ...mutationOptions
77
+ });
78
+ }
79
+ function useUpdateVendorMutation(mutationOptions) {
80
+ const queryClient = useQueryClient();
81
+ return useMutation({
82
+ mutationFn: async ({
83
+ vendorId,
84
+ request,
85
+ options,
86
+ config
87
+ }) => {
88
+ const client = useApiClient();
89
+ return client.vendors.updateAsync(vendorId, request, options, config);
90
+ },
91
+ onSuccess: (data, variables, context) => {
92
+ queryClient.invalidateQueries({
93
+ queryKey: [SBApiKeys.Vendors]
94
+ });
95
+ queryClient.invalidateQueries({
96
+ queryKey: [SBApiKeys.Vendors, variables.vendorId]
97
+ });
98
+ mutationOptions?.onSuccess?.(data, variables, context);
99
+ },
100
+ ...mutationOptions
101
+ });
102
+ }
103
+ function useGetVendorLinkTokenMutation(mutationOptions) {
104
+ const client = useApiClient();
105
+ return useMutation({
106
+ mutationFn: async ({
107
+ options,
108
+ config
109
+ }) => {
110
+ return client.vendors.getLinkToken(options, config);
111
+ },
112
+ ...mutationOptions
113
+ });
114
+ }
115
+ function useConnectVendorMutation(mutationOptions) {
116
+ const queryClient = useQueryClient();
117
+ return useMutation({
118
+ mutationFn: async ({
119
+ request,
120
+ options,
121
+ config
122
+ }) => {
123
+ const client = useApiClient();
124
+ return client.vendors.connectAsync(request, options, config);
125
+ },
126
+ onSuccess: (data, variables, context) => {
127
+ queryClient.invalidateQueries({
128
+ queryKey: [SBApiKeys.Vendors]
129
+ });
130
+ mutationOptions?.onSuccess?.(data, variables, context);
131
+ },
132
+ ...mutationOptions
133
+ });
134
+ }
135
+ /**
136
+ * Hook for retrieving a Deck connection by ID
137
+ * @param id - The ID of the connection to retrieve
138
+ * @param options - Optional request options including businessId and userId
139
+ * @param config - Optional Axios request configuration
140
+ * @returns Query result containing the connection data, loading state, and error information
141
+ */
142
+ function useGetDeckConnectionByIdQuery(id, options, config) {
143
+ const client = useApiClient();
144
+ return useQuery({
145
+ queryKey: [SBApiKeys.Vendors, id, options],
146
+ queryFn: async () => {
147
+ return client.vendors.getConnectionByIdAsync(id, options, config);
148
+ }
149
+ });
150
+ }
151
+ /**
152
+ * Hook for disconnecting from a vendor
153
+ * @param mutationOptions - Optional React Query mutation options
154
+ * @returns Mutation function and state for disconnecting from a vendor
155
+ */
156
+ function useDisconnectFromVendorMutation(mutationOptions) {
157
+ const queryClient = useQueryClient();
158
+ return useMutation({
159
+ mutationFn: async ({
160
+ vendorId,
161
+ options,
162
+ config
163
+ }) => {
164
+ const client = useApiClient();
165
+ return client.vendors.disconnectAsync(vendorId, options, config);
166
+ },
167
+ onSuccess: (data, variables, context) => {
168
+ queryClient.invalidateQueries({
169
+ queryKey: [SBApiKeys.Vendors]
170
+ });
171
+ // Call custom onSuccess if provided
172
+ mutationOptions?.onSuccess?.(data, variables, context);
173
+ },
174
+ // Spread the rest of the mutation options
175
+ ...mutationOptions
176
+ // Note: We're not spreading onSuccess to avoid overriding our implementation
177
+ });
178
+ }
179
+ function useRefreshVendorMutation(mutationOptions) {
180
+ const queryClient = useQueryClient();
181
+ return useMutation({
182
+ mutationFn: async ({
183
+ vendorId,
184
+ options,
185
+ config
186
+ }) => {
187
+ const client = useApiClient();
188
+ return client.vendors.manualRefresh(vendorId, options, config);
189
+ },
190
+ onSuccess: (data, variables, context) => {
191
+ queryClient.invalidateQueries({
192
+ queryKey: [SBApiKeys.Vendors]
193
+ });
194
+ queryClient.invalidateQueries({
195
+ queryKey: [SBApiKeys.Vendors, variables.vendorId]
196
+ });
197
+ mutationOptions?.onSuccess?.(data, variables, context);
198
+ },
199
+ ...mutationOptions
200
+ });
201
+ }
202
+
203
+ export { useConnectVendorMutation, useCreateVendorMutation, useDeleteVendorMutation, useDisconnectFromVendorMutation, useGetDeckConnectionByIdQuery, useGetVendorByIdQuery, useGetVendorLinkTokenMutation, useListVendorsInfiniteQuery, useRefreshVendorMutation, useUpdateVendorMutation };
204
+ //# sourceMappingURL=VendorsAPI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VendorsAPI.mjs","sources":["../../../../src/apis/vendors/VendorsAPI.ts"],"sourcesContent":["import {\n\tSBList,\n\tSBRequestOptions,\n\tSBApiException,\n\tSBVendor,\n\tVendorCreateRequest,\n\tVendorUpdateRequest,\n\tVendorConnectRequest,\n\tListRequest,\n} from \"@smartbills/sdk\";\nimport { useApiClient } from \"@/context\";\nimport { InfiniteData, useQueryClient } from \"@tanstack/react-query\";\nimport {\n\tQueryKey,\n\tuseInfiniteQuery,\n\tuseMutation,\n\tuseQuery,\n\tUseMutationOptions,\n} from \"@tanstack/react-query\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { SBApiKeys } from \"@/apis/SBApiKeys\";\n\nexport function useListVendorsInfiniteQuery(\n\trequest: ListRequest = { page: 1, pageSize: 25 },\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) {\n\tconst client = useApiClient();\n\treturn useInfiniteQuery<\n\t\tSBList<SBVendor>,\n\t\tSBApiException,\n\t\tInfiniteData<SBList<SBVendor>>,\n\t\tQueryKey,\n\t\tnumber\n\t>({\n\t\tinitialPageParam: request.page || 1,\n\t\tqueryKey: [SBApiKeys.Vendors, request, options],\n\t\tqueryFn: async ({ pageParam = 1 }) => {\n\t\t\tconst paginatedRequest = { ...request, page: pageParam };\n\t\t\treturn client.vendors.listAsync(paginatedRequest, options, config);\n\t\t},\n\t\tgetNextPageParam: (lastPage) => {\n\t\t\tif (\n\t\t\t\tlastPage.pagination &&\n\t\t\t\tlastPage.pagination.currentPage < lastPage.pagination.pageCount\n\t\t\t) {\n\t\t\t\treturn lastPage.pagination.currentPage + 1;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t},\n\t});\n}\n\nexport function useGetVendorByIdQuery(\n\tid: number,\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) {\n\tconst client = useApiClient();\n\treturn useQuery({\n\t\tqueryKey: [SBApiKeys.Vendors, id, options],\n\t\tqueryFn: async () => {\n\t\t\treturn client.vendors.getByIdAsync(id, options, config);\n\t\t},\n\t});\n}\n\nexport function useDeleteVendorMutation(\n\tmutationOptions?: Omit<\n\t\tUseMutationOptions<\n\t\t\tSBVendor,\n\t\t\tSBApiException,\n\t\t\t{\n\t\t\t\tvendorId: number;\n\t\t\t\toptions?: SBRequestOptions;\n\t\t\t\tconfig?: AxiosRequestConfig;\n\t\t\t}\n\t\t>,\n\t\t\"mutationFn\"\n\t>,\n) {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: async ({\n\t\t\tvendorId,\n\t\t\toptions,\n\t\t\tconfig,\n\t\t}: {\n\t\t\tvendorId: number;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}) => {\n\t\t\tconst client = useApiClient();\n\t\t\treturn client.vendors.deleteAsync(vendorId, options, config);\n\t\t},\n\t\tonSuccess: (data, variables, context) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Vendors],\n\t\t\t});\n\n\t\t\tmutationOptions?.onSuccess?.(data, variables, context);\n\t\t},\n\t\t...mutationOptions,\n\t});\n}\n\nexport function useCreateVendorMutation(\n\tmutationOptions?: Omit<\n\t\tUseMutationOptions<\n\t\t\tSBVendor,\n\t\t\tSBApiException,\n\t\t\t{\n\t\t\t\trequest: VendorCreateRequest;\n\t\t\t\toptions?: SBRequestOptions;\n\t\t\t\tconfig?: AxiosRequestConfig;\n\t\t\t}\n\t\t>,\n\t\t\"mutationFn\"\n\t>,\n) {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: async ({\n\t\t\trequest,\n\t\t\toptions,\n\t\t\tconfig,\n\t\t}: {\n\t\t\trequest: VendorCreateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}) => {\n\t\t\tconst client = useApiClient();\n\t\t\treturn client.vendors.createAsync(request, options, config);\n\t\t},\n\t\tonSuccess: (data, variables, context) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Vendors],\n\t\t\t});\n\n\t\t\tmutationOptions?.onSuccess?.(data, variables, context);\n\t\t},\n\t\t...mutationOptions,\n\t});\n}\n\nexport function useUpdateVendorMutation(\n\tmutationOptions?: Omit<\n\t\tUseMutationOptions<\n\t\t\tSBVendor,\n\t\t\tSBApiException,\n\t\t\t{\n\t\t\t\tvendorId: number;\n\t\t\t\trequest: VendorUpdateRequest;\n\t\t\t\toptions?: SBRequestOptions;\n\t\t\t\tconfig?: AxiosRequestConfig;\n\t\t\t}\n\t\t>,\n\t\t\"mutationFn\"\n\t>,\n) {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: async ({\n\t\t\tvendorId,\n\t\t\trequest,\n\t\t\toptions,\n\t\t\tconfig,\n\t\t}: {\n\t\t\tvendorId: number;\n\t\t\trequest: VendorUpdateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}) => {\n\t\t\tconst client = useApiClient();\n\t\t\treturn client.vendors.updateAsync(\n\t\t\t\tvendorId,\n\t\t\t\trequest,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (data, variables, context) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Vendors],\n\t\t\t});\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Vendors, variables.vendorId],\n\t\t\t});\n\n\t\t\tmutationOptions?.onSuccess?.(data, variables, context);\n\t\t},\n\t\t...mutationOptions,\n\t});\n}\n\nexport function useGetVendorLinkTokenMutation(\n\tmutationOptions?: UseMutationOptions<\n\t\tany,\n\t\tSBApiException,\n\t\t{\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>,\n) {\n\tconst client = useApiClient();\n\n\treturn useMutation({\n\t\tmutationFn: async ({\n\t\t\toptions,\n\t\t\tconfig,\n\t\t}: {\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}) => {\n\t\t\treturn client.vendors.getLinkToken(options, config);\n\t\t},\n\t\t...mutationOptions,\n\t});\n}\n\nexport function useConnectVendorMutation(\n\tmutationOptions?: Omit<\n\t\tUseMutationOptions<\n\t\t\tSBVendor,\n\t\t\tSBApiException,\n\t\t\t{\n\t\t\t\trequest: VendorConnectRequest;\n\t\t\t\toptions?: SBRequestOptions;\n\t\t\t\tconfig?: AxiosRequestConfig;\n\t\t\t}\n\t\t>,\n\t\t\"mutationFn\"\n\t>,\n) {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: async ({\n\t\t\trequest,\n\t\t\toptions,\n\t\t\tconfig,\n\t\t}: {\n\t\t\trequest: VendorConnectRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}) => {\n\t\t\tconst client = useApiClient();\n\t\t\treturn client.vendors.connectAsync(request, options, config);\n\t\t},\n\t\tonSuccess: (data, variables, context) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Vendors],\n\t\t\t});\n\n\t\t\tmutationOptions?.onSuccess?.(data, variables, context);\n\t\t},\n\t\t...mutationOptions,\n\t});\n}\n\n/**\n * Hook for retrieving a Deck connection by ID\n * @param id - The ID of the connection to retrieve\n * @param options - Optional request options including businessId and userId\n * @param config - Optional Axios request configuration\n * @returns Query result containing the connection data, loading state, and error information\n */\nexport function useGetDeckConnectionByIdQuery(\n\tid: number,\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) {\n\tconst client = useApiClient();\n\treturn useQuery({\n\t\tqueryKey: [SBApiKeys.Vendors, id, options],\n\t\tqueryFn: async () => {\n\t\t\treturn client.vendors.getConnectionByIdAsync(id, options, config);\n\t\t},\n\t});\n}\n\n/**\n * Hook for disconnecting from a vendor\n * @param mutationOptions - Optional React Query mutation options\n * @returns Mutation function and state for disconnecting from a vendor\n */\nexport function useDisconnectFromVendorMutation(\n\tmutationOptions?: Omit<\n\t\tUseMutationOptions<\n\t\t\tSBVendor,\n\t\t\tSBApiException,\n\t\t\t{\n\t\t\t\tvendorId: number;\n\t\t\t\toptions?: SBRequestOptions;\n\t\t\t\tconfig?: AxiosRequestConfig;\n\t\t\t}\n\t\t>,\n\t\t\"mutationFn\"\n\t>,\n) {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: async ({\n\t\t\tvendorId,\n\t\t\toptions,\n\t\t\tconfig,\n\t\t}: {\n\t\t\tvendorId: number;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}) => {\n\t\t\tconst client = useApiClient();\n\t\t\treturn client.vendors.disconnectAsync(vendorId, options, config);\n\t\t},\n\t\tonSuccess: (data, variables, context) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Vendors],\n\t\t\t});\n\n\t\t\t// Call custom onSuccess if provided\n\t\t\tmutationOptions?.onSuccess?.(data, variables, context);\n\t\t},\n\t\t// Spread the rest of the mutation options\n\t\t...mutationOptions,\n\t\t// Note: We're not spreading onSuccess to avoid overriding our implementation\n\t});\n}\n\nexport function useRefreshVendorMutation(\n\tmutationOptions?: Omit<\n\t\tUseMutationOptions<\n\t\t\tvoid,\n\t\t\tSBApiException,\n\t\t\t{\n\t\t\t\tvendorId: number;\n\t\t\t\toptions?: SBRequestOptions;\n\t\t\t\tconfig?: AxiosRequestConfig;\n\t\t\t}\n\t\t>,\n\t\t\"mutationFn\"\n\t>,\n) {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: async ({\n\t\t\tvendorId,\n\t\t\toptions,\n\t\t\tconfig,\n\t\t}: {\n\t\t\tvendorId: number;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}) => {\n\t\t\tconst client = useApiClient();\n\t\t\treturn client.vendors.manualRefresh(vendorId, options, config);\n\t\t},\n\t\tonSuccess: (data, variables, context) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Vendors],\n\t\t\t});\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Vendors, variables.vendorId],\n\t\t\t});\n\n\t\t\tmutationOptions?.onSuccess?.(data, variables, context);\n\t\t},\n\t\t...mutationOptions,\n\t});\n}\n"],"names":["useListVendorsInfiniteQuery","request","page","pageSize","options","config","client","useApiClient","useInfiniteQuery","initialPageParam","queryKey","SBApiKeys","Vendors","queryFn","pageParam","paginatedRequest","vendors","listAsync","getNextPageParam","lastPage","pagination","currentPage","pageCount","undefined","useGetVendorByIdQuery","id","useQuery","getByIdAsync","useDeleteVendorMutation","mutationOptions","queryClient","useQueryClient","useMutation","mutationFn","vendorId","deleteAsync","onSuccess","data","variables","context","invalidateQueries","useCreateVendorMutation","createAsync","useUpdateVendorMutation","updateAsync","useGetVendorLinkTokenMutation","getLinkToken","useConnectVendorMutation","connectAsync","useGetDeckConnectionByIdQuery","getConnectionByIdAsync","useDisconnectFromVendorMutation","disconnectAsync","useRefreshVendorMutation","manualRefresh"],"mappings":"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"}