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

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 (163) hide show
  1. package/README.md +148 -73
  2. package/dist/cjs/index.cjs +1 -221
  3. package/dist/cjs/index.cjs.map +1 -1
  4. package/dist/esm/index.mjs +1 -38
  5. package/dist/esm/index.mjs.map +1 -1
  6. package/dist/types/index.d.ts +594 -0
  7. package/package.json +58 -99
  8. package/dist/@types/index.d.ts +0 -1424
  9. package/dist/@types/index.d.ts.map +0 -1
  10. package/dist/cjs/apis/SBApiKeys.cjs +0 -55
  11. package/dist/cjs/apis/SBApiKeys.cjs.map +0 -1
  12. package/dist/cjs/apis/api-logs/LogsAPI.cjs +0 -42
  13. package/dist/cjs/apis/api-logs/LogsAPI.cjs.map +0 -1
  14. package/dist/cjs/apis/attachments/AttachmentsAPI.cjs +0 -147
  15. package/dist/cjs/apis/attachments/AttachmentsAPI.cjs.map +0 -1
  16. package/dist/cjs/apis/banks/accounts/BankAccountAPI.cjs +0 -88
  17. package/dist/cjs/apis/banks/accounts/BankAccountAPI.cjs.map +0 -1
  18. package/dist/cjs/apis/banks/bank-institutions/BankInstitutionsAPI.cjs +0 -58
  19. package/dist/cjs/apis/banks/bank-institutions/BankInstitutionsAPI.cjs.map +0 -1
  20. package/dist/cjs/apis/banks/bank-transactions/BankTransactionAPI.cjs +0 -57
  21. package/dist/cjs/apis/banks/bank-transactions/BankTransactionAPI.cjs.map +0 -1
  22. package/dist/cjs/apis/business/BusinessAPI.cjs +0 -172
  23. package/dist/cjs/apis/business/BusinessAPI.cjs.map +0 -1
  24. package/dist/cjs/apis/business/customers/CustomerAPI.cjs +0 -161
  25. package/dist/cjs/apis/business/customers/CustomerAPI.cjs.map +0 -1
  26. package/dist/cjs/apis/business/customers/CustomerBalanceTransactionsAPI.cjs +0 -71
  27. package/dist/cjs/apis/business/customers/CustomerBalanceTransactionsAPI.cjs.map +0 -1
  28. package/dist/cjs/apis/business/customers/CustomerPaymentMethodsAPI.cjs +0 -176
  29. package/dist/cjs/apis/business/customers/CustomerPaymentMethodsAPI.cjs.map +0 -1
  30. package/dist/cjs/apis/business/departments/DepartmentApi.cjs +0 -168
  31. package/dist/cjs/apis/business/departments/DepartmentApi.cjs.map +0 -1
  32. package/dist/cjs/apis/business/departments/employees/DepartmentEmployeesAPI.cjs +0 -137
  33. package/dist/cjs/apis/business/departments/employees/DepartmentEmployeesAPI.cjs.map +0 -1
  34. package/dist/cjs/apis/business/fees/FeesAPI.cjs +0 -167
  35. package/dist/cjs/apis/business/fees/FeesAPI.cjs.map +0 -1
  36. package/dist/cjs/apis/business/locations/LocationsAPI.cjs +0 -133
  37. package/dist/cjs/apis/business/locations/LocationsAPI.cjs.map +0 -1
  38. package/dist/cjs/apis/business/products/ProductsAPI.cjs +0 -184
  39. package/dist/cjs/apis/business/products/ProductsAPI.cjs.map +0 -1
  40. package/dist/cjs/apis/business/products/images/ProductImagesAPI.cjs +0 -195
  41. package/dist/cjs/apis/business/products/images/ProductImagesAPI.cjs.map +0 -1
  42. package/dist/cjs/apis/business/products/modifiers/ModifiersAPI.cjs +0 -169
  43. package/dist/cjs/apis/business/products/modifiers/ModifiersAPI.cjs.map +0 -1
  44. package/dist/cjs/apis/business/products/options/ProductOptionsAPI.cjs +0 -183
  45. package/dist/cjs/apis/business/products/options/ProductOptionsAPI.cjs.map +0 -1
  46. package/dist/cjs/apis/business/products/variants/ProductVariantsAPI.cjs +0 -185
  47. package/dist/cjs/apis/business/products/variants/ProductVariantsAPI.cjs.map +0 -1
  48. package/dist/cjs/apis/business/promo-codes/PromoCodesAPI.cjs +0 -139
  49. package/dist/cjs/apis/business/promo-codes/PromoCodesAPI.cjs.map +0 -1
  50. package/dist/cjs/apis/business/reviews/ReviewsAPI.cjs +0 -143
  51. package/dist/cjs/apis/business/reviews/ReviewsAPI.cjs.map +0 -1
  52. package/dist/cjs/apis/business/tables/TablesAPI.cjs +0 -75
  53. package/dist/cjs/apis/business/tables/TablesAPI.cjs.map +0 -1
  54. package/dist/cjs/apis/business/taxes/TaxesAPI.cjs +0 -140
  55. package/dist/cjs/apis/business/taxes/TaxesAPI.cjs.map +0 -1
  56. package/dist/cjs/apis/business/team/TeamMemberInvitationsAPI.cjs +0 -161
  57. package/dist/cjs/apis/business/team/TeamMemberInvitationsAPI.cjs.map +0 -1
  58. package/dist/cjs/apis/business/team/TeamMembersAPI.cjs +0 -93
  59. package/dist/cjs/apis/business/team/TeamMembersAPI.cjs.map +0 -1
  60. package/dist/cjs/apis/business/vendors/VendorsAPI.cjs +0 -239
  61. package/dist/cjs/apis/business/vendors/VendorsAPI.cjs.map +0 -1
  62. package/dist/cjs/apis/documents/DocumentsAPI.cjs +0 -87
  63. package/dist/cjs/apis/documents/DocumentsAPI.cjs.map +0 -1
  64. package/dist/cjs/apis/expenses/ExpensesAPI.cjs +0 -62
  65. package/dist/cjs/apis/expenses/ExpensesAPI.cjs.map +0 -1
  66. package/dist/cjs/apis/friends/FriendsAPI.cjs +0 -150
  67. package/dist/cjs/apis/friends/FriendsAPI.cjs.map +0 -1
  68. package/dist/cjs/apis/integrations/IntegrationsAPI.cjs +0 -55
  69. package/dist/cjs/apis/integrations/IntegrationsAPI.cjs.map +0 -1
  70. package/dist/cjs/apis/invoices/InvoicesAPI.cjs +0 -168
  71. package/dist/cjs/apis/invoices/InvoicesAPI.cjs.map +0 -1
  72. package/dist/cjs/apis/loyalty/LoyaltyProgramAPI.cjs +0 -484
  73. package/dist/cjs/apis/loyalty/LoyaltyProgramAPI.cjs.map +0 -1
  74. package/dist/cjs/apis/notifications/NotificationAPI.cjs +0 -103
  75. package/dist/cjs/apis/notifications/NotificationAPI.cjs.map +0 -1
  76. package/dist/cjs/apis/payment-methods/PaymentMethodsAPI.cjs +0 -125
  77. package/dist/cjs/apis/payment-methods/PaymentMethodsAPI.cjs.map +0 -1
  78. package/dist/cjs/apis/receipts/ReceiptAPI.cjs +0 -135
  79. package/dist/cjs/apis/receipts/ReceiptAPI.cjs.map +0 -1
  80. package/dist/cjs/apis/user/UserAPI.cjs +0 -130
  81. package/dist/cjs/apis/user/UserAPI.cjs.map +0 -1
  82. package/dist/cjs/apis/vendors/VendorsAPI.cjs +0 -171
  83. package/dist/cjs/apis/vendors/VendorsAPI.cjs.map +0 -1
  84. package/dist/cjs/context/ApiContext.cjs +0 -94
  85. package/dist/cjs/context/ApiContext.cjs.map +0 -1
  86. package/dist/esm/apis/SBApiKeys.mjs +0 -55
  87. package/dist/esm/apis/SBApiKeys.mjs.map +0 -1
  88. package/dist/esm/apis/api-logs/LogsAPI.mjs +0 -39
  89. package/dist/esm/apis/api-logs/LogsAPI.mjs.map +0 -1
  90. package/dist/esm/apis/attachments/AttachmentsAPI.mjs +0 -142
  91. package/dist/esm/apis/attachments/AttachmentsAPI.mjs.map +0 -1
  92. package/dist/esm/apis/banks/accounts/BankAccountAPI.mjs +0 -84
  93. package/dist/esm/apis/banks/accounts/BankAccountAPI.mjs.map +0 -1
  94. package/dist/esm/apis/banks/bank-institutions/BankInstitutionsAPI.mjs +0 -55
  95. package/dist/esm/apis/banks/bank-institutions/BankInstitutionsAPI.mjs.map +0 -1
  96. package/dist/esm/apis/banks/bank-transactions/BankTransactionAPI.mjs +0 -54
  97. package/dist/esm/apis/banks/bank-transactions/BankTransactionAPI.mjs.map +0 -1
  98. package/dist/esm/apis/business/BusinessAPI.mjs +0 -165
  99. package/dist/esm/apis/business/BusinessAPI.mjs.map +0 -1
  100. package/dist/esm/apis/business/customers/CustomerAPI.mjs +0 -155
  101. package/dist/esm/apis/business/customers/CustomerAPI.mjs.map +0 -1
  102. package/dist/esm/apis/business/customers/CustomerBalanceTransactionsAPI.mjs +0 -68
  103. package/dist/esm/apis/business/customers/CustomerBalanceTransactionsAPI.mjs.map +0 -1
  104. package/dist/esm/apis/business/customers/CustomerPaymentMethodsAPI.mjs +0 -170
  105. package/dist/esm/apis/business/customers/CustomerPaymentMethodsAPI.mjs.map +0 -1
  106. package/dist/esm/apis/business/departments/DepartmentApi.mjs +0 -161
  107. package/dist/esm/apis/business/departments/DepartmentApi.mjs.map +0 -1
  108. package/dist/esm/apis/business/departments/employees/DepartmentEmployeesAPI.mjs +0 -132
  109. package/dist/esm/apis/business/departments/employees/DepartmentEmployeesAPI.mjs.map +0 -1
  110. package/dist/esm/apis/business/fees/FeesAPI.mjs +0 -161
  111. package/dist/esm/apis/business/fees/FeesAPI.mjs.map +0 -1
  112. package/dist/esm/apis/business/locations/LocationsAPI.mjs +0 -127
  113. package/dist/esm/apis/business/locations/LocationsAPI.mjs.map +0 -1
  114. package/dist/esm/apis/business/products/ProductsAPI.mjs +0 -177
  115. package/dist/esm/apis/business/products/ProductsAPI.mjs.map +0 -1
  116. package/dist/esm/apis/business/products/images/ProductImagesAPI.mjs +0 -188
  117. package/dist/esm/apis/business/products/images/ProductImagesAPI.mjs.map +0 -1
  118. package/dist/esm/apis/business/products/modifiers/ModifiersAPI.mjs +0 -163
  119. package/dist/esm/apis/business/products/modifiers/ModifiersAPI.mjs.map +0 -1
  120. package/dist/esm/apis/business/products/options/ProductOptionsAPI.mjs +0 -177
  121. package/dist/esm/apis/business/products/options/ProductOptionsAPI.mjs.map +0 -1
  122. package/dist/esm/apis/business/products/variants/ProductVariantsAPI.mjs +0 -179
  123. package/dist/esm/apis/business/products/variants/ProductVariantsAPI.mjs.map +0 -1
  124. package/dist/esm/apis/business/promo-codes/PromoCodesAPI.mjs +0 -133
  125. package/dist/esm/apis/business/promo-codes/PromoCodesAPI.mjs.map +0 -1
  126. package/dist/esm/apis/business/reviews/ReviewsAPI.mjs +0 -137
  127. package/dist/esm/apis/business/reviews/ReviewsAPI.mjs.map +0 -1
  128. package/dist/esm/apis/business/tables/TablesAPI.mjs +0 -70
  129. package/dist/esm/apis/business/tables/TablesAPI.mjs.map +0 -1
  130. package/dist/esm/apis/business/taxes/TaxesAPI.mjs +0 -134
  131. package/dist/esm/apis/business/taxes/TaxesAPI.mjs.map +0 -1
  132. package/dist/esm/apis/business/team/TeamMemberInvitationsAPI.mjs +0 -153
  133. package/dist/esm/apis/business/team/TeamMemberInvitationsAPI.mjs.map +0 -1
  134. package/dist/esm/apis/business/team/TeamMembersAPI.mjs +0 -88
  135. package/dist/esm/apis/business/team/TeamMembersAPI.mjs.map +0 -1
  136. package/dist/esm/apis/business/vendors/VendorsAPI.mjs +0 -230
  137. package/dist/esm/apis/business/vendors/VendorsAPI.mjs.map +0 -1
  138. package/dist/esm/apis/documents/DocumentsAPI.mjs +0 -82
  139. package/dist/esm/apis/documents/DocumentsAPI.mjs.map +0 -1
  140. package/dist/esm/apis/expenses/ExpensesAPI.mjs +0 -58
  141. package/dist/esm/apis/expenses/ExpensesAPI.mjs.map +0 -1
  142. package/dist/esm/apis/friends/FriendsAPI.mjs +0 -144
  143. package/dist/esm/apis/friends/FriendsAPI.mjs.map +0 -1
  144. package/dist/esm/apis/integrations/IntegrationsAPI.mjs +0 -52
  145. package/dist/esm/apis/integrations/IntegrationsAPI.mjs.map +0 -1
  146. package/dist/esm/apis/invoices/InvoicesAPI.mjs +0 -161
  147. package/dist/esm/apis/invoices/InvoicesAPI.mjs.map +0 -1
  148. package/dist/esm/apis/loyalty/LoyaltyProgramAPI.mjs +0 -482
  149. package/dist/esm/apis/loyalty/LoyaltyProgramAPI.mjs.map +0 -1
  150. package/dist/esm/apis/notifications/NotificationAPI.mjs +0 -98
  151. package/dist/esm/apis/notifications/NotificationAPI.mjs.map +0 -1
  152. package/dist/esm/apis/payment-methods/PaymentMethodsAPI.mjs +0 -117
  153. package/dist/esm/apis/payment-methods/PaymentMethodsAPI.mjs.map +0 -1
  154. package/dist/esm/apis/receipts/ReceiptAPI.mjs +0 -129
  155. package/dist/esm/apis/receipts/ReceiptAPI.mjs.map +0 -1
  156. package/dist/esm/apis/user/UserAPI.mjs +0 -123
  157. package/dist/esm/apis/user/UserAPI.mjs.map +0 -1
  158. package/dist/esm/apis/vendors/VendorsAPI.mjs +0 -162
  159. package/dist/esm/apis/vendors/VendorsAPI.mjs.map +0 -1
  160. package/dist/esm/context/ApiContext.mjs +0 -86
  161. package/dist/esm/context/ApiContext.mjs.map +0 -1
  162. package/dist/umd/index.js +0 -5056
  163. package/dist/umd/index.js.map +0 -1
