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

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 +1424 -0
  2. package/dist/@types/index.d.ts.map +1 -0
  3. package/dist/cjs/apis/SBApiKeys.cjs +55 -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 +239 -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 +171 -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 +222 -0
  80. package/dist/cjs/index.cjs.map +1 -0
  81. package/dist/esm/apis/SBApiKeys.mjs +55 -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 +230 -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 +162 -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 +5056 -0
  160. package/dist/umd/index.js.map +1 -0
  161. package/package.json +3 -3
@@ -0,0 +1,125 @@
1
+ 'use strict';
2
+
3
+ var ApiContext = require('../../context/ApiContext.cjs');
4
+ var reactQuery = require('@tanstack/react-query');
5
+ var SBApiKeys = require('../SBApiKeys.cjs');
6
+
7
+ const useCreatePaymentMethodMutation = () => {
8
+ const client = ApiContext.useApiClient();
9
+ const queryClient = reactQuery.useQueryClient();
10
+ return reactQuery.useMutation({
11
+ mutationFn: async ({
12
+ data,
13
+ options,
14
+ config
15
+ }) => {
16
+ return await client.paymentMethods.createAsync(data, options, config);
17
+ },
18
+ onSuccess: () => {
19
+ queryClient.invalidateQueries({
20
+ queryKey: [SBApiKeys.SBApiKeys.PaymentMethods]
21
+ });
22
+ }
23
+ });
24
+ };
25
+ const useGetPaymentMethods = (request, options, config) => {
26
+ const client = ApiContext.useApiClient();
27
+ return reactQuery.useQuery({
28
+ queryKey: [SBApiKeys.SBApiKeys.PaymentMethods, request, options],
29
+ queryFn: async () => {
30
+ return await client.paymentMethods.getAsync(request, options, config);
31
+ }
32
+ });
33
+ };
34
+ const useGetPaymentMethodById = (id, options, config) => {
35
+ const client = ApiContext.useApiClient();
36
+ return reactQuery.useQuery({
37
+ queryKey: [SBApiKeys.SBApiKeys.PaymentMethods, id, options],
38
+ queryFn: async () => {
39
+ return await client.paymentMethods.getByIdAsync(id, options, config);
40
+ }
41
+ });
42
+ };
43
+ const useDeletePaymentMethodMutation = () => {
44
+ const client = ApiContext.useApiClient();
45
+ const queryClient = reactQuery.useQueryClient();
46
+ return reactQuery.useMutation({
47
+ mutationFn: async ({
48
+ id,
49
+ options,
50
+ config
51
+ }) => {
52
+ return await client.paymentMethods.deleteAsync(id, options, config);
53
+ },
54
+ onSuccess: (_, {
55
+ id
56
+ }) => {
57
+ queryClient.invalidateQueries({
58
+ queryKey: [SBApiKeys.SBApiKeys.PaymentMethods]
59
+ });
60
+ queryClient.invalidateQueries({
61
+ queryKey: [SBApiKeys.SBApiKeys.PaymentMethods, id]
62
+ });
63
+ }
64
+ });
65
+ };
66
+ const useSetupPaymentMethod = () => {
67
+ const client = ApiContext.useApiClient();
68
+ reactQuery.useQueryClient();
69
+ return reactQuery.useQuery({
70
+ queryKey: [SBApiKeys.SBApiKeys.PaymentMethods, "setup"],
71
+ queryFn: async () => {
72
+ return await client.paymentMethods.setup();
73
+ }
74
+ });
75
+ };
76
+ const useCreatePaymentMethodFromSetupIntentMutation = () => {
77
+ const client = ApiContext.useApiClient();
78
+ const queryClient = reactQuery.useQueryClient();
79
+ return reactQuery.useMutation({
80
+ mutationFn: async ({
81
+ setupIntentId,
82
+ options,
83
+ config
84
+ }) => {
85
+ return await client.paymentMethods.createFromSetupIntentAsync(setupIntentId, options, config);
86
+ },
87
+ onSuccess: () => {
88
+ queryClient.invalidateQueries({
89
+ queryKey: [SBApiKeys.SBApiKeys.PaymentMethods]
90
+ });
91
+ }
92
+ });
93
+ };
94
+ const useListPaymentMethodsInfiniteQuery = (page = 1, pageSize = 10) => {
95
+ const client = ApiContext.useApiClient();
96
+ return reactQuery.useInfiniteQuery({
97
+ queryKey: [SBApiKeys.SBApiKeys.PaymentMethods, "infinite", page, pageSize],
98
+ queryFn: async ({
99
+ pageParam = 1
100
+ }) => {
101
+ const request = {
102
+ page: pageParam,
103
+ pageSize
104
+ };
105
+ return await client.paymentMethods.getAsync(request);
106
+ },
107
+ getNextPageParam: (lastPage, allPages) => {
108
+ // Assuming the API returns pagination info similar to other services
109
+ if (lastPage && Array.isArray(lastPage) && lastPage.length === pageSize) {
110
+ return allPages.length + 1;
111
+ }
112
+ return undefined;
113
+ },
114
+ initialPageParam: 1
115
+ });
116
+ };
117
+
118
+ exports.useCreatePaymentMethodFromSetupIntentMutation = useCreatePaymentMethodFromSetupIntentMutation;
119
+ exports.useCreatePaymentMethodMutation = useCreatePaymentMethodMutation;
120
+ exports.useDeletePaymentMethodMutation = useDeletePaymentMethodMutation;
121
+ exports.useGetPaymentMethodById = useGetPaymentMethodById;
122
+ exports.useGetPaymentMethods = useGetPaymentMethods;
123
+ exports.useListPaymentMethodsInfiniteQuery = useListPaymentMethodsInfiniteQuery;
124
+ exports.useSetupPaymentMethod = useSetupPaymentMethod;
125
+ //# sourceMappingURL=PaymentMethodsAPI.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentMethodsAPI.cjs","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,135 @@
1
+ 'use strict';
2
+
3
+ var reactQuery = require('@tanstack/react-query');
4
+ var ApiContext = require('../../context/ApiContext.cjs');
5
+ var SBApiKeys = require('../SBApiKeys.cjs');
6
+
7
+ /**
8
+ * Hook for retrieving a receipt by ID
9
+ * @param id - The ID of the receipt to retrieve
10
+ * @param options - Optional request options
11
+ * @param config - Optional Axios request configuration
12
+ * @returns Query result containing the receipt data
13
+ */
14
+ const useGetReceiptByIdQuery = (id, options, config) => {
15
+ const client = ApiContext.useApiClient();
16
+ reactQuery.useQueryClient();
17
+ return reactQuery.useQuery({
18
+ queryKey: [SBApiKeys.SBApiKeys.Receipts, id, options],
19
+ queryFn: async () => {
20
+ try {
21
+ return await client.receipts.getByIdAsync(id, options, config);
22
+ } catch (exception) {
23
+ throw exception;
24
+ }
25
+ }
26
+ });
27
+ };
28
+ /**
29
+ * Hook for listing receipts with infinite pagination
30
+ * @param request - Request parameters for listing receipts
31
+ * @param options - Optional request options
32
+ * @param config - Optional Axios request configuration
33
+ * @returns Infinite query result for implementing infinite scrolling with receipt data
34
+ */
35
+ const useListReceiptsInfiniteQuery = (request = {
36
+ page: 1,
37
+ pageSize: 25
38
+ }, options, config) => {
39
+ const client = ApiContext.useApiClient();
40
+ reactQuery.useQueryClient();
41
+ return reactQuery.useInfiniteQuery({
42
+ initialPageParam: request.page || 1,
43
+ queryKey: [SBApiKeys.SBApiKeys.Receipts, request, options],
44
+ queryFn: async ({
45
+ pageParam = 1
46
+ }) => {
47
+ try {
48
+ const paginatedRequest = {
49
+ ...request,
50
+ page: pageParam
51
+ };
52
+ return await client.receipts.listAsync(paginatedRequest, options, config);
53
+ } catch (exception) {
54
+ throw exception;
55
+ }
56
+ },
57
+ getNextPageParam: lastPage => {
58
+ if (lastPage.pagination && lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
59
+ return lastPage.pagination.currentPage + 1;
60
+ }
61
+ return undefined;
62
+ }
63
+ });
64
+ };
65
+ const useCreateReceiptMutation = () => {
66
+ const client = ApiContext.useApiClient();
67
+ const queryClient = reactQuery.useQueryClient();
68
+ return reactQuery.useMutation({
69
+ mutationFn: async ({
70
+ request,
71
+ options,
72
+ config
73
+ }) => {
74
+ return await client.receipts.createAsync(request, options, config);
75
+ },
76
+ onSuccess: (_, {
77
+ request
78
+ }) => {
79
+ queryClient.invalidateQueries({
80
+ queryKey: [SBApiKeys.SBApiKeys.Receipts]
81
+ });
82
+ }
83
+ });
84
+ };
85
+ const useCreateUpdateMutation = () => {
86
+ const client = ApiContext.useApiClient();
87
+ const queryClient = reactQuery.useQueryClient();
88
+ return reactQuery.useMutation({
89
+ mutationFn: async ({
90
+ id,
91
+ request,
92
+ options,
93
+ config
94
+ }) => {
95
+ return await client.receipts.updateAsync(id, request, options, config);
96
+ },
97
+ onSuccess: (_, {
98
+ request
99
+ }) => {
100
+ queryClient.invalidateQueries({
101
+ queryKey: [SBApiKeys.SBApiKeys.Receipts]
102
+ });
103
+ }
104
+ });
105
+ };
106
+ const useDeleteReceiptMutation = () => {
107
+ const client = ApiContext.useApiClient();
108
+ const queryClient = reactQuery.useQueryClient();
109
+ return reactQuery.useMutation({
110
+ mutationFn: async ({
111
+ id,
112
+ options,
113
+ config
114
+ }) => {
115
+ await client.receipts.deleteAsync(id, options, config);
116
+ },
117
+ onSuccess: (_, {
118
+ id
119
+ }) => {
120
+ queryClient.invalidateQueries({
121
+ queryKey: [SBApiKeys.SBApiKeys.Receipts]
122
+ });
123
+ queryClient.invalidateQueries({
124
+ queryKey: [SBApiKeys.SBApiKeys.Receipts, id]
125
+ });
126
+ }
127
+ });
128
+ };
129
+
130
+ exports.useCreateReceiptMutation = useCreateReceiptMutation;
131
+ exports.useCreateUpdateMutation = useCreateUpdateMutation;
132
+ exports.useDeleteReceiptMutation = useDeleteReceiptMutation;
133
+ exports.useGetReceiptByIdQuery = useGetReceiptByIdQuery;
134
+ exports.useListReceiptsInfiniteQuery = useListReceiptsInfiniteQuery;
135
+ //# sourceMappingURL=ReceiptAPI.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReceiptAPI.cjs","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":"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"}
@@ -0,0 +1,130 @@
1
+ 'use strict';
2
+
3
+ var reactQuery = require('@tanstack/react-query');
4
+ var SBApiKeys = require('../SBApiKeys.cjs');
5
+ var ApiContext = require('../../context/ApiContext.cjs');
6
+
7
+ /**
8
+ * Hook for retrieving the current user's profile
9
+ * @param options - Optional request options including UserId, businessId, and userId
10
+ * @param config - Optional Axios request configuration
11
+ * @returns Query result containing the user data, loading state, and error information
12
+ */
13
+ function useGetCurrentUser(options, config) {
14
+ const client = ApiContext.useApiClient();
15
+ reactQuery.useQueryClient();
16
+ return reactQuery.useQuery({
17
+ queryKey: [SBApiKeys.SBApiKeys.User, options],
18
+ queryFn: async () => {
19
+ return client.user.getCurrentUser(options, config);
20
+ }
21
+ });
22
+ }
23
+ /**
24
+ * Hook for Searching Users with infinite pagination
25
+ * @param request - Request parameters for Searching Users
26
+ * @param options - Optional request options
27
+ * @param config - Optional Axios request configuration
28
+ * @returns Infinite query result for implementing infinite scrolling with User data
29
+ */
30
+ const useSearchUsersInfiniteQuery = (request = {
31
+ page: 1,
32
+ pageSize: 25,
33
+ query: ""
34
+ }, options, config) => {
35
+ const client = ApiContext.useApiClient();
36
+ reactQuery.useQueryClient();
37
+ return reactQuery.useInfiniteQuery({
38
+ initialPageParam: request.page || 1,
39
+ queryKey: [SBApiKeys.SBApiKeys.Users, request, options],
40
+ queryFn: async ({
41
+ pageParam = 1
42
+ }) => {
43
+ return await client.users.listAsync({
44
+ ...request,
45
+ page: pageParam
46
+ }, options, config);
47
+ },
48
+ getNextPageParam: lastPage => {
49
+ if (lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
50
+ return lastPage.pagination.currentPage + 1;
51
+ }
52
+ return undefined;
53
+ }
54
+ });
55
+ };
56
+ /**
57
+ * Hook for getting user profile
58
+ */
59
+ function useGetUserProfile(options, config) {
60
+ const client = ApiContext.useApiClient();
61
+ return reactQuery.useQuery({
62
+ queryKey: [SBApiKeys.SBApiKeys.User, "profile", options],
63
+ queryFn: async () => {
64
+ return client.user.getUserProfile(options, config);
65
+ }
66
+ });
67
+ }
68
+ /**
69
+ * Hook for updating user profile
70
+ */
71
+ function useUpdateUserProfileMutation() {
72
+ const client = ApiContext.useApiClient();
73
+ const queryClient = reactQuery.useQueryClient();
74
+ return reactQuery.useMutation({
75
+ mutationFn: async ({
76
+ data,
77
+ options,
78
+ config
79
+ }) => {
80
+ return client.user.updateUserProfile(data, options, config);
81
+ },
82
+ onSuccess: () => {
83
+ queryClient.invalidateQueries({
84
+ queryKey: [SBApiKeys.SBApiKeys.User]
85
+ });
86
+ }
87
+ });
88
+ }
89
+ /**
90
+ * Hook for uploading user avatar
91
+ */
92
+ function useUploadUserAvatarMutation() {
93
+ const client = ApiContext.useApiClient();
94
+ const queryClient = reactQuery.useQueryClient();
95
+ return reactQuery.useMutation({
96
+ mutationFn: async ({
97
+ file,
98
+ options,
99
+ config
100
+ }) => {
101
+ return client.user.uploadAvatarAsync(file, options, config);
102
+ },
103
+ onSuccess: () => {
104
+ queryClient.invalidateQueries({
105
+ queryKey: [SBApiKeys.SBApiKeys.User]
106
+ });
107
+ }
108
+ });
109
+ }
110
+ /**
111
+ * Hook for searching items
112
+ */
113
+ function useSearchQuery(query, options, config) {
114
+ const client = ApiContext.useApiClient();
115
+ return reactQuery.useQuery({
116
+ queryKey: [SBApiKeys.SBApiKeys.Search, query, options],
117
+ queryFn: async () => {
118
+ return client.user.searchAsync(query, options, config);
119
+ },
120
+ enabled: !!query
121
+ });
122
+ }
123
+
124
+ exports.useGetCurrentUser = useGetCurrentUser;
125
+ exports.useGetUserProfile = useGetUserProfile;
126
+ exports.useSearchQuery = useSearchQuery;
127
+ exports.useSearchUsersInfiniteQuery = useSearchUsersInfiniteQuery;
128
+ exports.useUpdateUserProfileMutation = useUpdateUserProfileMutation;
129
+ exports.useUploadUserAvatarMutation = useUploadUserAvatarMutation;
130
+ //# sourceMappingURL=UserAPI.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserAPI.cjs","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,171 @@
1
+ 'use strict';
2
+
3
+ var ApiContext = require('../../context/ApiContext.cjs');
4
+ var reactQuery = require('@tanstack/react-query');
5
+ var SBApiKeys = require('../SBApiKeys.cjs');
6
+
7
+ function useListVendorsInfiniteQuery(request = {
8
+ page: 1,
9
+ pageSize: 25
10
+ }, options, config) {
11
+ const client = ApiContext.useApiClient();
12
+ return reactQuery.useInfiniteQuery({
13
+ initialPageParam: request.page || 1,
14
+ queryKey: [SBApiKeys.SBApiKeys.Vendors, request, options],
15
+ queryFn: async ({
16
+ pageParam = 1
17
+ }) => {
18
+ const paginatedRequest = {
19
+ ...request,
20
+ page: pageParam
21
+ };
22
+ return client.vendors.listAsync(paginatedRequest, options, config);
23
+ },
24
+ getNextPageParam: lastPage => {
25
+ if (lastPage.pagination && lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
26
+ return lastPage.pagination.currentPage + 1;
27
+ }
28
+ return undefined;
29
+ }
30
+ });
31
+ }
32
+ function useGetVendorByIdQuery(id, options, config) {
33
+ const client = ApiContext.useApiClient();
34
+ return reactQuery.useQuery({
35
+ queryKey: [SBApiKeys.SBApiKeys.Vendors, id, options],
36
+ queryFn: async () => {
37
+ return client.vendors.getByIdAsync(id, options, config);
38
+ }
39
+ });
40
+ }
41
+ function useDeleteVendorMutation(mutationOptions) {
42
+ const queryClient = reactQuery.useQueryClient();
43
+ return reactQuery.useMutation({
44
+ mutationFn: async ({
45
+ vendorId,
46
+ options,
47
+ config
48
+ }) => {
49
+ const client = ApiContext.useApiClient();
50
+ return client.vendors.deleteAsync(vendorId, options, config);
51
+ },
52
+ onSuccess: (data, variables, context) => {
53
+ queryClient.invalidateQueries({
54
+ queryKey: [SBApiKeys.SBApiKeys.Vendors]
55
+ });
56
+ mutationOptions?.onSuccess?.(data, variables, context);
57
+ },
58
+ ...mutationOptions
59
+ });
60
+ }
61
+ function useCreateVendorMutation(mutationOptions) {
62
+ const queryClient = reactQuery.useQueryClient();
63
+ return reactQuery.useMutation({
64
+ mutationFn: async ({
65
+ request,
66
+ options,
67
+ config
68
+ }) => {
69
+ const client = ApiContext.useApiClient();
70
+ return client.vendors.createAsync(request, options, config);
71
+ },
72
+ onSuccess: (data, variables, context) => {
73
+ queryClient.invalidateQueries({
74
+ queryKey: [SBApiKeys.SBApiKeys.Vendors]
75
+ });
76
+ mutationOptions?.onSuccess?.(data, variables, context);
77
+ },
78
+ ...mutationOptions
79
+ });
80
+ }
81
+ function useUpdateVendorMutation(mutationOptions) {
82
+ const queryClient = reactQuery.useQueryClient();
83
+ return reactQuery.useMutation({
84
+ mutationFn: async ({
85
+ vendorId,
86
+ request,
87
+ options,
88
+ config
89
+ }) => {
90
+ const client = ApiContext.useApiClient();
91
+ return client.vendors.updateAsync(vendorId, request, options, config);
92
+ },
93
+ onSuccess: (data, variables, context) => {
94
+ queryClient.invalidateQueries({
95
+ queryKey: [SBApiKeys.SBApiKeys.Vendors]
96
+ });
97
+ queryClient.invalidateQueries({
98
+ queryKey: [SBApiKeys.SBApiKeys.Vendors, variables.vendorId]
99
+ });
100
+ mutationOptions?.onSuccess?.(data, variables, context);
101
+ },
102
+ ...mutationOptions
103
+ });
104
+ }
105
+ function useGetVendorLinkTokenMutation(mutationOptions) {
106
+ const client = ApiContext.useApiClient();
107
+ return reactQuery.useMutation({
108
+ mutationFn: async ({
109
+ options,
110
+ config
111
+ }) => {
112
+ return client.vendors.getLinkToken(options, config);
113
+ },
114
+ ...mutationOptions
115
+ });
116
+ }
117
+ function useConnectVendorMutation(mutationOptions) {
118
+ const queryClient = reactQuery.useQueryClient();
119
+ return reactQuery.useMutation({
120
+ mutationFn: async ({
121
+ publicToken,
122
+ options,
123
+ config
124
+ }) => {
125
+ const client = ApiContext.useApiClient();
126
+ return client.vendors.connectAsync({
127
+ publicToken
128
+ }, options, config);
129
+ },
130
+ onSuccess: (data, variables, context) => {
131
+ queryClient.invalidateQueries({
132
+ queryKey: [SBApiKeys.SBApiKeys.Vendors]
133
+ });
134
+ mutationOptions?.onSuccess?.(data, variables, context);
135
+ },
136
+ ...mutationOptions
137
+ });
138
+ }
139
+ function useRefreshVendorMutation(mutationOptions) {
140
+ const queryClient = reactQuery.useQueryClient();
141
+ return reactQuery.useMutation({
142
+ mutationFn: async ({
143
+ vendorId,
144
+ options,
145
+ config
146
+ }) => {
147
+ const client = ApiContext.useApiClient();
148
+ return client.vendors.manualRefresh(vendorId, options, config);
149
+ },
150
+ onSuccess: (data, variables, context) => {
151
+ queryClient.invalidateQueries({
152
+ queryKey: [SBApiKeys.SBApiKeys.Vendors]
153
+ });
154
+ queryClient.invalidateQueries({
155
+ queryKey: [SBApiKeys.SBApiKeys.Vendors, variables.vendorId]
156
+ });
157
+ mutationOptions?.onSuccess?.(data, variables, context);
158
+ },
159
+ ...mutationOptions
160
+ });
161
+ }
162
+
163
+ exports.useConnectVendorMutation = useConnectVendorMutation;
164
+ exports.useCreateVendorMutation = useCreateVendorMutation;
165
+ exports.useDeleteVendorMutation = useDeleteVendorMutation;
166
+ exports.useGetVendorByIdQuery = useGetVendorByIdQuery;
167
+ exports.useGetVendorLinkTokenMutation = useGetVendorLinkTokenMutation;
168
+ exports.useListVendorsInfiniteQuery = useListVendorsInfiniteQuery;
169
+ exports.useRefreshVendorMutation = useRefreshVendorMutation;
170
+ exports.useUpdateVendorMutation = useUpdateVendorMutation;
171
+ //# sourceMappingURL=VendorsAPI.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VendorsAPI.cjs","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\tpublicToken: string;\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\tpublicToken,\n\t\t\toptions,\n\t\t\tconfig,\n\t\t}: {\n\t\t\tpublicToken: string;\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(\n\t\t\t\t{ publicToken },\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\n\t\t\tmutationOptions?.onSuccess?.(data, variables, context);\n\t\t},\n\t\t...mutationOptions,\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","publicToken","connectAsync","useRefreshVendorMutation","manualRefresh"],"mappings":"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"}