@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 +0,0 @@
1
- {"version":3,"file":"CustomerPaymentMethodsAPI.cjs","sources":["../../../../../src/apis/business/customers/CustomerPaymentMethodsAPI.ts"],"sourcesContent":["import {\n\tCustomerPaymentMethodListRequest,\n\tSBPaymentMethod,\n\tSBRequestOptions,\n\tSBList,\n\tCustomerPaymentMethodCreateRequest,\n\tCustomerPaymentMethodUpdateRequest,\n\tSBApiException,\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 { SBApiKeys } from \"@/apis/SBApiKeys\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { useBusinessId } from \"@/context\";\n\n/**\n * Hook to list a customer's payment methods with infinite query\n * @param customerId - The customer ID\n * @param request - Request parameters for listing payment methods\n * @param options - Optional request options\n * @param config - Optional axios request config\n * @returns Infinite query result containing the customer's payment methods\n */\nexport const useListCustomerPaymentMethodsInfiniteQuery = (\n\tcustomerId: number,\n\trequest: CustomerPaymentMethodListRequest = { page: 1, pageSize: 25 },\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(\n\t\t\t\"businessId is required for customer payment method operations\",\n\t\t);\n\t}\n\n\treturn useInfiniteQuery<\n\t\tSBList<SBPaymentMethod>,\n\t\tSBApiException,\n\t\tSBList<SBPaymentMethod>,\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.Customers,\n\t\t\tcustomerId,\n\t\t\tSBApiKeys.CustomerPaymentMethods,\n\t\t\trequest,\n\t\t],\n\t\tqueryFn: async ({ pageParam = 1 }) => {\n\t\t\treturn await client.businesses.customerPaymentMethods.listAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tcustomerId,\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\tenabled: !!businessId && !!customerId,\n\t});\n};\n\n/**\n * Hook to get a specific payment method for a customer\n * @param customerId - The customer ID\n * @param id - The payment method ID\n * @param options - Optional request options\n * @param config - Optional axios request config\n * @returns Query result containing the payment method\n */\nexport const useGetCustomerPaymentMethodByIdQuery = (\n\tcustomerId: number,\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(\n\t\t\t\"businessId is required for customer payment method operations\",\n\t\t);\n\t}\n\n\treturn useQuery<SBPaymentMethod, SBApiException>({\n\t\tqueryKey: [\n\t\t\tSBApiKeys.Businesses,\n\t\t\tbusinessId,\n\t\t\tSBApiKeys.Customers,\n\t\t\tcustomerId,\n\t\t\tSBApiKeys.CustomerPaymentMethods,\n\t\t\tid,\n\t\t\toptions,\n\t\t],\n\t\tqueryFn: async () => {\n\t\t\treturn await client.businesses.customerPaymentMethods.getByIdAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tcustomerId,\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 && !!customerId,\n\t});\n};\n\n/**\n * Hook to create a customer payment method\n * @returns Mutation function and state for creating payment methods\n */\nexport const useCreateCustomerPaymentMethodMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tSBPaymentMethod,\n\t\tSBApiException,\n\t\t{\n\t\t\tcustomerId: number;\n\t\t\tdata: CustomerPaymentMethodCreateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ customerId, data, options, config }) => {\n\t\t\tif (!businessId) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"businessId is required for customer payment method operations\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn await client.businesses.customerPaymentMethods.createAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tcustomerId,\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: (_, { customerId }) => {\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.Customers,\n\t\t\t\t\t\tcustomerId,\n\t\t\t\t\t\tSBApiKeys.CustomerPaymentMethods,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n};\n\n/**\n * Hook to update a customer payment method\n * @returns Mutation function and state for updating payment methods\n */\nexport const useUpdateCustomerPaymentMethodMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tSBPaymentMethod,\n\t\tSBApiException,\n\t\t{\n\t\t\tcustomerId: number;\n\t\t\tid: number;\n\t\t\tdata: CustomerPaymentMethodUpdateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ customerId, id, data, options, config }) => {\n\t\t\tif (!businessId) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"businessId is required for customer payment method operations\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn await client.businesses.customerPaymentMethods.updateAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tcustomerId,\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: (_, { customerId, 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.Customers,\n\t\t\t\t\t\tcustomerId,\n\t\t\t\t\t\tSBApiKeys.CustomerPaymentMethods,\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.Customers,\n\t\t\t\t\t\tcustomerId,\n\t\t\t\t\t\tSBApiKeys.CustomerPaymentMethods,\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\n/**\n * Hook to delete a customer payment method\n * @returns Mutation function and state for deleting payment methods\n */\nexport const useDeleteCustomerPaymentMethodMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tSBPaymentMethod,\n\t\tSBApiException,\n\t\t{\n\t\t\tcustomerId: number;\n\t\t\tid: number;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ customerId, 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 customer payment method operations\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn await client.businesses.customerPaymentMethods.deleteAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tcustomerId,\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: (_, { customerId, 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.Customers,\n\t\t\t\t\t\tcustomerId,\n\t\t\t\t\t\tSBApiKeys.CustomerPaymentMethods,\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.Customers,\n\t\t\t\t\t\tcustomerId,\n\t\t\t\t\t\tSBApiKeys.CustomerPaymentMethods,\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":["useListCustomerPaymentMethodsInfiniteQuery","customerId","request","page","pageSize","options","config","client","useApiClient","useQueryClient","businessId","useBusinessId","Error","useInfiniteQuery","initialPageParam","queryKey","SBApiKeys","Businesses","Customers","CustomerPaymentMethods","queryFn","pageParam","businesses","customerPaymentMethods","listAsync","getNextPageParam","lastPage","pagination","currentPage","pageCount","undefined","enabled","useGetCustomerPaymentMethodByIdQuery","id","useQuery","getByIdAsync","useCreateCustomerPaymentMethodMutation","queryClient","useMutation","mutationFn","data","createAsync","onSuccess","_","invalidateQueries","useUpdateCustomerPaymentMethodMutation","updateAsync","useDeleteCustomerPaymentMethodMutation","deleteAsync"],"mappings":"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"}
@@ -1,168 +0,0 @@
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
- /**
8
- * Hook to fetch a list of departments using infinite query
9
- * @param request - The pagination request parameters
10
- * @param options - Optional request options
11
- * @param config - Optional Axios request configuration
12
- * @returns An infinite query result containing paginated departments data
13
- */
14
- function useListDepartmentsInfiniteQuery(request = {
15
- page: 1,
16
- pageSize: 25
17
- }, options, config) {
18
- const client = ApiContext.useApiClient();
19
- reactQuery.useQueryClient();
20
- const businessId = ApiContext.useBusinessId();
21
- if (!businessId) {
22
- throw new Error("businessId is required for department operations");
23
- }
24
- return reactQuery.useInfiniteQuery({
25
- initialPageParam: request.page || 1,
26
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Departments, request, options],
27
- queryFn: async ({
28
- pageParam
29
- }) => {
30
- return await client.businesses.departments.listAsync(businessId, {
31
- ...request,
32
- page: pageParam
33
- }, options, config);
34
- },
35
- getNextPageParam: lastPage => {
36
- if (lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
37
- return lastPage.pagination.currentPage + 1;
38
- }
39
- return undefined;
40
- },
41
- enabled: !!businessId
42
- });
43
- }
44
- /**
45
- * Hook to fetch a list of departments
46
- * @param request - The pagination request parameters
47
- * @param options - Optional request options
48
- * @param config - Optional Axios request configuration
49
- * @returns A query result containing paginated departments data
50
- */
51
- function useListDepartmentsQuery(request = {
52
- page: 1,
53
- pageSize: 25
54
- }, options, config) {
55
- const client = ApiContext.useApiClient();
56
- reactQuery.useQueryClient();
57
- const businessId = ApiContext.useBusinessId();
58
- return reactQuery.useQuery({
59
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Departments, request],
60
- queryFn: async () => {
61
- return await client.businesses.departments.listAsync(businessId, request, options, config);
62
- }
63
- });
64
- }
65
- /**
66
- * Hook to fetch a specific department by ID
67
- * @param departmentId - The ID of the department to retrieve
68
- * @param options - Optional request options
69
- * @param config - Optional Axios request configuration
70
- * @returns A query result containing the department data
71
- */
72
- function useGetDepartmentByIdQuery(departmentId, options, config) {
73
- const client = ApiContext.useApiClient();
74
- reactQuery.useQueryClient();
75
- const businessId = ApiContext.useBusinessId();
76
- return reactQuery.useQuery({
77
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Departments, departmentId],
78
- queryFn: async () => await client.businesses.departments.getByIdAsync(businessId, departmentId, options, config)
79
- });
80
- }
81
- /**
82
- * Hook to create a new department
83
- * @returns A mutation function to create a department
84
- */
85
- function useCreateDepartmentMutation() {
86
- const client = ApiContext.useApiClient();
87
- const queryClient = reactQuery.useQueryClient();
88
- const businessId = ApiContext.useBusinessId();
89
- return reactQuery.useMutation({
90
- mutationFn: async ({
91
- request,
92
- options,
93
- config
94
- }) => {
95
- return await client.businesses.departments.createAsync(businessId, request, options, config);
96
- },
97
- onSuccess: () => {
98
- queryClient.invalidateQueries({
99
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Departments]
100
- });
101
- }
102
- });
103
- }
104
- /**
105
- * Hook to update an existing department
106
- * @returns A mutation function to update a department
107
- */
108
- function useUpdateDepartmentMutation() {
109
- const client = ApiContext.useApiClient();
110
- const queryClient = reactQuery.useQueryClient();
111
- const businessId = ApiContext.useBusinessId();
112
- return reactQuery.useMutation({
113
- mutationFn: async ({
114
- departmentId,
115
- request,
116
- options,
117
- config
118
- }) => {
119
- return await client.businesses.departments.updateAsync(businessId, departmentId, request, options, config);
120
- },
121
- onSuccess: (_, {
122
- departmentId
123
- }) => {
124
- queryClient.invalidateQueries({
125
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Departments]
126
- });
127
- queryClient.invalidateQueries({
128
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Departments, departmentId]
129
- });
130
- }
131
- });
132
- }
133
- /**
134
- * Hook to delete a department
135
- * @returns A mutation function to delete a department
136
- */
137
- function useDeleteDepartmentMutation() {
138
- const client = ApiContext.useApiClient();
139
- const queryClient = reactQuery.useQueryClient();
140
- const businessId = ApiContext.useBusinessId();
141
- return reactQuery.useMutation({
142
- mutationFn: async ({
143
- departmentId,
144
- options,
145
- config
146
- }) => {
147
- return await client.businesses.departments.deleteAsync(businessId, departmentId, options, config);
148
- },
149
- onSuccess: (_, {
150
- departmentId
151
- }) => {
152
- queryClient.invalidateQueries({
153
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Departments]
154
- });
155
- queryClient.invalidateQueries({
156
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Departments, departmentId]
157
- });
158
- }
159
- });
160
- }
161
-
162
- exports.useCreateDepartmentMutation = useCreateDepartmentMutation;
163
- exports.useDeleteDepartmentMutation = useDeleteDepartmentMutation;
164
- exports.useGetDepartmentByIdQuery = useGetDepartmentByIdQuery;
165
- exports.useListDepartmentsInfiniteQuery = useListDepartmentsInfiniteQuery;
166
- exports.useListDepartmentsQuery = useListDepartmentsQuery;
167
- exports.useUpdateDepartmentMutation = useUpdateDepartmentMutation;
168
- //# sourceMappingURL=DepartmentApi.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DepartmentApi.cjs","sources":["../../../../../src/apis/business/departments/DepartmentApi.tsx"],"sourcesContent":["import {\n\tSBEntity,\n\tITimestamp,\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 { SBApiKeys } from \"@/apis/SBApiKeys\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { useBusinessId } from \"@/context\";\n\n/**\n * NOTE: This API implementation assumes that the SDK has a departments service\n * which may still need to be implemented in the SDK. The implementation follows\n * the same pattern as the EmployeesAPI but requires the BusinessService to have\n * a departments property.\n */\n\n// Define Department interface based on SBEntity\ninterface SBDepartment extends SBEntity, ITimestamp {\n\tname: string;\n\tdescription?: string;\n\tbusinessId: number;\n}\n\n// Define request types\ninterface DepartmentCreateRequest {\n\tname: string;\n\tdescription?: string;\n}\n\ninterface DepartmentUpdateRequest {\n\tname?: string;\n\tdescription?: string;\n}\n\n/**\n * Hook to fetch a list of departments 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 departments data\n */\nexport function useListDepartmentsInfiniteQuery(\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\n\tif (!businessId) {\n\t\tthrow new Error(\"businessId is required for department operations\");\n\t}\n\n\treturn useInfiniteQuery<\n\t\tSBList<SBDepartment>,\n\t\tSBApiException,\n\t\tSBList<SBDepartment>,\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.Departments,\n\t\t\trequest,\n\t\t\toptions,\n\t\t],\n\t\tqueryFn: async ({ pageParam }) => {\n\t\t\treturn await client.businesses.departments.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.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\n/**\n * Hook to fetch a list of departments\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 departments data\n */\nexport function useListDepartmentsQuery(\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\n\treturn useQuery({\n\t\tqueryKey: [\n\t\t\tSBApiKeys.Businesses,\n\t\t\tbusinessId,\n\t\t\tSBApiKeys.Departments,\n\t\t\trequest,\n\t\t],\n\t\tqueryFn: async () => {\n\t\t\treturn await client.businesses.departments.listAsync(\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});\n}\n\n/**\n * Hook to fetch a specific department by ID\n * @param departmentId - The ID of the department to retrieve\n * @param options - Optional request options\n * @param config - Optional Axios request configuration\n * @returns A query result containing the department data\n */\nexport function useGetDepartmentByIdQuery(\n\tdepartmentId: number,\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useQuery<SBDepartment, SBApiException>({\n\t\tqueryKey: [\n\t\t\tSBApiKeys.Businesses,\n\t\t\tbusinessId,\n\t\t\tSBApiKeys.Departments,\n\t\t\tdepartmentId,\n\t\t],\n\t\tqueryFn: async () =>\n\t\t\tawait client.businesses.departments.getByIdAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tdepartmentId,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t),\n\t});\n}\n\n/**\n * Hook to create a new department\n * @returns A mutation function to create a department\n */\nexport function useCreateDepartmentMutation() {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tSBDepartment,\n\t\tSBApiException,\n\t\t{\n\t\t\trequest: DepartmentCreateRequest;\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.businesses.departments.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\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.Departments,\n\t\t\t\t],\n\t\t\t});\n\t\t},\n\t});\n}\n\n/**\n * Hook to update an existing department\n * @returns A mutation function to update a department\n */\nexport function useUpdateDepartmentMutation() {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tSBDepartment,\n\t\tSBApiException,\n\t\t{\n\t\t\tdepartmentId: number;\n\t\t\trequest: DepartmentUpdateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ departmentId, request, options, config }) => {\n\t\t\treturn await client.businesses.departments.updateAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tdepartmentId,\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: (_, { departmentId }) => {\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.Departments,\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.Departments,\n\t\t\t\t\tdepartmentId,\n\t\t\t\t],\n\t\t\t});\n\t\t},\n\t});\n}\n\n/**\n * Hook to delete a department\n * @returns A mutation function to delete a department\n */\nexport function useDeleteDepartmentMutation() {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tSBDepartment,\n\t\tSBApiException,\n\t\t{\n\t\t\tdepartmentId: number;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ departmentId, options, config }) => {\n\t\t\treturn await client.businesses.departments.deleteAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tdepartmentId,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (_, { departmentId }) => {\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.Departments,\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.Departments,\n\t\t\t\t\tdepartmentId,\n\t\t\t\t],\n\t\t\t});\n\t\t},\n\t});\n}\n"],"names":["useListDepartmentsInfiniteQuery","request","page","pageSize","options","config","client","useApiClient","useQueryClient","businessId","useBusinessId","Error","useInfiniteQuery","initialPageParam","queryKey","SBApiKeys","Businesses","Departments","queryFn","pageParam","businesses","departments","listAsync","getNextPageParam","lastPage","pagination","currentPage","pageCount","undefined","enabled","useListDepartmentsQuery","useQuery","useGetDepartmentByIdQuery","departmentId","getByIdAsync","useCreateDepartmentMutation","queryClient","useMutation","mutationFn","createAsync","onSuccess","invalidateQueries","useUpdateDepartmentMutation","updateAsync","_","useDeleteDepartmentMutation","deleteAsync"],"mappings":"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"}
@@ -1,137 +0,0 @@
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
- /**
8
- * NOTE: This API implementation assumes that the SDK has a departments service
9
- * which may still need to be implemented in the SDK. The implementation follows
10
- * the same pattern as the EmployeesAPI but requires the BusinessService to have
11
- * a departments property with an employees subproperty.
12
- */
13
- /**
14
- * Hook to fetch a list of employees in a department using infinite query
15
- * @param departmentId - The ID of the department
16
- * @param request - The pagination request parameters
17
- * @param options - Optional request options
18
- * @param config - Optional Axios request configuration
19
- * @returns An infinite query result containing paginated department employees data
20
- */
21
- function useListDepartmentEmployeesInfiniteQuery(departmentId, request = {
22
- page: 1,
23
- pageSize: 25
24
- }, options, config) {
25
- const client = ApiContext.useApiClient();
26
- reactQuery.useQueryClient();
27
- const businessId = ApiContext.useBusinessId();
28
- if (!businessId) {
29
- throw new Error("businessId is required for department employee operations");
30
- }
31
- return reactQuery.useInfiniteQuery({
32
- initialPageParam: request.page || 1,
33
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Departments, departmentId, SBApiKeys.SBApiKeys.Employees, request, options],
34
- queryFn: async ({
35
- pageParam
36
- }) => {
37
- return await client.businesses.departments.employees.listAsync(businessId, departmentId, {
38
- ...request,
39
- page: pageParam
40
- }, options, config);
41
- },
42
- getNextPageParam: lastPage => {
43
- if (lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
44
- return lastPage.pagination.currentPage + 1;
45
- }
46
- return undefined;
47
- },
48
- enabled: !!businessId && !!departmentId
49
- });
50
- }
51
- /**
52
- * Hook to fetch a list of employees in a department
53
- * @param departmentId - The ID of the department
54
- * @param request - The pagination request parameters
55
- * @param options - Optional request options
56
- * @param config - Optional Axios request configuration
57
- * @returns A query result containing paginated department employees data
58
- */
59
- function useListDepartmentEmployeesQuery(departmentId, request = {
60
- page: 1,
61
- pageSize: 25
62
- }, options, config) {
63
- const client = ApiContext.useApiClient();
64
- reactQuery.useQueryClient();
65
- const businessId = ApiContext.useBusinessId();
66
- return reactQuery.useQuery({
67
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Departments, departmentId, SBApiKeys.SBApiKeys.Employees, request],
68
- queryFn: async () => {
69
- return await client.businesses.departments.employees.listAsync(businessId, departmentId, request, options, config);
70
- },
71
- enabled: !!businessId && !!departmentId
72
- });
73
- }
74
- /**
75
- * Hook to add an employee to a department
76
- * @returns A mutation function to add an employee to a department
77
- */
78
- function useAddEmployeeToDepartmentMutation() {
79
- const client = ApiContext.useApiClient();
80
- const queryClient = reactQuery.useQueryClient();
81
- const businessId = ApiContext.useBusinessId();
82
- return reactQuery.useMutation({
83
- mutationFn: async ({
84
- departmentId,
85
- request,
86
- options,
87
- config
88
- }) => {
89
- return await client.businesses.departments.employees.createAsync(businessId, departmentId, request, options, config);
90
- },
91
- onSuccess: (_, {
92
- departmentId
93
- }) => {
94
- queryClient.invalidateQueries({
95
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Departments, departmentId, SBApiKeys.SBApiKeys.Employees]
96
- });
97
- queryClient.invalidateQueries({
98
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Employees]
99
- });
100
- }
101
- });
102
- }
103
- /**
104
- * Hook to remove an employee from a department
105
- * @returns A mutation function to remove an employee from a department
106
- */
107
- function useRemoveEmployeeFromDepartmentMutation() {
108
- const client = ApiContext.useApiClient();
109
- const queryClient = reactQuery.useQueryClient();
110
- const businessId = ApiContext.useBusinessId();
111
- return reactQuery.useMutation({
112
- mutationFn: async ({
113
- departmentId,
114
- employeeId,
115
- options,
116
- config
117
- }) => {
118
- return await client.businesses.departments.employees.deleteAsync(businessId, departmentId, employeeId, options, config);
119
- },
120
- onSuccess: (_, {
121
- departmentId
122
- }) => {
123
- queryClient.invalidateQueries({
124
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Departments, departmentId, SBApiKeys.SBApiKeys.Employees]
125
- });
126
- queryClient.invalidateQueries({
127
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Employees]
128
- });
129
- }
130
- });
131
- }
132
-
133
- exports.useAddEmployeeToDepartmentMutation = useAddEmployeeToDepartmentMutation;
134
- exports.useListDepartmentEmployeesInfiniteQuery = useListDepartmentEmployeesInfiniteQuery;
135
- exports.useListDepartmentEmployeesQuery = useListDepartmentEmployeesQuery;
136
- exports.useRemoveEmployeeFromDepartmentMutation = useRemoveEmployeeFromDepartmentMutation;
137
- //# sourceMappingURL=DepartmentEmployeesAPI.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DepartmentEmployeesAPI.cjs","sources":["../../../../../../src/apis/business/departments/employees/DepartmentEmployeesAPI.tsx"],"sourcesContent":["import {\n\tSBDepartmentTeamMember,\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 { SBApiKeys } from \"@/apis/SBApiKeys\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { useBusinessId } from \"@/context\";\nimport { DepartmentEmployeeCreateRequest } from \"@smartbills/sdk/dist/@types/services/businesses/departments/Employees/DepartmentEmployeeCreateRequest\";\n\n/**\n * NOTE: This API implementation assumes that the SDK has a departments service\n * which may still need to be implemented in the SDK. The implementation follows\n * the same pattern as the EmployeesAPI but requires the BusinessService to have\n * a departments property with an employees subproperty.\n */\n\n/**\n * Hook to fetch a list of employees in a department using infinite query\n * @param departmentId - The ID of the department\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 department employees data\n */\nexport function useListDepartmentEmployeesInfiniteQuery(\n\tdepartmentId: number,\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\n\tif (!businessId) {\n\t\tthrow new Error(\n\t\t\t\"businessId is required for department employee operations\",\n\t\t);\n\t}\n\n\treturn useInfiniteQuery<\n\t\tSBList<SBDepartmentTeamMember>,\n\t\tSBApiException,\n\t\tSBList<SBDepartmentTeamMember>,\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.Departments,\n\t\t\tdepartmentId,\n\t\t\tSBApiKeys.Employees,\n\t\t\trequest,\n\t\t\toptions,\n\t\t],\n\t\tqueryFn: async ({ pageParam }) => {\n\t\t\treturn await client.businesses.departments.employees.listAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tdepartmentId,\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\tenabled: !!businessId && !!departmentId,\n\t});\n}\n\n/**\n * Hook to fetch a list of employees in a department\n * @param departmentId - The ID of the department\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 department employees data\n */\nexport function useListDepartmentEmployeesQuery(\n\tdepartmentId: number,\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\n\treturn useQuery({\n\t\tqueryKey: [\n\t\t\tSBApiKeys.Businesses,\n\t\t\tbusinessId,\n\t\t\tSBApiKeys.Departments,\n\t\t\tdepartmentId,\n\t\t\tSBApiKeys.Employees,\n\t\t\trequest,\n\t\t],\n\t\tqueryFn: async () => {\n\t\t\treturn await client.businesses.departments.employees.listAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tdepartmentId,\n\t\t\t\trequest,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tenabled: !!businessId && !!departmentId,\n\t});\n}\n\n/**\n * Hook to add an employee to a department\n * @returns A mutation function to add an employee to a department\n */\nexport function useAddEmployeeToDepartmentMutation() {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tSBDepartmentTeamMember,\n\t\tSBApiException,\n\t\t{\n\t\t\tdepartmentId: number;\n\t\t\trequest: DepartmentEmployeeCreateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ departmentId, request, options, config }) => {\n\t\t\treturn await client.businesses.departments.employees.createAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tdepartmentId,\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: (_, { departmentId }) => {\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.Departments,\n\t\t\t\t\tdepartmentId,\n\t\t\t\t\tSBApiKeys.Employees,\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.Employees,\n\t\t\t\t],\n\t\t\t});\n\t\t},\n\t});\n}\n\n/**\n * Hook to remove an employee from a department\n * @returns A mutation function to remove an employee from a department\n */\nexport function useRemoveEmployeeFromDepartmentMutation() {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tSBDepartmentTeamMember,\n\t\tSBApiException,\n\t\t{\n\t\t\tdepartmentId: number;\n\t\t\temployeeId: number;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ departmentId, employeeId, options, config }) => {\n\t\t\treturn await client.businesses.departments.employees.deleteAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tdepartmentId,\n\t\t\t\temployeeId,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (_, { departmentId }) => {\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.Departments,\n\t\t\t\t\tdepartmentId,\n\t\t\t\t\tSBApiKeys.Employees,\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.Employees,\n\t\t\t\t],\n\t\t\t});\n\t\t},\n\t});\n}\n"],"names":["useListDepartmentEmployeesInfiniteQuery","departmentId","request","page","pageSize","options","config","client","useApiClient","useQueryClient","businessId","useBusinessId","Error","useInfiniteQuery","initialPageParam","queryKey","SBApiKeys","Businesses","Departments","Employees","queryFn","pageParam","businesses","departments","employees","listAsync","getNextPageParam","lastPage","pagination","currentPage","pageCount","undefined","enabled","useListDepartmentEmployeesQuery","useQuery","useAddEmployeeToDepartmentMutation","queryClient","useMutation","mutationFn","createAsync","onSuccess","_","invalidateQueries","useRemoveEmployeeFromDepartmentMutation","employeeId","deleteAsync"],"mappings":";;;;;;AAmBA;;;;;AAKG;AAEH;;;;;;;AAOG;SACaA,uCAAuCA,CACtDC,YAAoB,EACpBC,OAAA,GAAgD;AAAEC,EAAAA,IAAI,EAAE,CAAC;AAAEC,EAAAA,QAAQ,EAAE;CAAI,EACzEC,OAA0B,EAC1BC,MAA2B,EAAA;AAE3B,EAAA,MAAMC,MAAM,GAAGC,uBAAY,EAAE;AAC7B,EAAoBC,yBAAc;AAClC,EAAA,MAAMC,UAAU,GAAGC,wBAAa,EAAE;EAElC,IAAI,CAACD,UAAU,EAAE;AAChB,IAAA,MAAM,IAAIE,KAAK,CACd,2DAA2D,CAC3D;AACF;AAEA,EAAA,OAAOC,2BAAgB,CAMrB;AACDC,IAAAA,gBAAgB,EAAEZ,OAAO,CAACC,IAAI,IAAI,CAAC;IACnCY,QAAQ,EAAE,CACTC,mBAAS,CAACC,UAAU,EACpBP,UAAU,EACVM,mBAAS,CAACE,WAAW,EACrBjB,YAAY,EACZe,mBAAS,CAACG,SAAS,EACnBjB,OAAO,EACPG,OAAO,CACP;IACDe,OAAO,EAAE,OAAO;AAAEC,MAAAA;AAAS,KAAE,KAAI;AAChC,MAAA,OAAO,MAAMd,MAAM,CAACe,UAAU,CAACC,WAAW,CAACC,SAAS,CAACC,SAAS,CAC7Df,UAAU,EACVT,YAAY,EACZ;AAAE,QAAA,GAAGC,OAAO;AAAEC,QAAAA,IAAI,EAAEkB;AAAW,OAAA,EAC/BhB,OAAO,EACPC,MAAM,CACN;KACD;IACDoB,gBAAgB,EAAGC,QAAQ,IAAI;MAC9B,IACCA,QAAQ,CAACC,UAAU,CAACC,WAAW,GAAGF,QAAQ,CAACC,UAAU,CAACE,SAAS,EAC9D;AACD,QAAA,OAAOH,QAAQ,CAACC,UAAU,CAACC,WAAW,GAAG,CAAC;AAC3C;AACA,MAAA,OAAOE,SAAS;KAChB;AACDC,IAAAA,OAAO,EAAE,CAAC,CAACtB,UAAU,IAAI,CAAC,CAACT;AAC3B,GAAA,CAAC;AACH;AAEA;;;;;;;AAOG;SACagC,+BAA+BA,CAC9ChC,YAAoB,EACpBC,OAAA,GAAgD;AAAEC,EAAAA,IAAI,EAAE,CAAC;AAAEC,EAAAA,QAAQ,EAAE;CAAI,EACzEC,OAA0B,EAC1BC,MAA2B,EAAA;AAE3B,EAAA,MAAMC,MAAM,GAAGC,uBAAY,EAAE;AAC7B,EAAoBC,yBAAc;AAClC,EAAA,MAAMC,UAAU,GAAGC,wBAAa,EAAE;AAElC,EAAA,OAAOuB,mBAAQ,CAAC;AACfnB,IAAAA,QAAQ,EAAE,CACTC,mBAAS,CAACC,UAAU,EACpBP,UAAU,EACVM,mBAAS,CAACE,WAAW,EACrBjB,YAAY,EACZe,mBAAS,CAACG,SAAS,EACnBjB,OAAO,CACP;IACDkB,OAAO,EAAE,YAAW;MACnB,OAAO,MAAMb,MAAM,CAACe,UAAU,CAACC,WAAW,CAACC,SAAS,CAACC,SAAS,CAC7Df,UAAU,EACVT,YAAY,EACZC,OAAO,EACPG,OAAO,EACPC,MAAM,CACN;KACD;AACD0B,IAAAA,OAAO,EAAE,CAAC,CAACtB,UAAU,IAAI,CAAC,CAACT;AAC3B,GAAA,CAAC;AACH;AAEA;;;AAGG;SACakC,kCAAkCA,GAAA;AACjD,EAAA,MAAM5B,MAAM,GAAGC,uBAAY,EAAE;AAC7B,EAAA,MAAM4B,WAAW,GAAG3B,yBAAc,EAAE;AACpC,EAAA,MAAMC,UAAU,GAAGC,wBAAa,EAAE;AAElC,EAAA,OAAO0B,sBAAW,CAShB;IACDC,UAAU,EAAE,OAAO;MAAErC,YAAY;MAAEC,OAAO;MAAEG,OAAO;AAAEC,MAAAA;AAAM,KAAE,KAAI;MAChE,OAAO,MAAMC,MAAM,CAACe,UAAU,CAACC,WAAW,CAACC,SAAS,CAACe,WAAW,CAC/D7B,UAAU,EACVT,YAAY,EACZC,OAAO,EACPG,OAAO,EACPC,MAAM,CACN;KACD;IACDkC,SAAS,EAAEA,CAACC,CAAC,EAAE;AAAExC,MAAAA;AAAY,KAAE,KAAI;MAClCmC,WAAW,CAACM,iBAAiB,CAAC;AAC7B3B,QAAAA,QAAQ,EAAE,CACTC,mBAAS,CAACC,UAAU,EACpBP,UAAU,EACVM,mBAAS,CAACE,WAAW,EACrBjB,YAAY,EACZe,mBAAS,CAACG,SAAS;AAEpB,OAAA,CAAC;MACFiB,WAAW,CAACM,iBAAiB,CAAC;QAC7B3B,QAAQ,EAAE,CACTC,mBAAS,CAACC,UAAU,EACpBP,UAAU,EACVM,mBAAS,CAACG,SAAS;AAEpB,OAAA,CAAC;AACH;AACA,GAAA,CAAC;AACH;AAEA;;;AAGG;SACawB,uCAAuCA,GAAA;AACtD,EAAA,MAAMpC,MAAM,GAAGC,uBAAY,EAAE;AAC7B,EAAA,MAAM4B,WAAW,GAAG3B,yBAAc,EAAE;AACpC,EAAA,MAAMC,UAAU,GAAGC,wBAAa,EAAE;AAElC,EAAA,OAAO0B,sBAAW,CAShB;IACDC,UAAU,EAAE,OAAO;MAAErC,YAAY;MAAE2C,UAAU;MAAEvC,OAAO;AAAEC,MAAAA;AAAM,KAAE,KAAI;MACnE,OAAO,MAAMC,MAAM,CAACe,UAAU,CAACC,WAAW,CAACC,SAAS,CAACqB,WAAW,CAC/DnC,UAAU,EACVT,YAAY,EACZ2C,UAAU,EACVvC,OAAO,EACPC,MAAM,CACN;KACD;IACDkC,SAAS,EAAEA,CAACC,CAAC,EAAE;AAAExC,MAAAA;AAAY,KAAE,KAAI;MAClCmC,WAAW,CAACM,iBAAiB,CAAC;AAC7B3B,QAAAA,QAAQ,EAAE,CACTC,mBAAS,CAACC,UAAU,EACpBP,UAAU,EACVM,mBAAS,CAACE,WAAW,EACrBjB,YAAY,EACZe,mBAAS,CAACG,SAAS;AAEpB,OAAA,CAAC;MACFiB,WAAW,CAACM,iBAAiB,CAAC;QAC7B3B,QAAQ,EAAE,CACTC,mBAAS,CAACC,UAAU,EACpBP,UAAU,EACVM,mBAAS,CAACG,SAAS;AAEpB,OAAA,CAAC;AACH;AACA,GAAA,CAAC;AACH;;;;;;;"}
@@ -1,167 +0,0 @@
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
- /**
8
- * Hook to list fees with infinite scrolling
9
- * @param request - The list request parameters
10
- * @param options - Optional request options
11
- * @param config - Optional axios request config
12
- * @returns Infinite query result containing paginated fee data
13
- */
14
- function useListFeesInfiniteQuery(request = {
15
- page: 1,
16
- pageSize: 25
17
- }, options, config) {
18
- const client = ApiContext.useApiClient();
19
- reactQuery.useQueryClient();
20
- const businessId = ApiContext.useBusinessId();
21
- if (!businessId) {
22
- throw new Error("businessId is required for fee operations");
23
- }
24
- return reactQuery.useInfiniteQuery({
25
- initialPageParam: request.page || 1,
26
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Fees, request, options],
27
- queryFn: async ({
28
- pageParam = 1
29
- }) => {
30
- return await client.businesses.fees.listAsync(businessId, {
31
- ...request,
32
- page: pageParam
33
- }, options, config);
34
- },
35
- getNextPageParam: lastPage => {
36
- if (lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
37
- return lastPage.pagination.currentPage + 1;
38
- }
39
- return undefined;
40
- },
41
- enabled: !!businessId
42
- });
43
- }
44
- /**
45
- * Hook to get a fee by ID
46
- * @param feeId - The ID of the fee to retrieve
47
- * @param options - Optional request options
48
- * @param config - Optional axios request config
49
- * @returns Query result containing the fee data
50
- */
51
- function useGetFeeByIdQuery(feeId, options, config) {
52
- const client = ApiContext.useApiClient();
53
- reactQuery.useQueryClient();
54
- const businessId = ApiContext.useBusinessId();
55
- if (!businessId) {
56
- throw new Error("businessId is required for fee operations");
57
- }
58
- return reactQuery.useQuery({
59
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Fees, feeId, options],
60
- queryFn: async () => {
61
- return await client.businesses.fees.getByIdAsync(businessId, feeId, options, config);
62
- },
63
- enabled: !!businessId
64
- });
65
- }
66
- /**
67
- * Hook to create a new fee
68
- * @returns Mutation function for creating fees
69
- */
70
- function useCreateFeeMutation() {
71
- const client = ApiContext.useApiClient();
72
- const queryClient = reactQuery.useQueryClient();
73
- const businessId = ApiContext.useBusinessId();
74
- return reactQuery.useMutation({
75
- mutationFn: async ({
76
- data,
77
- options,
78
- config
79
- }) => {
80
- if (!businessId) {
81
- throw new Error("businessId is required for fee operations");
82
- }
83
- return await client.businesses.fees.createAsync(businessId, data, options, config);
84
- },
85
- onSuccess: () => {
86
- if (businessId) {
87
- queryClient.invalidateQueries({
88
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Fees]
89
- });
90
- }
91
- }
92
- });
93
- }
94
- /**
95
- * Hook to update an existing fee
96
- * @returns Mutation function for updating fees
97
- */
98
- function useUpdateFeeMutation() {
99
- const client = ApiContext.useApiClient();
100
- const queryClient = reactQuery.useQueryClient();
101
- const businessId = ApiContext.useBusinessId();
102
- return reactQuery.useMutation({
103
- mutationFn: async ({
104
- feeId,
105
- data,
106
- options,
107
- config
108
- }) => {
109
- if (!businessId) {
110
- throw new Error("businessId is required for fee operations");
111
- }
112
- return await client.businesses.fees.updateAsync(businessId, feeId, data, options, config);
113
- },
114
- onSuccess: (_, {
115
- feeId
116
- }) => {
117
- if (businessId) {
118
- queryClient.invalidateQueries({
119
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Fees]
120
- });
121
- queryClient.invalidateQueries({
122
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Fees, feeId]
123
- });
124
- }
125
- }
126
- });
127
- }
128
- /**
129
- * Hook to delete a fee
130
- * @returns Mutation function for deleting fees
131
- */
132
- function useDeleteFeeMutation() {
133
- const client = ApiContext.useApiClient();
134
- const queryClient = reactQuery.useQueryClient();
135
- const businessId = ApiContext.useBusinessId();
136
- return reactQuery.useMutation({
137
- mutationFn: async ({
138
- feeId,
139
- options,
140
- config
141
- }) => {
142
- if (!businessId) {
143
- throw new Error("businessId is required for fee operations");
144
- }
145
- return await client.businesses.fees.deleteAsync(businessId, feeId, options, config);
146
- },
147
- onSuccess: (_, {
148
- feeId
149
- }) => {
150
- if (businessId) {
151
- queryClient.invalidateQueries({
152
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Fees]
153
- });
154
- queryClient.invalidateQueries({
155
- queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Fees, feeId]
156
- });
157
- }
158
- }
159
- });
160
- }
161
-
162
- exports.useCreateFeeMutation = useCreateFeeMutation;
163
- exports.useDeleteFeeMutation = useDeleteFeeMutation;
164
- exports.useGetFeeByIdQuery = useGetFeeByIdQuery;
165
- exports.useListFeesInfiniteQuery = useListFeesInfiniteQuery;
166
- exports.useUpdateFeeMutation = useUpdateFeeMutation;
167
- //# sourceMappingURL=FeesAPI.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FeesAPI.cjs","sources":["../../../../../src/apis/business/fees/FeesAPI.tsx"],"sourcesContent":["import {\n\tFeeCreateRequest,\n\tFeeListRequest,\n\tFeeUpdateRequest,\n\tSBApiException,\n\tSBFee,\n\tSBList,\n\tSBRequestOptions,\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 \"@/apis/SBApiKeys\";\nimport { useBusinessId } from \"@/context\";\n\n/**\n * Hook to list fees with infinite scrolling\n * @param request - The list request parameters\n * @param options - Optional request options\n * @param config - Optional axios request config\n * @returns Infinite query result containing paginated fee data\n */\nexport function useListFeesInfiniteQuery(\n\trequest: FeeListRequest = { page: 1, pageSize: 25 },\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig<FeeListRequest>,\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 fee operations\");\n\t}\n\n\treturn useInfiniteQuery<\n\t\tSBList<SBFee>,\n\t\tSBApiException,\n\t\tSBList<SBFee>,\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.Fees,\n\t\t\trequest,\n\t\t\toptions,\n\t\t],\n\t\tqueryFn: async ({ pageParam = 1 }) => {\n\t\t\treturn await client.businesses.fees.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.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\n/**\n * Hook to get a fee by ID\n * @param feeId - The ID of the fee to retrieve\n * @param options - Optional request options\n * @param config - Optional axios request config\n * @returns Query result containing the fee data\n */\nexport function useGetFeeByIdQuery(\n\tfeeId: 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 fee operations\");\n\t}\n\n\treturn useQuery<SBFee, SBApiException>({\n\t\tqueryKey: [\n\t\t\tSBApiKeys.Businesses,\n\t\t\tbusinessId,\n\t\t\tSBApiKeys.Fees,\n\t\t\tfeeId,\n\t\t\toptions,\n\t\t],\n\t\tqueryFn: async () => {\n\t\t\treturn await client.businesses.fees.getByIdAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tfeeId,\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\n/**\n * Hook to create a new fee\n * @returns Mutation function for creating fees\n */\nexport function useCreateFeeMutation() {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tSBFee,\n\t\tSBApiException,\n\t\t{\n\t\t\tdata: FeeCreateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig<FeeCreateRequest>;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ data, options, config }) => {\n\t\t\tif (!businessId) {\n\t\t\t\tthrow new Error(\"businessId is required for fee operations\");\n\t\t\t}\n\t\t\treturn await client.businesses.fees.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\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.Fees,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n}\n\n/**\n * Hook to update an existing fee\n * @returns Mutation function for updating fees\n */\nexport function useUpdateFeeMutation() {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tSBFee,\n\t\tSBApiException,\n\t\t{\n\t\t\tfeeId: number;\n\t\t\tdata: FeeUpdateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig<FeeUpdateRequest>;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ feeId, data, options, config }) => {\n\t\t\tif (!businessId) {\n\t\t\t\tthrow new Error(\"businessId is required for fee operations\");\n\t\t\t}\n\t\t\treturn await client.businesses.fees.updateAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tfeeId,\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: (_, { feeId }) => {\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.Fees,\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.Fees,\n\t\t\t\t\t\tfeeId,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n}\n\n/**\n * Hook to delete a fee\n * @returns Mutation function for deleting fees\n */\nexport function useDeleteFeeMutation() {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tSBFee,\n\t\tSBApiException,\n\t\t{\n\t\t\tfeeId: number;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ feeId, options, config }) => {\n\t\t\tif (!businessId) {\n\t\t\t\tthrow new Error(\"businessId is required for fee operations\");\n\t\t\t}\n\t\t\treturn await client.businesses.fees.deleteAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tfeeId,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (_, { feeId }) => {\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.Fees,\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.Fees,\n\t\t\t\t\t\tfeeId,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n}\n"],"names":["useListFeesInfiniteQuery","request","page","pageSize","options","config","client","useApiClient","useQueryClient","businessId","useBusinessId","Error","useInfiniteQuery","initialPageParam","queryKey","SBApiKeys","Businesses","Fees","queryFn","pageParam","businesses","fees","listAsync","getNextPageParam","lastPage","pagination","currentPage","pageCount","undefined","enabled","useGetFeeByIdQuery","feeId","useQuery","getByIdAsync","useCreateFeeMutation","queryClient","useMutation","mutationFn","data","createAsync","onSuccess","invalidateQueries","useUpdateFeeMutation","updateAsync","_","useDeleteFeeMutation","deleteAsync"],"mappings":"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"}