@@ -1,52 +0,0 @@
1
- import { useApiClient } from '../../context/ApiContext.mjs';
2
- import { useInfiniteQuery, useQueryClient, useMutation } from '@tanstack/react-query';
3
- import { SBApiKeys } from '../SBApiKeys.mjs';
4
-
5
- const useListIntegrationsInfiniteQuery = (businessId, page = 1, pageSize = 10) => {
6
- const client = useApiClient();
7
- return useInfiniteQuery({
8
- queryKey: [SBApiKeys.Integrations, businessId, page, pageSize],
9
- queryFn: async ({
10
- pageParam = 1
11
- }) => {
12
- const request = {
13
- businessId,
14
- page: pageParam,
15
- pageSize
16
- };
17
- return await client.integrations.getAsync(request);
18
- },
19
- getNextPageParam: (lastPage, allPages) => {
20
- // Assuming the API returns pagination info
21
- if (lastPage && Array.isArray(lastPage) && lastPage.length === pageSize) {
22
- return allPages.length + 1;
23
- }
24
- return undefined;
25
- },
26
- initialPageParam: 1
27
- });
28
- };
29
- const useInstallIntegrationMutation = () => {
30
- const client = useApiClient();
31
- const queryClient = useQueryClient();
32
- return useMutation({
33
- mutationFn: async ({
34
- businessId,
35
- slug,
36
- options,
37
- config
38
- }) => {
39
- return await client.integrations.installAsync(businessId, slug, options, config);
40
- },
41
- onSuccess: (_, {
42
- businessId
43
- }) => {
44
- queryClient.invalidateQueries({
45
- queryKey: [SBApiKeys.Integrations, businessId]
46
- });
47
- }
48
- });
49
- };
50
-
51
- export { useInstallIntegrationMutation, useListIntegrationsInfiniteQuery };
52
- //# sourceMappingURL=IntegrationsAPI.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IntegrationsAPI.mjs","sources":["../../../../src/apis/integrations/IntegrationsAPI.tsx"],"sourcesContent":["import {\n\tIntegrationListRequest,\n\tSBIntegration,\n\tSBApiException,\n\tSBRequestOptions,\n} from \"@smartbills/sdk\";\nimport { useApiClient } from \"@/context\";\nimport {\n\tuseMutation,\n\tuseInfiniteQuery,\n\tuseQueryClient,\n} from \"@tanstack/react-query\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { SBApiKeys } from \"@/apis/SBApiKeys\";\n\nexport const useListIntegrationsInfiniteQuery = (\n\tbusinessId: string | number,\n\tpage: number = 1,\n\tpageSize: number = 10,\n) => {\n\tconst client = useApiClient();\n\treturn useInfiniteQuery({\n\t\tqueryKey: [SBApiKeys.Integrations, businessId, page, pageSize],\n\t\tqueryFn: async ({ pageParam = 1 }) => {\n\t\t\tconst request: IntegrationListRequest = {\n\t\t\t\tbusinessId,\n\t\t\t\tpage: pageParam,\n\t\t\t\tpageSize,\n\t\t\t};\n\t\t\treturn await client.integrations.getAsync(request);\n\t\t},\n\t\tgetNextPageParam: (lastPage, allPages) => {\n\t\t\t// Assuming the API returns pagination info\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\nexport const useInstallIntegrationMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\treturn useMutation<\n\t\tany,\n\t\tSBApiException,\n\t\t{\n\t\t\tbusinessId: string | number;\n\t\t\tslug: string;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ businessId, slug, options, config }) => {\n\t\t\treturn await client.integrations.installAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tslug,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (_, { businessId }) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Integrations, businessId],\n\t\t\t});\n\t\t},\n\t});\n};\n"],"names":["useListIntegrationsInfiniteQuery","businessId","page","pageSize","client","useApiClient","useInfiniteQuery","queryKey","SBApiKeys","Integrations","queryFn","pageParam","request","integrations","getAsync","getNextPageParam","lastPage","allPages","Array","isArray","length","undefined","initialPageParam","useInstallIntegrationMutation","queryClient","useQueryClient","useMutation","mutationFn","slug","options","config","installAsync","onSuccess","_","invalidateQueries"],"mappings":";;;;AAeaA,MAAAA,gCAAgC,GAAGA,CAC/CC,UAA2B,EAC3BC,IAAA,GAAe,CAAC,EAChBC,QAAmB,GAAA,EAAE,KAClB;AACH,EAAA,MAAMC,MAAM,GAAGC,YAAY,EAAE;AAC7B,EAAA,OAAOC,gBAAgB,CAAC;IACvBC,QAAQ,EAAE,CAACC,SAAS,CAACC,YAAY,EAAER,UAAU,EAAEC,IAAI,EAAEC,QAAQ,CAAC;IAC9DO,OAAO,EAAE,OAAO;AAAEC,MAAAA,SAAS,GAAG;AAAG,KAAA,KAAI;AACpC,MAAA,MAAMC,OAAO,GAA2B;QACvCX,UAAU;AACVC,QAAAA,IAAI,EAAES,SAAS;AACfR,QAAAA;OACA;MACD,OAAO,MAAMC,MAAM,CAACS,YAAY,CAACC,QAAQ,CAACF,OAAO,CAAC;KAClD;AACDG,IAAAA,gBAAgB,EAAEA,CAACC,QAAQ,EAAEC,QAAQ,KAAI;AACxC;AACA,MAAA,IACCD,QAAQ,IACRE,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,IACvBA,QAAQ,CAACI,MAAM,KAAKjB,QAAQ,EAC3B;AACD,QAAA,OAAOc,QAAQ,CAACG,MAAM,GAAG,CAAC;AAC3B;AACA,MAAA,OAAOC,SAAS;KAChB;AACDC,IAAAA,gBAAgB,EAAE;AAClB,GAAA,CAAC;AACH;AAEaC,MAAAA,6BAA6B,GAAGA,MAAK;AACjD,EAAA,MAAMnB,MAAM,GAAGC,YAAY,EAAE;AAC7B,EAAA,MAAMmB,WAAW,GAAGC,cAAc,EAAE;AACpC,EAAA,OAAOC,WAAW,CAShB;IACDC,UAAU,EAAE,OAAO;MAAE1B,UAAU;MAAE2B,IAAI;MAAEC,OAAO;AAAEC,MAAAA;AAAM,KAAE,KAAI;AAC3D,MAAA,OAAO,MAAM1B,MAAM,CAACS,YAAY,CAACkB,YAAY,CAC5C9B,UAAU,EACV2B,IAAI,EACJC,OAAO,EACPC,MAAM,CACN;KACD;IACDE,SAAS,EAAEA,CAACC,CAAC,EAAE;AAAEhC,MAAAA;AAAU,KAAE,KAAI;MAChCuB,WAAW,CAACU,iBAAiB,CAAC;AAC7B3B,QAAAA,QAAQ,EAAE,CAACC,SAAS,CAACC,YAAY,EAAER,UAAU;AAC7C,OAAA,CAAC;AACH;AACA,GAAA,CAAC;AACH;;;;"}
@@ -1,161 +0,0 @@
1
- import { useApiClient } from '../../context/ApiContext.mjs';
2
- import { useQueryClient, useInfiniteQuery, useQuery, useMutation } from '@tanstack/react-query';
3
- import { SBApiKeys } from '../SBApiKeys.mjs';
4
-
5
- /**
6
- * Hook to fetch a list of invoices using infinite query
7
- * @param request - The pagination request parameters
8
- * @param options - Optional request options
9
- * @param config - Optional Axios request configuration
10
- * @returns An infinite query result containing paginated invoices data
11
- */
12
- function useListInvoicesInfiniteQuery(request = {
13
- page: 0,
14
- pageSize: 25
15
- }, options, config) {
16
- const client = useApiClient();
17
- useQueryClient();
18
- return useInfiniteQuery({
19
- initialPageParam: request.page || 0,
20
- queryKey: [SBApiKeys.Invoices, request, options],
21
- queryFn: async ({
22
- pageParam = 0
23
- }) => {
24
- return await client.invoices.listAsync({
25
- ...request,
26
- page: pageParam
27
- }, options, config);
28
- },
29
- getNextPageParam: lastPage => {
30
- if (lastPage.pagination.currentPage < lastPage.pagination.pageCount - 1) {
31
- return lastPage.pagination.currentPage + 1;
32
- }
33
- return undefined;
34
- }
35
- });
36
- }
37
- /**
38
- * Hook to fetch a list of invoices
39
- * @param request - The pagination request parameters
40
- * @param options - Optional request options
41
- * @param config - Optional Axios request configuration
42
- * @returns A query result containing paginated invoices data
43
- */
44
- function useListInvoicesQuery(request = {
45
- page: 0,
46
- pageSize: 25
47
- }, options, config) {
48
- const client = useApiClient();
49
- useQueryClient();
50
- return useQuery({
51
- queryKey: [SBApiKeys.Invoices, request],
52
- queryFn: async () => {
53
- return await client.invoices.listAsync(request, options, config);
54
- }
55
- });
56
- }
57
- /**
58
- * Hook to fetch a specific invoice by ID
59
- * @param invoiceId - The ID of the invoice to retrieve
60
- * @param options - Optional request options
61
- * @param config - Optional Axios request configuration
62
- * @returns A query result containing the invoice data
63
- */
64
- function useGetInvoiceByIdQuery(invoiceId, options, config) {
65
- const client = useApiClient();
66
- useQueryClient();
67
- return useQuery({
68
- queryKey: [SBApiKeys.Invoices, invoiceId, options],
69
- queryFn: async () => {
70
- return await client.invoices.getByIdAsync(invoiceId, options, config);
71
- }
72
- });
73
- }
74
- /**
75
- * Hook to create a new invoice
76
- * @param mutationOptions - Optional mutation configuration
77
- * @returns A mutation result for creating an invoice
78
- */
79
- function useCreateInvoiceMutation(mutationOptions) {
80
- const client = useApiClient();
81
- const queryClient = useQueryClient();
82
- return useMutation({
83
- mutationFn: async ({
84
- data,
85
- options,
86
- config
87
- }) => {
88
- return await client.invoices.createAsync(data, options, config);
89
- },
90
- onSuccess: (data, variables, context) => {
91
- queryClient.invalidateQueries({
92
- queryKey: [SBApiKeys.Invoices]
93
- });
94
- if (mutationOptions?.onSuccess) {
95
- mutationOptions.onSuccess(data, variables, context);
96
- }
97
- },
98
- ...mutationOptions
99
- });
100
- }
101
- /**
102
- * Hook to update an existing invoice
103
- * @param mutationOptions - Optional mutation configuration
104
- * @returns A mutation result for updating an invoice
105
- */
106
- function useUpdateInvoiceMutation(mutationOptions) {
107
- const client = useApiClient();
108
- const queryClient = useQueryClient();
109
- return useMutation({
110
- mutationFn: async ({
111
- invoiceId,
112
- data,
113
- options,
114
- config
115
- }) => {
116
- return await client.invoices.updateAsync(invoiceId, data, options, config);
117
- },
118
- onSuccess: (data, variables, context) => {
119
- queryClient.invalidateQueries({
120
- queryKey: [SBApiKeys.Invoices]
121
- });
122
- queryClient.invalidateQueries({
123
- queryKey: [SBApiKeys.Invoices, variables.invoiceId]
124
- });
125
- if (mutationOptions?.onSuccess) {
126
- mutationOptions.onSuccess(data, variables, context);
127
- }
128
- },
129
- ...mutationOptions
130
- });
131
- }
132
- /**
133
- * Hook to delete an invoice
134
- * @param mutationOptions - Optional mutation configuration
135
- * @returns A mutation result for deleting an invoice
136
- */
137
- function useDeleteInvoiceMutation(mutationOptions) {
138
- const client = useApiClient();
139
- const queryClient = useQueryClient();
140
- return useMutation({
141
- mutationFn: async ({
142
- invoiceId,
143
- options,
144
- config
145
- }) => {
146
- return await client.invoices.deleteAsync(invoiceId, options, config);
147
- },
148
- onSuccess: (data, variables, context) => {
149
- queryClient.invalidateQueries({
150
- queryKey: [SBApiKeys.Invoices]
151
- });
152
- if (mutationOptions?.onSuccess) {
153
- mutationOptions.onSuccess(data, variables, context);
154
- }
155
- },
156
- ...mutationOptions
157
- });
158
- }
159
-
160
- export { useCreateInvoiceMutation, useDeleteInvoiceMutation, useGetInvoiceByIdQuery, useListInvoicesInfiniteQuery, useListInvoicesQuery, useUpdateInvoiceMutation };
161
- //# sourceMappingURL=InvoicesAPI.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InvoicesAPI.mjs","sources":["../../../../src/apis/invoices/InvoicesAPI.tsx"],"sourcesContent":["import {\n\tSBRequestOptions,\n\tSBApiException,\n\tSBInvoice,\n\tSBList,\n\tInvoiceUpdateRequest,\n\tInvoiceCreateRequest,\n} from \"@smartbills/sdk\";\nimport { useApiClient } from \"@/context\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport {\n\tQueryKey,\n\tuseInfiniteQuery,\n\tuseMutation,\n\tuseQuery,\n\tInfiniteData,\n\tUseMutationOptions,\n} from \"@tanstack/react-query\";\nimport { SBApiKeys } from \"@/apis/SBApiKeys\";\nimport { AxiosRequestConfig } from \"axios\";\n\n/**\n * Type for invoice list request\n */\nexport interface InvoiceListRequest {\n\t/** Page number (0-indexed) */\n\tpage?: number;\n\t/** Number of items per page */\n\tpageSize?: number;\n\t/** Search term for filtering invoices */\n\tsearch?: string;\n}\n\n/**\n * Hook to fetch a list of invoices using infinite query\n * @param request - The pagination request parameters\n * @param options - Optional request options\n * @param config - Optional Axios request configuration\n * @returns An infinite query result containing paginated invoices data\n */\nexport function useListInvoicesInfiniteQuery(\n\trequest: InvoiceListRequest = { page: 0, pageSize: 25 },\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\n\treturn useInfiniteQuery<\n\t\tSBList<SBInvoice>,\n\t\tSBApiException,\n\t\tInfiniteData<SBList<SBInvoice>>,\n\t\tQueryKey,\n\t\tnumber\n\t>({\n\t\tinitialPageParam: request.page || 0,\n\t\tqueryKey: [SBApiKeys.Invoices, request, options],\n\t\tqueryFn: async ({ pageParam = 0 }) => {\n\t\t\treturn await client.invoices.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 <\n\t\t\t\tlastPage.pagination.pageCount - 1\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 to fetch a list of invoices\n * @param request - The pagination request parameters\n * @param options - Optional request options\n * @param config - Optional Axios request configuration\n * @returns A query result containing paginated invoices data\n */\nexport function useListInvoicesQuery(\n\trequest: InvoiceListRequest = { page: 0, pageSize: 25 },\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\n\treturn useQuery<SBList<SBInvoice>, SBApiException>({\n\t\tqueryKey: [SBApiKeys.Invoices, request],\n\t\tqueryFn: async () => {\n\t\t\treturn await client.invoices.listAsync(request, options, config);\n\t\t},\n\t});\n}\n\n/**\n * Hook to fetch a specific invoice by ID\n * @param invoiceId - The ID of the invoice to retrieve\n * @param options - Optional request options\n * @param config - Optional Axios request configuration\n * @returns A query result containing the invoice data\n */\nexport function useGetInvoiceByIdQuery(\n\tinvoiceId: number,\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\n\treturn useQuery<SBInvoice, SBApiException>({\n\t\tqueryKey: [SBApiKeys.Invoices, invoiceId, options],\n\t\tqueryFn: async () => {\n\t\t\treturn await client.invoices.getByIdAsync(\n\t\t\t\tinvoiceId,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t});\n}\n\n/**\n * Hook to create a new invoice\n * @param mutationOptions - Optional mutation configuration\n * @returns A mutation result for creating an invoice\n */\nexport function useCreateInvoiceMutation(\n\tmutationOptions?: Omit<\n\t\tUseMutationOptions<\n\t\t\tSBInvoice,\n\t\t\tSBApiException,\n\t\t\t{\n\t\t\t\tdata: InvoiceCreateRequest;\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 client = useApiClient();\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation<\n\t\tSBInvoice,\n\t\tSBApiException,\n\t\t{\n\t\t\tdata: InvoiceCreateRequest;\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 await client.invoices.createAsync(data, options, config);\n\t\t},\n\t\tonSuccess: (data, variables, context) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Invoices],\n\t\t\t});\n\t\t\tif (mutationOptions?.onSuccess) {\n\t\t\t\tmutationOptions.onSuccess(data, variables, context);\n\t\t\t}\n\t\t},\n\t\t...mutationOptions,\n\t});\n}\n\n/**\n * Hook to update an existing invoice\n * @param mutationOptions - Optional mutation configuration\n * @returns A mutation result for updating an invoice\n */\nexport function useUpdateInvoiceMutation(\n\tmutationOptions?: Omit<\n\t\tUseMutationOptions<\n\t\t\tSBInvoice,\n\t\t\tSBApiException,\n\t\t\t{\n\t\t\t\tinvoiceId: number;\n\t\t\t\tdata: InvoiceUpdateRequest;\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 client = useApiClient();\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation<\n\t\tSBInvoice,\n\t\tSBApiException,\n\t\t{\n\t\t\tinvoiceId: number;\n\t\t\tdata: InvoiceUpdateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ invoiceId, data, options, config }) => {\n\t\t\treturn await client.invoices.updateAsync(\n\t\t\t\tinvoiceId,\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: (data, variables, context) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Invoices],\n\t\t\t});\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Invoices, variables.invoiceId],\n\t\t\t});\n\t\t\tif (mutationOptions?.onSuccess) {\n\t\t\t\tmutationOptions.onSuccess(data, variables, context);\n\t\t\t}\n\t\t},\n\t\t...mutationOptions,\n\t});\n}\n\n/**\n * Hook to delete an invoice\n * @param mutationOptions - Optional mutation configuration\n * @returns A mutation result for deleting an invoice\n */\nexport function useDeleteInvoiceMutation(\n\tmutationOptions?: Omit<\n\t\tUseMutationOptions<\n\t\t\tSBInvoice,\n\t\t\tSBApiException,\n\t\t\t{\n\t\t\t\tinvoiceId: 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 client = useApiClient();\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation<\n\t\tSBInvoice,\n\t\tSBApiException,\n\t\t{\n\t\t\tinvoiceId: number;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ invoiceId, options, config }) => {\n\t\t\treturn await client.invoices.deleteAsync(\n\t\t\t\tinvoiceId,\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.Invoices],\n\t\t\t});\n\t\t\tif (mutationOptions?.onSuccess) {\n\t\t\t\tmutationOptions.onSuccess(data, variables, context);\n\t\t\t}\n\t\t},\n\t\t...mutationOptions,\n\t});\n}\n"],"names":["useListInvoicesInfiniteQuery","request","page","pageSize","options","config","client","useApiClient","useQueryClient","useInfiniteQuery","initialPageParam","queryKey","SBApiKeys","Invoices","queryFn","pageParam","invoices","listAsync","getNextPageParam","lastPage","pagination","currentPage","pageCount","undefined","useListInvoicesQuery","useQuery","useGetInvoiceByIdQuery","invoiceId","getByIdAsync","useCreateInvoiceMutation","mutationOptions","queryClient","useMutation","mutationFn","data","createAsync","onSuccess","variables","context","invalidateQueries","useUpdateInvoiceMutation","updateAsync","useDeleteInvoiceMutation","deleteAsync"],"mappings":"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"}