@smartbills/react-hooks-sdk 0.0.2-alpha.46 → 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 -223
  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 -1447
  9. package/dist/@types/index.d.ts.map +0 -1
  10. package/dist/cjs/apis/SBApiKeys.cjs +0 -56
  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 -237
  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 -215
  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 -56
  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 -228
  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 -204
  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 -5099
  163. package/dist/umd/index.js.map +0 -1
@@ -1,133 +0,0 @@
1
- import { useApiClient, useBusinessId } from '../../../context/ApiContext.mjs';
2
- import { useQueryClient, useInfiniteQuery, useQuery, useMutation } from '@tanstack/react-query';
3
- import { SBApiKeys } from '../../SBApiKeys.mjs';
4
-
5
- const useListPromoCodes = (request = {
6
- page: 1,
7
- pageSize: 25
8
- }, options, config) => {
9
- const client = useApiClient();
10
- useQueryClient();
11
- const businessId = useBusinessId();
12
- if (!businessId) {
13
- throw new Error("businessId is required for promo code operations");
14
- }
15
- return useInfiniteQuery({
16
- initialPageParam: request.page || 1,
17
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.PromoCodes, request, options],
18
- queryFn: async ({
19
- pageParam = 1
20
- }) => {
21
- return await client.businesses.promoCodes.listAsync(businessId, {
22
- ...request,
23
- page: pageParam
24
- }, options, config);
25
- },
26
- getNextPageParam: lastPage => {
27
- if (lastPage.pagination && lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
28
- return lastPage.pagination.currentPage + 1;
29
- }
30
- return undefined;
31
- },
32
- enabled: !!businessId
33
- });
34
- };
35
- const useGetPromoCodeById = (id, options, config) => {
36
- const client = useApiClient();
37
- useQueryClient();
38
- const businessId = useBusinessId();
39
- if (!businessId) {
40
- throw new Error("businessId is required for promo code operations");
41
- }
42
- return useQuery({
43
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.PromoCodes, id, options],
44
- queryFn: async () => await client.businesses.promoCodes.getByIdAsync(businessId, id, options, config),
45
- enabled: !!businessId
46
- });
47
- };
48
- const useCreatePromoCodeMutation = () => {
49
- const client = useApiClient();
50
- const queryClient = useQueryClient();
51
- const businessId = useBusinessId();
52
- return useMutation({
53
- mutationFn: async ({
54
- request,
55
- options,
56
- config
57
- }) => {
58
- if (!businessId) {
59
- throw new Error("businessId is required for promo code operations");
60
- }
61
- return await client.businesses.promoCodes.createAsync(businessId, request, options, config);
62
- },
63
- onSuccess: () => {
64
- if (businessId) {
65
- queryClient.invalidateQueries({
66
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.PromoCodes]
67
- });
68
- }
69
- }
70
- });
71
- };
72
- const useUpdatePromoCodeMutation = () => {
73
- const client = useApiClient();
74
- const queryClient = useQueryClient();
75
- const businessId = useBusinessId();
76
- return useMutation({
77
- mutationFn: async ({
78
- id,
79
- request,
80
- options,
81
- config
82
- }) => {
83
- if (!businessId) {
84
- throw new Error("businessId is required for promo code operations");
85
- }
86
- return await client.businesses.promoCodes.updateAsync(businessId, id, request, options, config);
87
- },
88
- onSuccess: (_, {
89
- id
90
- }) => {
91
- if (businessId) {
92
- queryClient.invalidateQueries({
93
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.PromoCodes]
94
- });
95
- queryClient.invalidateQueries({
96
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.PromoCodes, id]
97
- });
98
- }
99
- }
100
- });
101
- };
102
- const useDeletePromoCodeMutation = () => {
103
- const client = useApiClient();
104
- const queryClient = useQueryClient();
105
- const businessId = useBusinessId();
106
- return useMutation({
107
- mutationFn: async ({
108
- id,
109
- options,
110
- config
111
- }) => {
112
- if (!businessId) {
113
- throw new Error("businessId is required for promo code operations");
114
- }
115
- await client.businesses.promoCodes.deleteAsync(businessId, id, options, config);
116
- },
117
- onSuccess: (_, {
118
- id
119
- }) => {
120
- if (businessId) {
121
- queryClient.invalidateQueries({
122
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.PromoCodes]
123
- });
124
- queryClient.invalidateQueries({
125
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.PromoCodes, id]
126
- });
127
- }
128
- }
129
- });
130
- };
131
-
132
- export { useCreatePromoCodeMutation, useDeletePromoCodeMutation, useGetPromoCodeById, useListPromoCodes, useUpdatePromoCodeMutation };
133
- //# sourceMappingURL=PromoCodesAPI.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PromoCodesAPI.mjs","sources":["../../../../../src/apis/business/promo-codes/PromoCodesAPI.tsx"],"sourcesContent":["import {\n\tPromoCodeCreateRequest,\n\tPromoCodeListRequest,\n\tPromoCodeUpdateRequest,\n\tSBPromoCode,\n\tSBRequestOptions,\n\tSBApiException,\n\tSBList,\n} from \"@smartbills/sdk\";\nimport { useApiClient } from \"@/context\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport {\n\tQueryKey,\n\tuseInfiniteQuery,\n\tuseMutation,\n\tuseQuery,\n} from \"@tanstack/react-query\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { SBApiKeys } from \"../../SBApiKeys\";\nimport { useBusinessId } from \"@/context\";\n\nexport const useListPromoCodes = (\n\trequest: PromoCodeListRequest = { page: 1, pageSize: 25 },\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig<PromoCodeListRequest>,\n) => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\tif (!businessId) {\n\t\tthrow new Error(\"businessId is required for promo code operations\");\n\t}\n\n\treturn useInfiniteQuery<\n\t\tSBList<SBPromoCode>,\n\t\tSBApiException,\n\t\tSBList<SBPromoCode>,\n\t\tQueryKey,\n\t\tnumber\n\t>({\n\t\tinitialPageParam: request.page || 1,\n\t\tqueryKey: [\n\t\t\tSBApiKeys.Businesses,\n\t\t\tbusinessId,\n\t\t\tSBApiKeys.PromoCodes,\n\t\t\trequest,\n\t\t\toptions,\n\t\t],\n\t\tqueryFn: async ({ pageParam = 1 }) => {\n\t\t\treturn await client.businesses.promoCodes.listAsync(\n\t\t\t\tbusinessId,\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 &&\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\tenabled: !!businessId,\n\t});\n};\n\nexport const useGetPromoCodeById = (\n\tid: number,\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\tif (!businessId) {\n\t\tthrow new Error(\"businessId is required for promo code operations\");\n\t}\n\n\treturn useQuery<SBPromoCode, SBApiException>({\n\t\tqueryKey: [\n\t\t\tSBApiKeys.Businesses,\n\t\t\tbusinessId,\n\t\t\tSBApiKeys.PromoCodes,\n\t\t\tid,\n\t\t\toptions,\n\t\t],\n\t\tqueryFn: async () =>\n\t\t\tawait client.businesses.promoCodes.getByIdAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tid,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t),\n\t\tenabled: !!businessId,\n\t});\n};\n\nexport const useCreatePromoCodeMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tSBPromoCode,\n\t\tSBApiException,\n\t\t{\n\t\t\trequest: PromoCodeCreateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig<PromoCodeCreateRequest>;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ request, options, config }) => {\n\t\t\tif (!businessId) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"businessId is required for promo code operations\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn await client.businesses.promoCodes.createAsync(\n\t\t\t\tbusinessId,\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: () => {\n\t\t\tif (businessId) {\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: [\n\t\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\t\tbusinessId,\n\t\t\t\t\t\tSBApiKeys.PromoCodes,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n};\n\nexport const useUpdatePromoCodeMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tSBPromoCode,\n\t\tSBApiException,\n\t\t{\n\t\t\tid: number;\n\t\t\trequest: PromoCodeUpdateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig<PromoCodeUpdateRequest>;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ id, request, options, config }) => {\n\t\t\tif (!businessId) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"businessId is required for promo code operations\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn await client.businesses.promoCodes.updateAsync(\n\t\t\t\tbusinessId,\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: (_, { id }) => {\n\t\t\tif (businessId) {\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: [\n\t\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\t\tbusinessId,\n\t\t\t\t\t\tSBApiKeys.PromoCodes,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: [\n\t\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\t\tbusinessId,\n\t\t\t\t\t\tSBApiKeys.PromoCodes,\n\t\t\t\t\t\tid,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n};\n\nexport const useDeletePromoCodeMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\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\tif (!businessId) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"businessId is required for promo code operations\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tawait client.businesses.promoCodes.deleteAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tid,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (_, { id }) => {\n\t\t\tif (businessId) {\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: [\n\t\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\t\tbusinessId,\n\t\t\t\t\t\tSBApiKeys.PromoCodes,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: [\n\t\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\t\tbusinessId,\n\t\t\t\t\t\tSBApiKeys.PromoCodes,\n\t\t\t\t\t\tid,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n};\n"],"names":["useListPromoCodes","request","page","pageSize","options","config","client","useApiClient","useQueryClient","businessId","useBusinessId","Error","useInfiniteQuery","initialPageParam","queryKey","SBApiKeys","Businesses","PromoCodes","queryFn","pageParam","businesses","promoCodes","listAsync","getNextPageParam","lastPage","pagination","currentPage","pageCount","undefined","enabled","useGetPromoCodeById","id","useQuery","getByIdAsync","useCreatePromoCodeMutation","queryClient","useMutation","mutationFn","createAsync","onSuccess","invalidateQueries","useUpdatePromoCodeMutation","updateAsync","_","useDeletePromoCodeMutation","deleteAsync"],"mappings":"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"}
@@ -1,137 +0,0 @@
1
- import { useQueryClient, useInfiniteQuery, useQuery, useMutation } from '@tanstack/react-query';
2
- import { useApiClient, useBusinessId } from '../../../context/ApiContext.mjs';
3
- import { SBApiKeys } from '../../SBApiKeys.mjs';
4
-
5
- /**
6
- * Hook for listing reviews with infinite pagination
7
- * @param request - Request parameters for listing reviews
8
- * @param options - Optional request options
9
- * @param config - Optional Axios request configuration
10
- * @returns Infinite query result for implementing infinite scrolling with reviews data
11
- */
12
- const useListReviewsInfiniteQuery = (request = {
13
- page: 1,
14
- pageSize: 25
15
- }, options, config) => {
16
- const client = useApiClient();
17
- useQueryClient();
18
- const businessId = useBusinessId();
19
- return useInfiniteQuery({
20
- initialPageParam: request.page || 1,
21
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.BusinessReviews, request, options],
22
- queryFn: async ({
23
- pageParam = 1
24
- }) => {
25
- const paginatedRequest = {
26
- ...request,
27
- page: pageParam
28
- };
29
- return await client.businesses.reviews.listAsync(businessId, paginatedRequest, options, config);
30
- },
31
- getNextPageParam: lastPage => {
32
- if (lastPage.pagination && lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
33
- return lastPage.pagination.currentPage + 1;
34
- }
35
- return undefined;
36
- }
37
- });
38
- };
39
- /**
40
- * Hook for retrieving a review by ID
41
- * @param id - The ID of the review to retrieve
42
- * @param options - Optional request options
43
- * @param config - Optional Axios request configuration
44
- * @returns Query result containing the review data
45
- */
46
- const useGetReviewByIdQuery = (id, options, config) => {
47
- const client = useApiClient();
48
- useQueryClient();
49
- const businessId = useBusinessId();
50
- return useQuery({
51
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.BusinessReviews, id, options],
52
- queryFn: async () => await client.businesses.reviews.getByIdAsync(businessId, id, options, config)
53
- });
54
- };
55
- /**
56
- * Hook for creating a new review
57
- * @returns Mutation function for creating reviews
58
- */
59
- const useCreateReviewMutation = () => {
60
- const client = useApiClient();
61
- const queryClient = useQueryClient();
62
- const businessId = useBusinessId();
63
- return useMutation({
64
- mutationFn: async ({
65
- data,
66
- options,
67
- config
68
- }) => {
69
- return await client.businesses.reviews.createAsync(businessId, data, options, config);
70
- },
71
- onSuccess: () => {
72
- queryClient.invalidateQueries({
73
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.BusinessReviews]
74
- });
75
- }
76
- });
77
- };
78
- /**
79
- * Hook for updating an existing review
80
- * @returns Mutation function for updating reviews
81
- */
82
- const useUpdateReviewMutation = () => {
83
- const client = useApiClient();
84
- const queryClient = useQueryClient();
85
- const businessId = useBusinessId();
86
- return useMutation({
87
- mutationFn: async ({
88
- id,
89
- data,
90
- options,
91
- config
92
- }) => {
93
- return await client.businesses.reviews.updateAsync(businessId, id, data, options, config);
94
- },
95
- onSuccess: (_, {
96
- id
97
- }) => {
98
- queryClient.invalidateQueries({
99
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.BusinessReviews]
100
- });
101
- queryClient.invalidateQueries({
102
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.BusinessReviews, id]
103
- });
104
- }
105
- });
106
- };
107
- /**
108
- * Hook for deleting a review
109
- * @returns Mutation function for deleting reviews
110
- */
111
- const useDeleteReviewMutation = () => {
112
- const client = useApiClient();
113
- const queryClient = useQueryClient();
114
- const businessId = useBusinessId();
115
- return useMutation({
116
- mutationFn: async ({
117
- id,
118
- options,
119
- config
120
- }) => {
121
- await client.businesses.reviews.deleteAsync(businessId, id, options, config);
122
- },
123
- onSuccess: (_, {
124
- id
125
- }) => {
126
- queryClient.invalidateQueries({
127
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.BusinessReviews]
128
- });
129
- queryClient.removeQueries({
130
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.BusinessReviews, id]
131
- });
132
- }
133
- });
134
- };
135
-
136
- export { useCreateReviewMutation, useDeleteReviewMutation, useGetReviewByIdQuery, useListReviewsInfiniteQuery, useUpdateReviewMutation };
137
- //# sourceMappingURL=ReviewsAPI.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReviewsAPI.mjs","sources":["../../../../../src/apis/business/reviews/ReviewsAPI.tsx"],"sourcesContent":["import {\n\tSBList,\n\tBusinessReviewCreateRequest,\n\tBusinessReviewUpdateRequest,\n\tSBBusinessReview,\n\tSBApiException,\n\tSBRequestOptions,\n} from \"@smartbills/sdk\";\nimport {\n\tInfiniteData,\n\tQueryKey,\n\tuseInfiniteQuery,\n\tuseMutation,\n\tuseQuery,\n} from \"@tanstack/react-query\";\nimport { useApiClient } from \"@/context\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { SBApiKeys } from \"@/apis/SBApiKeys\";\nimport { useBusinessId } from \"@/context\";\n\n/**\n * Hook for listing reviews with infinite pagination\n * @param request - Request parameters for listing reviews\n * @param options - Optional request options\n * @param config - Optional Axios request configuration\n * @returns Infinite query result for implementing infinite scrolling with reviews data\n */\nexport const useListReviewsInfiniteQuery = (\n\trequest: { page?: number; pageSize?: number } = { page: 1, pageSize: 25 },\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\treturn useInfiniteQuery<\n\t\tSBList<SBBusinessReview>,\n\t\tSBApiException,\n\t\tInfiniteData<SBList<SBBusinessReview>>,\n\t\tQueryKey,\n\t\tnumber\n\t>({\n\t\tinitialPageParam: request.page || 1,\n\t\tqueryKey: [\n\t\t\tSBApiKeys.Businesses,\n\t\t\tbusinessId,\n\t\t\tSBApiKeys.BusinessReviews,\n\t\t\trequest,\n\t\t\toptions,\n\t\t],\n\t\tqueryFn: async ({ pageParam = 1 }) => {\n\t\t\tconst paginatedRequest = { ...request, page: pageParam };\n\t\t\treturn await client.businesses.reviews.listAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tpaginatedRequest,\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 &&\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 retrieving a review by ID\n * @param id - The ID of the review to retrieve\n * @param options - Optional request options\n * @param config - Optional Axios request configuration\n * @returns Query result containing the review data\n */\nexport const useGetReviewByIdQuery = (\n\tid: number,\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\treturn useQuery<SBBusinessReview, SBApiException>({\n\t\tqueryKey: [\n\t\t\tSBApiKeys.Businesses,\n\t\t\tbusinessId,\n\t\t\tSBApiKeys.BusinessReviews,\n\t\t\tid,\n\t\t\toptions,\n\t\t],\n\t\tqueryFn: async () =>\n\t\t\tawait client.businesses.reviews.getByIdAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tid,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t),\n\t});\n};\n\n/**\n * Hook for creating a new review\n * @returns Mutation function for creating reviews\n */\nexport const useCreateReviewMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\treturn useMutation<\n\t\tSBBusinessReview,\n\t\tSBApiException,\n\t\t{\n\t\t\tdata: BusinessReviewCreateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig<BusinessReviewCreateRequest>;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ data, options, config }) => {\n\t\t\treturn await client.businesses.reviews.createAsync(\n\t\t\t\tbusinessId,\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: [\n\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\tbusinessId,\n\t\t\t\t\tSBApiKeys.BusinessReviews,\n\t\t\t\t],\n\t\t\t});\n\t\t},\n\t});\n};\n\n/**\n * Hook for updating an existing review\n * @returns Mutation function for updating reviews\n */\nexport const useUpdateReviewMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\treturn useMutation<\n\t\tSBBusinessReview,\n\t\tSBApiException,\n\t\t{\n\t\t\tid: number;\n\t\t\tdata: BusinessReviewUpdateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig<BusinessReviewUpdateRequest>;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ id, data, options, config }) => {\n\t\t\treturn await client.businesses.reviews.updateAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tid,\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: (_, { id }) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [\n\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\tbusinessId,\n\t\t\t\t\tSBApiKeys.BusinessReviews,\n\t\t\t\t],\n\t\t\t});\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [\n\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\tbusinessId,\n\t\t\t\t\tSBApiKeys.BusinessReviews,\n\t\t\t\t\tid,\n\t\t\t\t],\n\t\t\t});\n\t\t},\n\t});\n};\n\n/**\n * Hook for deleting a review\n * @returns Mutation function for deleting reviews\n */\nexport const useDeleteReviewMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\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.businesses.reviews.deleteAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tid,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (_, { id }) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [\n\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\tbusinessId,\n\t\t\t\t\tSBApiKeys.BusinessReviews,\n\t\t\t\t],\n\t\t\t});\n\t\t\tqueryClient.removeQueries({\n\t\t\t\tqueryKey: [\n\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\tbusinessId,\n\t\t\t\t\tSBApiKeys.BusinessReviews,\n\t\t\t\t\tid,\n\t\t\t\t],\n\t\t\t});\n\t\t},\n\t});\n};\n"],"names":["useListReviewsInfiniteQuery","request","page","pageSize","options","config","client","useApiClient","useQueryClient","businessId","useBusinessId","useInfiniteQuery","initialPageParam","queryKey","SBApiKeys","Businesses","BusinessReviews","queryFn","pageParam","paginatedRequest","businesses","reviews","listAsync","getNextPageParam","lastPage","pagination","currentPage","pageCount","undefined","useGetReviewByIdQuery","id","useQuery","getByIdAsync","useCreateReviewMutation","queryClient","useMutation","mutationFn","data","createAsync","onSuccess","invalidateQueries","useUpdateReviewMutation","updateAsync","_","useDeleteReviewMutation","deleteAsync","removeQueries"],"mappings":"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"}
@@ -1,70 +0,0 @@
1
- import { useApiClient, useBusinessId } from '../../../context/ApiContext.mjs';
2
- import { useQuery, useQueryClient, useMutation } from '@tanstack/react-query';
3
- import { SBApiKeys } from '../../SBApiKeys.mjs';
4
-
5
- function useTablesQuery() {
6
- const client = useApiClient();
7
- const businessId = useBusinessId();
8
- return useQuery({
9
- queryKey: [SBApiKeys.Tables, businessId],
10
- queryFn: async () => {
11
- return await client.tables.getAllAsync(businessId);
12
- },
13
- enabled: !!businessId
14
- });
15
- }
16
- function useTableByIdQuery(tableId) {
17
- const client = useApiClient();
18
- const businessId = useBusinessId();
19
- return useQuery({
20
- queryKey: [SBApiKeys.Tables, businessId, tableId],
21
- queryFn: async () => {
22
- return await client.tables.getByIdAsync(businessId, tableId);
23
- },
24
- enabled: !!businessId && !!tableId
25
- });
26
- }
27
- function useCreateTableMutation() {
28
- const client = useApiClient();
29
- const businessId = useBusinessId();
30
- const queryClient = useQueryClient();
31
- return useMutation({
32
- mutationFn: async ({
33
- data,
34
- options,
35
- config
36
- }) => {
37
- return await client.tables.createAsync(businessId, data, options, config);
38
- },
39
- onSuccess: () => {
40
- queryClient.invalidateQueries({
41
- queryKey: [SBApiKeys.Tables, businessId]
42
- });
43
- }
44
- });
45
- }
46
- function useUpdateTableMutation(tableId) {
47
- const client = useApiClient();
48
- const businessId = useBusinessId();
49
- const queryClient = useQueryClient();
50
- return useMutation({
51
- mutationFn: async ({
52
- data,
53
- options,
54
- config
55
- }) => {
56
- return await client.tables.updateAsync(businessId, tableId, data, options, config);
57
- },
58
- onSuccess: () => {
59
- queryClient.invalidateQueries({
60
- queryKey: [SBApiKeys.Tables, businessId]
61
- });
62
- queryClient.invalidateQueries({
63
- queryKey: [SBApiKeys.Tables, businessId, tableId]
64
- });
65
- }
66
- });
67
- }
68
-
69
- export { useCreateTableMutation, useTableByIdQuery, useTablesQuery, useUpdateTableMutation };
70
- //# sourceMappingURL=TablesAPI.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TablesAPI.mjs","sources":["../../../../../src/apis/business/tables/TablesAPI.tsx"],"sourcesContent":["import {\n\tSBTable,\n\tTableCreateRequest,\n\tTableUpdateRequest,\n\tSBApiException,\n\tSBRequestOptions,\n} from \"@smartbills/sdk\";\nimport { useApiClient, useBusinessId } from \"@/context\";\nimport { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { SBApiKeys } from \"@/apis/SBApiKeys\";\n\nexport function useTablesQuery() {\n\tconst client = useApiClient();\n\tconst businessId = useBusinessId();\n\treturn useQuery<SBTable[], SBApiException>({\n\t\tqueryKey: [SBApiKeys.Tables, businessId],\n\t\tqueryFn: async () => {\n\t\t\treturn await client.tables.getAllAsync(businessId);\n\t\t},\n\t\tenabled: !!businessId,\n\t});\n}\n\nexport function useTableByIdQuery(tableId: number) {\n\tconst client = useApiClient();\n\tconst businessId = useBusinessId();\n\treturn useQuery<SBTable, SBApiException>({\n\t\tqueryKey: [SBApiKeys.Tables, businessId, tableId],\n\t\tqueryFn: async () => {\n\t\t\treturn await client.tables.getByIdAsync(businessId, tableId);\n\t\t},\n\t\tenabled: !!businessId && !!tableId,\n\t});\n}\n\nexport function useCreateTableMutation() {\n\tconst client = useApiClient();\n\tconst businessId = useBusinessId();\n\tconst queryClient = useQueryClient();\n\treturn useMutation<\n\t\tSBTable,\n\t\tSBApiException,\n\t\t{\n\t\t\tdata: TableCreateRequest;\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.tables.createAsync(\n\t\t\t\tbusinessId,\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.Tables, businessId],\n\t\t\t});\n\t\t},\n\t});\n}\n\nexport function useUpdateTableMutation(tableId: number) {\n\tconst client = useApiClient();\n\tconst businessId = useBusinessId();\n\tconst queryClient = useQueryClient();\n\treturn useMutation<\n\t\tSBTable,\n\t\tSBApiException,\n\t\t{\n\t\t\tdata: TableUpdateRequest;\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.tables.updateAsync(\n\t\t\t\tbusinessId,\n\t\t\t\ttableId,\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.Tables, businessId],\n\t\t\t});\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Tables, businessId, tableId],\n\t\t\t});\n\t\t},\n\t});\n}\n"],"names":["useTablesQuery","client","useApiClient","businessId","useBusinessId","useQuery","queryKey","SBApiKeys","Tables","queryFn","tables","getAllAsync","enabled","useTableByIdQuery","tableId","getByIdAsync","useCreateTableMutation","queryClient","useQueryClient","useMutation","mutationFn","data","options","config","createAsync","onSuccess","invalidateQueries","useUpdateTableMutation","updateAsync"],"mappings":";;;;SAYgBA,cAAcA,GAAA;AAC7B,EAAA,MAAMC,MAAM,GAAGC,YAAY,EAAE;AAC7B,EAAA,MAAMC,UAAU,GAAGC,aAAa,EAAE;AAClC,EAAA,OAAOC,QAAQ,CAA4B;AAC1CC,IAAAA,QAAQ,EAAE,CAACC,SAAS,CAACC,MAAM,EAAEL,UAAU,CAAC;IACxCM,OAAO,EAAE,YAAW;MACnB,OAAO,MAAMR,MAAM,CAACS,MAAM,CAACC,WAAW,CAACR,UAAU,CAAC;KAClD;IACDS,OAAO,EAAE,CAAC,CAACT;AACX,GAAA,CAAC;AACH;AAEM,SAAUU,iBAAiBA,CAACC,OAAe,EAAA;AAChD,EAAA,MAAMb,MAAM,GAAGC,YAAY,EAAE;AAC7B,EAAA,MAAMC,UAAU,GAAGC,aAAa,EAAE;AAClC,EAAA,OAAOC,QAAQ,CAA0B;IACxCC,QAAQ,EAAE,CAACC,SAAS,CAACC,MAAM,EAAEL,UAAU,EAAEW,OAAO,CAAC;IACjDL,OAAO,EAAE,YAAW;MACnB,OAAO,MAAMR,MAAM,CAACS,MAAM,CAACK,YAAY,CAACZ,UAAU,EAAEW,OAAO,CAAC;KAC5D;AACDF,IAAAA,OAAO,EAAE,CAAC,CAACT,UAAU,IAAI,CAAC,CAACW;AAC3B,GAAA,CAAC;AACH;SAEgBE,sBAAsBA,GAAA;AACrC,EAAA,MAAMf,MAAM,GAAGC,YAAY,EAAE;AAC7B,EAAA,MAAMC,UAAU,GAAGC,aAAa,EAAE;AAClC,EAAA,MAAMa,WAAW,GAAGC,cAAc,EAAE;AACpC,EAAA,OAAOC,WAAW,CAQhB;IACDC,UAAU,EAAE,OAAO;MAAEC,IAAI;MAAEC,OAAO;AAAEC,MAAAA;AAAQ,KAAA,KAAI;AAC/C,MAAA,OAAO,MAAMtB,MAAM,CAACS,MAAM,CAACc,WAAW,CACrCrB,UAAU,EACVkB,IAAI,EACJC,OAAO,EACPC,MAAM,CACN;KACD;IACDE,SAAS,EAAEA,MAAK;MACfR,WAAW,CAACS,iBAAiB,CAAC;AAC7BpB,QAAAA,QAAQ,EAAE,CAACC,SAAS,CAACC,MAAM,EAAEL,UAAU;AACvC,OAAA,CAAC;AACH;AACA,GAAA,CAAC;AACH;AAEM,SAAUwB,sBAAsBA,CAACb,OAAe,EAAA;AACrD,EAAA,MAAMb,MAAM,GAAGC,YAAY,EAAE;AAC7B,EAAA,MAAMC,UAAU,GAAGC,aAAa,EAAE;AAClC,EAAA,MAAMa,WAAW,GAAGC,cAAc,EAAE;AACpC,EAAA,OAAOC,WAAW,CAQhB;IACDC,UAAU,EAAE,OAAO;MAAEC,IAAI;MAAEC,OAAO;AAAEC,MAAAA;AAAQ,KAAA,KAAI;AAC/C,MAAA,OAAO,MAAMtB,MAAM,CAACS,MAAM,CAACkB,WAAW,CACrCzB,UAAU,EACVW,OAAO,EACPO,IAAI,EACJC,OAAO,EACPC,MAAM,CACN;KACD;IACDE,SAAS,EAAEA,MAAK;MACfR,WAAW,CAACS,iBAAiB,CAAC;AAC7BpB,QAAAA,QAAQ,EAAE,CAACC,SAAS,CAACC,MAAM,EAAEL,UAAU;AACvC,OAAA,CAAC;MACFc,WAAW,CAACS,iBAAiB,CAAC;QAC7BpB,QAAQ,EAAE,CAACC,SAAS,CAACC,MAAM,EAAEL,UAAU,EAAEW,OAAO;AAChD,OAAA,CAAC;AACH;AACA,GAAA,CAAC;AACH;;;;"}
@@ -1,134 +0,0 @@
1
- import { useApiClient, useBusinessId } from '../../../context/ApiContext.mjs';
2
- import { useInfiniteQuery, useQuery, useQueryClient, useMutation } from '@tanstack/react-query';
3
- import { SBApiKeys } from '../../SBApiKeys.mjs';
4
-
5
- const useListTaxesInfiniteQuery = (request = {
6
- page: 1,
7
- pageSize: 25
8
- }, options, config) => {
9
- const client = useApiClient();
10
- const businessId = useBusinessId();
11
- if (!businessId) {
12
- throw new Error("businessId is required for tax operations");
13
- }
14
- return useInfiniteQuery({
15
- initialPageParam: request.page || 1,
16
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Taxes, request, options],
17
- queryFn: async ({
18
- pageParam = 1
19
- }) => {
20
- const paginatedRequest = {
21
- ...request,
22
- page: pageParam
23
- };
24
- return await client.businesses.taxes.listAsync(businessId, paginatedRequest, options, config);
25
- },
26
- getNextPageParam: lastPage => {
27
- if (lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
28
- return lastPage.pagination.currentPage + 1;
29
- }
30
- return undefined;
31
- },
32
- enabled: !!businessId
33
- });
34
- };
35
- const useGetTaxByIdQuery = (id, options, config) => {
36
- const client = useApiClient();
37
- const businessId = useBusinessId();
38
- if (!businessId) {
39
- throw new Error("businessId is required for tax operations");
40
- }
41
- return useQuery({
42
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Taxes, id, options],
43
- queryFn: async () => {
44
- return await client.businesses.taxes.getByIdAsync(businessId, id, options, config);
45
- },
46
- enabled: !!businessId
47
- });
48
- };
49
- const useCreateTaxMutation = () => {
50
- const client = useApiClient();
51
- const queryClient = useQueryClient();
52
- const businessId = useBusinessId();
53
- return useMutation({
54
- mutationFn: async ({
55
- request,
56
- options,
57
- config
58
- }) => {
59
- if (!businessId) {
60
- throw new Error("businessId is required for tax operations");
61
- }
62
- return await client.businesses.taxes.createAsync(businessId, request, options, config);
63
- },
64
- onSuccess: () => {
65
- if (businessId) {
66
- queryClient.invalidateQueries({
67
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Taxes]
68
- });
69
- }
70
- }
71
- });
72
- };
73
- const useUpdateTaxMutation = () => {
74
- const client = useApiClient();
75
- const queryClient = useQueryClient();
76
- const businessId = useBusinessId();
77
- return useMutation({
78
- mutationFn: async ({
79
- id,
80
- request,
81
- options,
82
- config
83
- }) => {
84
- if (!businessId) {
85
- throw new Error("businessId is required for tax operations");
86
- }
87
- return await client.businesses.taxes.updateAsync(businessId, id, request, options, config);
88
- },
89
- onSuccess: (_, {
90
- id
91
- }) => {
92
- if (businessId) {
93
- queryClient.invalidateQueries({
94
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Taxes]
95
- });
96
- queryClient.invalidateQueries({
97
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Taxes, id]
98
- });
99
- }
100
- }
101
- });
102
- };
103
- const useDeleteTaxMutation = () => {
104
- const client = useApiClient();
105
- const queryClient = useQueryClient();
106
- const businessId = useBusinessId();
107
- return useMutation({
108
- mutationFn: async ({
109
- id,
110
- options,
111
- config
112
- }) => {
113
- if (!businessId) {
114
- throw new Error("businessId is required for tax operations");
115
- }
116
- await client.businesses.taxes.deleteAsync(businessId, id, options, config);
117
- },
118
- onSuccess: (_, {
119
- id
120
- }) => {
121
- if (businessId) {
122
- queryClient.invalidateQueries({
123
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Taxes]
124
- });
125
- queryClient.invalidateQueries({
126
- queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Taxes, id]
127
- });
128
- }
129
- }
130
- });
131
- };
132
-
133
- export { useCreateTaxMutation, useDeleteTaxMutation, useGetTaxByIdQuery, useListTaxesInfiniteQuery, useUpdateTaxMutation };
134
- //# sourceMappingURL=TaxesAPI.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TaxesAPI.mjs","sources":["../../../../../src/apis/business/taxes/TaxesAPI.tsx"],"sourcesContent":["import {\n\tSBList,\n\tSBApiException,\n\tSBRequestOptions,\n\tSBTax,\n\tTaxCreateRequest,\n\tTaxListRequest,\n\tTaxUpdateRequest,\n} from \"@smartbills/sdk\";\nimport { useApiClient } from \"@/context\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport {\n\tQueryKey,\n\tuseInfiniteQuery,\n\tuseMutation,\n\tuseQuery,\n} from \"@tanstack/react-query\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { useBusinessId } from \"@/context\";\nimport { SBApiKeys } from \"@/apis/SBApiKeys\";\n\nexport const useListTaxesInfiniteQuery = (\n\trequest: TaxListRequest = { page: 1, pageSize: 25 },\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig<TaxListRequest>,\n) => {\n\tconst client = useApiClient();\n\tconst businessId = useBusinessId();\n\n\tif (!businessId) {\n\t\tthrow new Error(\"businessId is required for tax operations\");\n\t}\n\n\treturn useInfiniteQuery<\n\t\tSBList<SBTax>,\n\t\tSBApiException,\n\t\tSBList<SBTax>,\n\t\tQueryKey,\n\t\tnumber\n\t>({\n\t\tinitialPageParam: request.page || 1,\n\t\tqueryKey: [\n\t\t\tSBApiKeys.Businesses,\n\t\t\tbusinessId,\n\t\t\tSBApiKeys.Taxes,\n\t\t\trequest,\n\t\t\toptions,\n\t\t],\n\t\tqueryFn: async ({ pageParam = 1 }) => {\n\t\t\tconst paginatedRequest = { ...request, page: pageParam };\n\t\t\treturn await client.businesses.taxes.listAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tpaginatedRequest,\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\tenabled: !!businessId,\n\t});\n};\n\nexport const useGetTaxByIdQuery = (\n\tid: number,\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig<TaxListRequest>,\n) => {\n\tconst client = useApiClient();\n\tconst businessId = useBusinessId();\n\n\tif (!businessId) {\n\t\tthrow new Error(\"businessId is required for tax operations\");\n\t}\n\n\treturn useQuery<SBTax, SBApiException>({\n\t\tqueryKey: [\n\t\t\tSBApiKeys.Businesses,\n\t\t\tbusinessId,\n\t\t\tSBApiKeys.Taxes,\n\t\t\tid,\n\t\t\toptions,\n\t\t],\n\t\tqueryFn: async () => {\n\t\t\treturn await client.businesses.taxes.getByIdAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tid,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tenabled: !!businessId,\n\t});\n};\n\nexport const useCreateTaxMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tSBTax,\n\t\tSBApiException,\n\t\t{\n\t\t\trequest: TaxCreateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig<TaxCreateRequest>;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ request, options, config }) => {\n\t\t\tif (!businessId) {\n\t\t\t\tthrow new Error(\"businessId is required for tax operations\");\n\t\t\t}\n\t\t\treturn await client.businesses.taxes.createAsync(\n\t\t\t\tbusinessId,\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: () => {\n\t\t\tif (businessId) {\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: [\n\t\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\t\tbusinessId,\n\t\t\t\t\t\tSBApiKeys.Taxes,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n};\n\nexport const useUpdateTaxMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tSBTax,\n\t\tSBApiException,\n\t\t{\n\t\t\tid: number;\n\t\t\trequest: TaxUpdateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig<TaxUpdateRequest>;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ id, request, options, config }) => {\n\t\t\tif (!businessId) {\n\t\t\t\tthrow new Error(\"businessId is required for tax operations\");\n\t\t\t}\n\t\t\treturn await client.businesses.taxes.updateAsync(\n\t\t\t\tbusinessId,\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: (_, { id }) => {\n\t\t\tif (businessId) {\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: [\n\t\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\t\tbusinessId,\n\t\t\t\t\t\tSBApiKeys.Taxes,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: [\n\t\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\t\tbusinessId,\n\t\t\t\t\t\tSBApiKeys.Taxes,\n\t\t\t\t\t\tid,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n};\n\nexport const useDeleteTaxMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\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\tif (!businessId) {\n\t\t\t\tthrow new Error(\"businessId is required for tax operations\");\n\t\t\t}\n\t\t\tawait client.businesses.taxes.deleteAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tid,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (_, { id }) => {\n\t\t\tif (businessId) {\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: [\n\t\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\t\tbusinessId,\n\t\t\t\t\t\tSBApiKeys.Taxes,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: [\n\t\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\t\tbusinessId,\n\t\t\t\t\t\tSBApiKeys.Taxes,\n\t\t\t\t\t\tid,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n};\n"],"names":["useListTaxesInfiniteQuery","request","page","pageSize","options","config","client","useApiClient","businessId","useBusinessId","Error","useInfiniteQuery","initialPageParam","queryKey","SBApiKeys","Businesses","Taxes","queryFn","pageParam","paginatedRequest","businesses","taxes","listAsync","getNextPageParam","lastPage","pagination","currentPage","pageCount","undefined","enabled","useGetTaxByIdQuery","id","useQuery","getByIdAsync","useCreateTaxMutation","queryClient","useQueryClient","useMutation","mutationFn","createAsync","onSuccess","invalidateQueries","useUpdateTaxMutation","updateAsync","_","useDeleteTaxMutation","deleteAsync"],"mappings":"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"}