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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/dist/@types/index.d.ts +1424 -0
  2. package/dist/@types/index.d.ts.map +1 -0
  3. package/dist/cjs/apis/SBApiKeys.cjs +55 -0
  4. package/dist/cjs/apis/SBApiKeys.cjs.map +1 -0
  5. package/dist/cjs/apis/api-logs/LogsAPI.cjs +42 -0
  6. package/dist/cjs/apis/api-logs/LogsAPI.cjs.map +1 -0
  7. package/dist/cjs/apis/attachments/AttachmentsAPI.cjs +147 -0
  8. package/dist/cjs/apis/attachments/AttachmentsAPI.cjs.map +1 -0
  9. package/dist/cjs/apis/banks/accounts/BankAccountAPI.cjs +88 -0
  10. package/dist/cjs/apis/banks/accounts/BankAccountAPI.cjs.map +1 -0
  11. package/dist/cjs/apis/banks/bank-institutions/BankInstitutionsAPI.cjs +58 -0
  12. package/dist/cjs/apis/banks/bank-institutions/BankInstitutionsAPI.cjs.map +1 -0
  13. package/dist/cjs/apis/banks/bank-transactions/BankTransactionAPI.cjs +57 -0
  14. package/dist/cjs/apis/banks/bank-transactions/BankTransactionAPI.cjs.map +1 -0
  15. package/dist/cjs/apis/business/BusinessAPI.cjs +172 -0
  16. package/dist/cjs/apis/business/BusinessAPI.cjs.map +1 -0
  17. package/dist/cjs/apis/business/customers/CustomerAPI.cjs +161 -0
  18. package/dist/cjs/apis/business/customers/CustomerAPI.cjs.map +1 -0
  19. package/dist/cjs/apis/business/customers/CustomerBalanceTransactionsAPI.cjs +71 -0
  20. package/dist/cjs/apis/business/customers/CustomerBalanceTransactionsAPI.cjs.map +1 -0
  21. package/dist/cjs/apis/business/customers/CustomerPaymentMethodsAPI.cjs +176 -0
  22. package/dist/cjs/apis/business/customers/CustomerPaymentMethodsAPI.cjs.map +1 -0
  23. package/dist/cjs/apis/business/departments/DepartmentApi.cjs +168 -0
  24. package/dist/cjs/apis/business/departments/DepartmentApi.cjs.map +1 -0
  25. package/dist/cjs/apis/business/departments/employees/DepartmentEmployeesAPI.cjs +137 -0
  26. package/dist/cjs/apis/business/departments/employees/DepartmentEmployeesAPI.cjs.map +1 -0
  27. package/dist/cjs/apis/business/fees/FeesAPI.cjs +167 -0
  28. package/dist/cjs/apis/business/fees/FeesAPI.cjs.map +1 -0
  29. package/dist/cjs/apis/business/locations/LocationsAPI.cjs +133 -0
  30. package/dist/cjs/apis/business/locations/LocationsAPI.cjs.map +1 -0
  31. package/dist/cjs/apis/business/products/ProductsAPI.cjs +184 -0
  32. package/dist/cjs/apis/business/products/ProductsAPI.cjs.map +1 -0
  33. package/dist/cjs/apis/business/products/images/ProductImagesAPI.cjs +195 -0
  34. package/dist/cjs/apis/business/products/images/ProductImagesAPI.cjs.map +1 -0
  35. package/dist/cjs/apis/business/products/modifiers/ModifiersAPI.cjs +169 -0
  36. package/dist/cjs/apis/business/products/modifiers/ModifiersAPI.cjs.map +1 -0
  37. package/dist/cjs/apis/business/products/options/ProductOptionsAPI.cjs +183 -0
  38. package/dist/cjs/apis/business/products/options/ProductOptionsAPI.cjs.map +1 -0
  39. package/dist/cjs/apis/business/products/variants/ProductVariantsAPI.cjs +185 -0
  40. package/dist/cjs/apis/business/products/variants/ProductVariantsAPI.cjs.map +1 -0
  41. package/dist/cjs/apis/business/promo-codes/PromoCodesAPI.cjs +139 -0
  42. package/dist/cjs/apis/business/promo-codes/PromoCodesAPI.cjs.map +1 -0
  43. package/dist/cjs/apis/business/reviews/ReviewsAPI.cjs +143 -0
  44. package/dist/cjs/apis/business/reviews/ReviewsAPI.cjs.map +1 -0
  45. package/dist/cjs/apis/business/tables/TablesAPI.cjs +75 -0
  46. package/dist/cjs/apis/business/tables/TablesAPI.cjs.map +1 -0
  47. package/dist/cjs/apis/business/taxes/TaxesAPI.cjs +140 -0
  48. package/dist/cjs/apis/business/taxes/TaxesAPI.cjs.map +1 -0
  49. package/dist/cjs/apis/business/team/TeamMemberInvitationsAPI.cjs +161 -0
  50. package/dist/cjs/apis/business/team/TeamMemberInvitationsAPI.cjs.map +1 -0
  51. package/dist/cjs/apis/business/team/TeamMembersAPI.cjs +93 -0
  52. package/dist/cjs/apis/business/team/TeamMembersAPI.cjs.map +1 -0
  53. package/dist/cjs/apis/business/vendors/VendorsAPI.cjs +239 -0
  54. package/dist/cjs/apis/business/vendors/VendorsAPI.cjs.map +1 -0
  55. package/dist/cjs/apis/documents/DocumentsAPI.cjs +87 -0
  56. package/dist/cjs/apis/documents/DocumentsAPI.cjs.map +1 -0
  57. package/dist/cjs/apis/expenses/ExpensesAPI.cjs +62 -0
  58. package/dist/cjs/apis/expenses/ExpensesAPI.cjs.map +1 -0
  59. package/dist/cjs/apis/friends/FriendsAPI.cjs +150 -0
  60. package/dist/cjs/apis/friends/FriendsAPI.cjs.map +1 -0
  61. package/dist/cjs/apis/integrations/IntegrationsAPI.cjs +55 -0
  62. package/dist/cjs/apis/integrations/IntegrationsAPI.cjs.map +1 -0
  63. package/dist/cjs/apis/invoices/InvoicesAPI.cjs +168 -0
  64. package/dist/cjs/apis/invoices/InvoicesAPI.cjs.map +1 -0
  65. package/dist/cjs/apis/loyalty/LoyaltyProgramAPI.cjs +484 -0
  66. package/dist/cjs/apis/loyalty/LoyaltyProgramAPI.cjs.map +1 -0
  67. package/dist/cjs/apis/notifications/NotificationAPI.cjs +103 -0
  68. package/dist/cjs/apis/notifications/NotificationAPI.cjs.map +1 -0
  69. package/dist/cjs/apis/payment-methods/PaymentMethodsAPI.cjs +125 -0
  70. package/dist/cjs/apis/payment-methods/PaymentMethodsAPI.cjs.map +1 -0
  71. package/dist/cjs/apis/receipts/ReceiptAPI.cjs +135 -0
  72. package/dist/cjs/apis/receipts/ReceiptAPI.cjs.map +1 -0
  73. package/dist/cjs/apis/user/UserAPI.cjs +130 -0
  74. package/dist/cjs/apis/user/UserAPI.cjs.map +1 -0
  75. package/dist/cjs/apis/vendors/VendorsAPI.cjs +171 -0
  76. package/dist/cjs/apis/vendors/VendorsAPI.cjs.map +1 -0
  77. package/dist/cjs/context/ApiContext.cjs +94 -0
  78. package/dist/cjs/context/ApiContext.cjs.map +1 -0
  79. package/dist/cjs/index.cjs +222 -0
  80. package/dist/cjs/index.cjs.map +1 -0
  81. package/dist/esm/apis/SBApiKeys.mjs +55 -0
  82. package/dist/esm/apis/SBApiKeys.mjs.map +1 -0
  83. package/dist/esm/apis/api-logs/LogsAPI.mjs +39 -0
  84. package/dist/esm/apis/api-logs/LogsAPI.mjs.map +1 -0
  85. package/dist/esm/apis/attachments/AttachmentsAPI.mjs +142 -0
  86. package/dist/esm/apis/attachments/AttachmentsAPI.mjs.map +1 -0
  87. package/dist/esm/apis/banks/accounts/BankAccountAPI.mjs +84 -0
  88. package/dist/esm/apis/banks/accounts/BankAccountAPI.mjs.map +1 -0
  89. package/dist/esm/apis/banks/bank-institutions/BankInstitutionsAPI.mjs +55 -0
  90. package/dist/esm/apis/banks/bank-institutions/BankInstitutionsAPI.mjs.map +1 -0
  91. package/dist/esm/apis/banks/bank-transactions/BankTransactionAPI.mjs +54 -0
  92. package/dist/esm/apis/banks/bank-transactions/BankTransactionAPI.mjs.map +1 -0
  93. package/dist/esm/apis/business/BusinessAPI.mjs +165 -0
  94. package/dist/esm/apis/business/BusinessAPI.mjs.map +1 -0
  95. package/dist/esm/apis/business/customers/CustomerAPI.mjs +155 -0
  96. package/dist/esm/apis/business/customers/CustomerAPI.mjs.map +1 -0
  97. package/dist/esm/apis/business/customers/CustomerBalanceTransactionsAPI.mjs +68 -0
  98. package/dist/esm/apis/business/customers/CustomerBalanceTransactionsAPI.mjs.map +1 -0
  99. package/dist/esm/apis/business/customers/CustomerPaymentMethodsAPI.mjs +170 -0
  100. package/dist/esm/apis/business/customers/CustomerPaymentMethodsAPI.mjs.map +1 -0
  101. package/dist/esm/apis/business/departments/DepartmentApi.mjs +161 -0
  102. package/dist/esm/apis/business/departments/DepartmentApi.mjs.map +1 -0
  103. package/dist/esm/apis/business/departments/employees/DepartmentEmployeesAPI.mjs +132 -0
  104. package/dist/esm/apis/business/departments/employees/DepartmentEmployeesAPI.mjs.map +1 -0
  105. package/dist/esm/apis/business/fees/FeesAPI.mjs +161 -0
  106. package/dist/esm/apis/business/fees/FeesAPI.mjs.map +1 -0
  107. package/dist/esm/apis/business/locations/LocationsAPI.mjs +127 -0
  108. package/dist/esm/apis/business/locations/LocationsAPI.mjs.map +1 -0
  109. package/dist/esm/apis/business/products/ProductsAPI.mjs +177 -0
  110. package/dist/esm/apis/business/products/ProductsAPI.mjs.map +1 -0
  111. package/dist/esm/apis/business/products/images/ProductImagesAPI.mjs +188 -0
  112. package/dist/esm/apis/business/products/images/ProductImagesAPI.mjs.map +1 -0
  113. package/dist/esm/apis/business/products/modifiers/ModifiersAPI.mjs +163 -0
  114. package/dist/esm/apis/business/products/modifiers/ModifiersAPI.mjs.map +1 -0
  115. package/dist/esm/apis/business/products/options/ProductOptionsAPI.mjs +177 -0
  116. package/dist/esm/apis/business/products/options/ProductOptionsAPI.mjs.map +1 -0
  117. package/dist/esm/apis/business/products/variants/ProductVariantsAPI.mjs +179 -0
  118. package/dist/esm/apis/business/products/variants/ProductVariantsAPI.mjs.map +1 -0
  119. package/dist/esm/apis/business/promo-codes/PromoCodesAPI.mjs +133 -0
  120. package/dist/esm/apis/business/promo-codes/PromoCodesAPI.mjs.map +1 -0
  121. package/dist/esm/apis/business/reviews/ReviewsAPI.mjs +137 -0
  122. package/dist/esm/apis/business/reviews/ReviewsAPI.mjs.map +1 -0
  123. package/dist/esm/apis/business/tables/TablesAPI.mjs +70 -0
  124. package/dist/esm/apis/business/tables/TablesAPI.mjs.map +1 -0
  125. package/dist/esm/apis/business/taxes/TaxesAPI.mjs +134 -0
  126. package/dist/esm/apis/business/taxes/TaxesAPI.mjs.map +1 -0
  127. package/dist/esm/apis/business/team/TeamMemberInvitationsAPI.mjs +153 -0
  128. package/dist/esm/apis/business/team/TeamMemberInvitationsAPI.mjs.map +1 -0
  129. package/dist/esm/apis/business/team/TeamMembersAPI.mjs +88 -0
  130. package/dist/esm/apis/business/team/TeamMembersAPI.mjs.map +1 -0
  131. package/dist/esm/apis/business/vendors/VendorsAPI.mjs +230 -0
  132. package/dist/esm/apis/business/vendors/VendorsAPI.mjs.map +1 -0
  133. package/dist/esm/apis/documents/DocumentsAPI.mjs +82 -0
  134. package/dist/esm/apis/documents/DocumentsAPI.mjs.map +1 -0
  135. package/dist/esm/apis/expenses/ExpensesAPI.mjs +58 -0
  136. package/dist/esm/apis/expenses/ExpensesAPI.mjs.map +1 -0
  137. package/dist/esm/apis/friends/FriendsAPI.mjs +144 -0
  138. package/dist/esm/apis/friends/FriendsAPI.mjs.map +1 -0
  139. package/dist/esm/apis/integrations/IntegrationsAPI.mjs +52 -0
  140. package/dist/esm/apis/integrations/IntegrationsAPI.mjs.map +1 -0
  141. package/dist/esm/apis/invoices/InvoicesAPI.mjs +161 -0
  142. package/dist/esm/apis/invoices/InvoicesAPI.mjs.map +1 -0
  143. package/dist/esm/apis/loyalty/LoyaltyProgramAPI.mjs +482 -0
  144. package/dist/esm/apis/loyalty/LoyaltyProgramAPI.mjs.map +1 -0
  145. package/dist/esm/apis/notifications/NotificationAPI.mjs +98 -0
  146. package/dist/esm/apis/notifications/NotificationAPI.mjs.map +1 -0
  147. package/dist/esm/apis/payment-methods/PaymentMethodsAPI.mjs +117 -0
  148. package/dist/esm/apis/payment-methods/PaymentMethodsAPI.mjs.map +1 -0
  149. package/dist/esm/apis/receipts/ReceiptAPI.mjs +129 -0
  150. package/dist/esm/apis/receipts/ReceiptAPI.mjs.map +1 -0
  151. package/dist/esm/apis/user/UserAPI.mjs +123 -0
  152. package/dist/esm/apis/user/UserAPI.mjs.map +1 -0
  153. package/dist/esm/apis/vendors/VendorsAPI.mjs +162 -0
  154. package/dist/esm/apis/vendors/VendorsAPI.mjs.map +1 -0
  155. package/dist/esm/context/ApiContext.mjs +86 -0
  156. package/dist/esm/context/ApiContext.mjs.map +1 -0
  157. package/dist/esm/index.mjs +39 -0
  158. package/dist/esm/index.mjs.map +1 -0
  159. package/dist/umd/index.js +5056 -0
  160. package/dist/umd/index.js.map +1 -0
  161. package/package.json +3 -3
@@ -0,0 +1,161 @@
1
+ 'use strict';
2
+
3
+ var ApiContext = require('../../../context/ApiContext.cjs');
4
+ var reactQuery = require('@tanstack/react-query');
5
+ var SBApiKeys = require('../../SBApiKeys.cjs');
6
+
7
+ const useInviteMemberToBusinessMutation = () => {
8
+ const client = ApiContext.useApiClient();
9
+ const queryClient = reactQuery.useQueryClient();
10
+ const businessId = ApiContext.useBusinessId();
11
+ return reactQuery.useMutation({
12
+ mutationFn: async ({
13
+ request
14
+ }) => {
15
+ return client.businesses.teamMembers.invitations.createAsync(businessId, request);
16
+ },
17
+ onSuccess: (_, {}) => {
18
+ queryClient.invalidateQueries({
19
+ queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.TeamMemberInvitations]
20
+ });
21
+ }
22
+ });
23
+ };
24
+ const useCancelTeamMemberInvitation = () => {
25
+ const client = ApiContext.useApiClient();
26
+ const queryClient = reactQuery.useQueryClient();
27
+ const businessId = ApiContext.useBusinessId();
28
+ return reactQuery.useMutation({
29
+ mutationFn: async ({
30
+ invitationId
31
+ }) => {
32
+ return await client.businesses.teamMembers.invitations.deleteAsync(businessId, invitationId);
33
+ },
34
+ onSuccess: _ => {
35
+ queryClient.invalidateQueries({
36
+ queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.TeamMemberInvitations]
37
+ });
38
+ }
39
+ });
40
+ };
41
+ const useGetTeamMemberInvitationById = ({
42
+ invitationId
43
+ }) => {
44
+ const client = ApiContext.useApiClient();
45
+ reactQuery.useQueryClient();
46
+ const businessId = ApiContext.useBusinessId();
47
+ return reactQuery.useQuery({
48
+ queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.TeamMemberInvitations, invitationId],
49
+ queryFn: async () => {
50
+ return client.businesses.teamMembers.invitations.getByIdAsync(businessId, invitationId);
51
+ }
52
+ });
53
+ };
54
+ /**
55
+ * Hook for creating an business invitation
56
+ * @returns Mutation function for creating business invitations
57
+ */
58
+ const useCreateTeamMemberInvitationMutation = () => {
59
+ const client = ApiContext.useApiClient();
60
+ const queryClient = reactQuery.useQueryClient();
61
+ const businessId = ApiContext.useBusinessId();
62
+ return reactQuery.useMutation({
63
+ mutationFn: async ({
64
+ request,
65
+ options,
66
+ config
67
+ }) => {
68
+ return client.businesses.teamMembers.invitations.createAsync(businessId, request, options, config);
69
+ },
70
+ onSuccess: (_, {}) => {
71
+ queryClient.invalidateQueries({
72
+ queryKey: [SBApiKeys.SBApiKeys.TeamMemberInvitations, businessId]
73
+ });
74
+ }
75
+ });
76
+ };
77
+ /**
78
+ * Hook for accepting an business invitation
79
+ * @returns Mutation function for accepting business invitations
80
+ */
81
+ const useAcceptTeamMemberInvitationMutation = () => {
82
+ const client = ApiContext.useApiClient();
83
+ const queryClient = reactQuery.useQueryClient();
84
+ const businessId = ApiContext.useBusinessId();
85
+ return reactQuery.useMutation({
86
+ mutationFn: async ({
87
+ invitationId,
88
+ request
89
+ }) => {
90
+ return client.businesses.teamMembers.invitations.accept(businessId, invitationId, request);
91
+ },
92
+ onSuccess: (_, {}) => {
93
+ queryClient.invalidateQueries({
94
+ queryKey: [SBApiKeys.SBApiKeys.TeamMemberInvitations, businessId]
95
+ });
96
+ }
97
+ });
98
+ };
99
+ /**
100
+ * Hook for refusing an business invitation
101
+ * @returns Mutation function for refusing business invitations
102
+ */
103
+ const useRefuseTeamMemberInvitationMutation = () => {
104
+ const client = ApiContext.useApiClient();
105
+ const queryClient = reactQuery.useQueryClient();
106
+ const businessId = ApiContext.useBusinessId();
107
+ return reactQuery.useMutation({
108
+ mutationFn: async ({
109
+ invitationId,
110
+ request
111
+ }) => {
112
+ return client.businesses.teamMembers.invitations.accept(businessId, invitationId, request);
113
+ },
114
+ onSuccess: (_, {}) => {
115
+ queryClient.invalidateQueries({
116
+ queryKey: [SBApiKeys.SBApiKeys.TeamMemberInvitations, businessId]
117
+ });
118
+ }
119
+ });
120
+ };
121
+ /**
122
+ * Hook for listing business invitations with infinite pagination
123
+ * @param businessId - The ID of the business
124
+ * @param request - Request parameters for listing invitations
125
+ * @param options - Optional request options
126
+ * @param config - Optional Axios request configuration
127
+ * @returns Infinite query result for implementing infinite scrolling with business invitations data
128
+ */
129
+ function useListTeamMemberInvitationsInfiniteQuery(businessId, request = {
130
+ page: 1,
131
+ pageSize: 25
132
+ }, options, config) {
133
+ const client = ApiContext.useApiClient();
134
+ return reactQuery.useInfiniteQuery({
135
+ initialPageParam: request.page || 1,
136
+ queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.TeamMemberInvitations, request, options],
137
+ queryFn: async ({
138
+ pageParam = 1
139
+ }) => {
140
+ return await client.businesses.teamMembers.invitations.listAsync(businessId, {
141
+ ...request,
142
+ page: pageParam
143
+ }, options, config);
144
+ },
145
+ getNextPageParam: lastPage => {
146
+ if (lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
147
+ return lastPage.pagination.currentPage + 1;
148
+ }
149
+ return undefined;
150
+ }
151
+ });
152
+ }
153
+
154
+ exports.useAcceptTeamMemberInvitationMutation = useAcceptTeamMemberInvitationMutation;
155
+ exports.useCancelTeamMemberInvitation = useCancelTeamMemberInvitation;
156
+ exports.useCreateTeamMemberInvitationMutation = useCreateTeamMemberInvitationMutation;
157
+ exports.useGetTeamMemberInvitationById = useGetTeamMemberInvitationById;
158
+ exports.useInviteMemberToBusinessMutation = useInviteMemberToBusinessMutation;
159
+ exports.useListTeamMemberInvitationsInfiniteQuery = useListTeamMemberInvitationsInfiniteQuery;
160
+ exports.useRefuseTeamMemberInvitationMutation = useRefuseTeamMemberInvitationMutation;
161
+ //# sourceMappingURL=TeamMemberInvitationsAPI.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TeamMemberInvitationsAPI.cjs","sources":["../../../../../src/apis/business/team/TeamMemberInvitationsAPI.tsx"],"sourcesContent":["import { useApiClient, useBusinessId } from \"@/context\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport {\n\tTeamMemberInvitationListRequest,\n\tTeamMemberInvitationRequest,\n\tTeamMemberInvitationResponseRequest,\n\tSBApiException,\n\tSBList,\n\tSBTeamMemberInvitation,\n\tSBRequestOptions,\n} from \"@smartbills/sdk\";\nimport { QueryKey, useMutation, useQuery } from \"@tanstack/react-query\";\nimport { SBApiKeys } from \"@/apis/SBApiKeys\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { useInfiniteQuery, InfiniteData } from \"@tanstack/react-query\";\n\ninterface TeamMemberInvitationRequestMutation {\n\trequest: TeamMemberInvitationRequest;\n}\n\nexport const useInviteMemberToBusinessMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\treturn useMutation<\n\t\tSBTeamMemberInvitation,\n\t\tSBApiException,\n\t\tTeamMemberInvitationRequestMutation\n\t>({\n\t\tmutationFn: async ({\n\t\t\trequest,\n\t\t}: TeamMemberInvitationRequestMutation) => {\n\t\t\treturn client.businesses.teamMembers.invitations.createAsync(\n\t\t\t\tbusinessId,\n\t\t\t\trequest,\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.TeamMemberInvitations,\n\t\t\t\t],\n\t\t\t});\n\t\t},\n\t});\n};\n\ninterface TeamMemberInvitationCancelMutation {\n\tinvitationId: number;\n}\n\nexport const useCancelTeamMemberInvitation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tSBTeamMemberInvitation,\n\t\tSBApiException,\n\t\tTeamMemberInvitationCancelMutation\n\t>({\n\t\tmutationFn: async ({\n\t\t\tinvitationId,\n\t\t}: TeamMemberInvitationCancelMutation) => {\n\t\t\treturn await client.businesses.teamMembers.invitations.deleteAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tinvitationId,\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.TeamMemberInvitations,\n\t\t\t\t],\n\t\t\t});\n\t\t},\n\t});\n};\n\ninterface TeamMemberInvitationAcceptMutation {\n\tinvitationId: number;\n\trequest: TeamMemberInvitationResponseRequest;\n\toptions?: SBRequestOptions;\n\tconfig?: AxiosRequestConfig<TeamMemberInvitationResponseRequest>;\n}\n\ninterface TeamMemberInvitationRefuseMutation {\n\tinvitationId: number;\n\trequest: TeamMemberInvitationResponseRequest;\n}\n\ninterface GetTeamMemberInvitationQuery {\n\tinvitationId: number;\n}\n\nexport const useGetTeamMemberInvitationById = ({\n\tinvitationId,\n}: GetTeamMemberInvitationQuery) => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\treturn useQuery<SBTeamMemberInvitation, SBApiException>({\n\t\tqueryKey: [\n\t\t\tSBApiKeys.Businesses,\n\t\t\tbusinessId,\n\t\t\tSBApiKeys.TeamMemberInvitations,\n\t\t\tinvitationId,\n\t\t],\n\t\tqueryFn: async () => {\n\t\t\treturn client.businesses.teamMembers.invitations.getByIdAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tinvitationId,\n\t\t\t);\n\t\t},\n\t});\n};\n\ninterface TeamMemberInvitationCreateMutation {\n\trequest: TeamMemberInvitationRequest;\n\toptions?: SBRequestOptions;\n\tconfig?: AxiosRequestConfig<TeamMemberInvitationRequest>;\n}\n\n/**\n * Hook for creating an business invitation\n * @returns Mutation function for creating business invitations\n */\nexport const useCreateTeamMemberInvitationMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\treturn useMutation<\n\t\tSBTeamMemberInvitation,\n\t\tSBApiException,\n\t\tTeamMemberInvitationCreateMutation\n\t>({\n\t\tmutationFn: async ({\n\t\t\trequest,\n\t\t\toptions,\n\t\t\tconfig,\n\t\t}: TeamMemberInvitationCreateMutation) => {\n\t\t\treturn client.businesses.teamMembers.invitations.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: [SBApiKeys.TeamMemberInvitations, businessId],\n\t\t\t});\n\t\t},\n\t});\n};\n\n/**\n * Hook for accepting an business invitation\n * @returns Mutation function for accepting business invitations\n */\nexport const useAcceptTeamMemberInvitationMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\treturn useMutation<\n\t\tSBTeamMemberInvitation,\n\t\tSBApiException,\n\t\tTeamMemberInvitationAcceptMutation\n\t>({\n\t\tmutationFn: async ({\n\t\t\tinvitationId,\n\t\t\trequest,\n\t\t}: TeamMemberInvitationAcceptMutation) => {\n\t\t\treturn client.businesses.teamMembers.invitations.accept(\n\t\t\t\tbusinessId,\n\t\t\t\tinvitationId,\n\t\t\t\trequest,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (_, {}) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.TeamMemberInvitations, businessId],\n\t\t\t});\n\t\t},\n\t});\n};\n\n/**\n * Hook for refusing an business invitation\n * @returns Mutation function for refusing business invitations\n */\nexport const useRefuseTeamMemberInvitationMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\treturn useMutation<\n\t\tSBTeamMemberInvitation,\n\t\tSBApiException,\n\t\tTeamMemberInvitationRefuseMutation\n\t>({\n\t\tmutationFn: async ({\n\t\t\tinvitationId,\n\t\t\trequest,\n\t\t}: TeamMemberInvitationRefuseMutation) => {\n\t\t\treturn client.businesses.teamMembers.invitations.accept(\n\t\t\t\tbusinessId,\n\t\t\t\tinvitationId,\n\t\t\t\trequest,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (_, {}) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.TeamMemberInvitations, businessId],\n\t\t\t});\n\t\t},\n\t});\n};\n\n/**\n * Hook for listing business invitations with infinite pagination\n * @param businessId - The ID of the business\n * @param request - Request parameters for listing invitations\n * @param options - Optional request options\n * @param config - Optional Axios request configuration\n * @returns Infinite query result for implementing infinite scrolling with business invitations data\n */\nexport function useListTeamMemberInvitationsInfiniteQuery(\n\tbusinessId: number,\n\trequest: TeamMemberInvitationListRequest = { page: 1, pageSize: 25 },\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig<TeamMemberInvitationListRequest>,\n) {\n\tconst client = useApiClient();\n\treturn useInfiniteQuery<\n\t\tSBList<SBTeamMemberInvitation>,\n\t\tSBApiException,\n\t\tInfiniteData<SBList<SBTeamMemberInvitation>>,\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.TeamMemberInvitations,\n\t\t\trequest,\n\t\t\toptions,\n\t\t],\n\t\tqueryFn: async ({ pageParam = 1 }) => {\n\t\t\treturn await client.businesses.teamMembers.invitations.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});\n}\n"],"names":["useInviteMemberToBusinessMutation","client","useApiClient","queryClient","useQueryClient","businessId","useBusinessId","useMutation","mutationFn","request","businesses","teamMembers","invitations","createAsync","onSuccess","_","invalidateQueries","queryKey","SBApiKeys","Businesses","TeamMemberInvitations","useCancelTeamMemberInvitation","invitationId","deleteAsync","useGetTeamMemberInvitationById","useQuery","queryFn","getByIdAsync","useCreateTeamMemberInvitationMutation","options","config","useAcceptTeamMemberInvitationMutation","accept","useRefuseTeamMemberInvitationMutation","useListTeamMemberInvitationsInfiniteQuery","page","pageSize","useInfiniteQuery","initialPageParam","pageParam","listAsync","getNextPageParam","lastPage","pagination","currentPage","pageCount","undefined"],"mappings":";;;;;;AAoBaA,MAAAA,iCAAiC,GAAGA,MAAK;AACrD,EAAA,MAAMC,MAAM,GAAGC,uBAAY,EAAE;AAC7B,EAAA,MAAMC,WAAW,GAAGC,yBAAc,EAAE;AACpC,EAAA,MAAMC,UAAU,GAAGC,wBAAa,EAAE;AAClC,EAAA,OAAOC,sBAAW,CAIhB;IACDC,UAAU,EAAE,OAAO;AAClBC,MAAAA;AAAO,KAC8B,KAAI;AACzC,MAAA,OAAOR,MAAM,CAACS,UAAU,CAACC,WAAW,CAACC,WAAW,CAACC,WAAW,CAC3DR,UAAU,EACVI,OAAO,CACP;KACD;AACDK,IAAAA,SAAS,EAAEA,CAACC,CAAC,EAAE,EAAE,KAAI;MACpBZ,WAAW,CAACa,iBAAiB,CAAC;QAC7BC,QAAQ,EAAE,CACTC,mBAAS,CAACC,UAAU,EACpBd,UAAU,EACVa,mBAAS,CAACE,qBAAqB;AAEhC,OAAA,CAAC;AACH;AACA,GAAA,CAAC;AACH;AAMaC,MAAAA,6BAA6B,GAAGA,MAAK;AACjD,EAAA,MAAMpB,MAAM,GAAGC,uBAAY,EAAE;AAC7B,EAAA,MAAMC,WAAW,GAAGC,yBAAc,EAAE;AACpC,EAAA,MAAMC,UAAU,GAAGC,wBAAa,EAAE;AAElC,EAAA,OAAOC,sBAAW,CAIhB;IACDC,UAAU,EAAE,OAAO;AAClBc,MAAAA;AAAY,KACwB,KAAI;AACxC,MAAA,OAAO,MAAMrB,MAAM,CAACS,UAAU,CAACC,WAAW,CAACC,WAAW,CAACW,WAAW,CACjElB,UAAU,EACViB,YAAY,CACZ;KACD;IACDR,SAAS,EAAGC,CAAC,IAAI;MAChBZ,WAAW,CAACa,iBAAiB,CAAC;QAC7BC,QAAQ,EAAE,CACTC,mBAAS,CAACC,UAAU,EACpBd,UAAU,EACVa,mBAAS,CAACE,qBAAqB;AAEhC,OAAA,CAAC;AACH;AACA,GAAA,CAAC;AACH;AAkBO,MAAMI,8BAA8B,GAAGA,CAAC;AAC9CF,EAAAA;AAC8B,CAAA,KAAI;AAClC,EAAA,MAAMrB,MAAM,GAAGC,uBAAY,EAAE;AAC7B,EAAoBE,yBAAc;AAClC,EAAA,MAAMC,UAAU,GAAGC,wBAAa,EAAE;AAClC,EAAA,OAAOmB,mBAAQ,CAAyC;AACvDR,IAAAA,QAAQ,EAAE,CACTC,mBAAS,CAACC,UAAU,EACpBd,UAAU,EACVa,mBAAS,CAACE,qBAAqB,EAC/BE,YAAY,CACZ;IACDI,OAAO,EAAE,YAAW;AACnB,MAAA,OAAOzB,MAAM,CAACS,UAAU,CAACC,WAAW,CAACC,WAAW,CAACe,YAAY,CAC5DtB,UAAU,EACViB,YAAY,CACZ;AACF;AACA,GAAA,CAAC;AACH;AAQA;;;AAGG;AACUM,MAAAA,qCAAqC,GAAGA,MAAK;AACzD,EAAA,MAAM3B,MAAM,GAAGC,uBAAY,EAAE;AAC7B,EAAA,MAAMC,WAAW,GAAGC,yBAAc,EAAE;AACpC,EAAA,MAAMC,UAAU,GAAGC,wBAAa,EAAE;AAClC,EAAA,OAAOC,sBAAW,CAIhB;IACDC,UAAU,EAAE,OAAO;MAClBC,OAAO;MACPoB,OAAO;AACPC,MAAAA;AACoC,KAAA,KAAI;AACxC,MAAA,OAAO7B,MAAM,CAACS,UAAU,CAACC,WAAW,CAACC,WAAW,CAACC,WAAW,CAC3DR,UAAU,EACVI,OAAO,EACPoB,OAAO,EACPC,MAAM,CACN;KACD;AACDhB,IAAAA,SAAS,EAAEA,CAACC,CAAC,EAAE,EAAE,KAAI;MACpBZ,WAAW,CAACa,iBAAiB,CAAC;AAC7BC,QAAAA,QAAQ,EAAE,CAACC,mBAAS,CAACE,qBAAqB,EAAEf,UAAU;AACtD,OAAA,CAAC;AACH;AACA,GAAA,CAAC;AACH;AAEA;;;AAGG;AACU0B,MAAAA,qCAAqC,GAAGA,MAAK;AACzD,EAAA,MAAM9B,MAAM,GAAGC,uBAAY,EAAE;AAC7B,EAAA,MAAMC,WAAW,GAAGC,yBAAc,EAAE;AACpC,EAAA,MAAMC,UAAU,GAAGC,wBAAa,EAAE;AAClC,EAAA,OAAOC,sBAAW,CAIhB;IACDC,UAAU,EAAE,OAAO;MAClBc,YAAY;AACZb,MAAAA;AACoC,KAAA,KAAI;AACxC,MAAA,OAAOR,MAAM,CAACS,UAAU,CAACC,WAAW,CAACC,WAAW,CAACoB,MAAM,CACtD3B,UAAU,EACViB,YAAY,EACZb,OAAO,CACP;KACD;AACDK,IAAAA,SAAS,EAAEA,CAACC,CAAC,EAAE,EAAE,KAAI;MACpBZ,WAAW,CAACa,iBAAiB,CAAC;AAC7BC,QAAAA,QAAQ,EAAE,CAACC,mBAAS,CAACE,qBAAqB,EAAEf,UAAU;AACtD,OAAA,CAAC;AACH;AACA,GAAA,CAAC;AACH;AAEA;;;AAGG;AACU4B,MAAAA,qCAAqC,GAAGA,MAAK;AACzD,EAAA,MAAMhC,MAAM,GAAGC,uBAAY,EAAE;AAC7B,EAAA,MAAMC,WAAW,GAAGC,yBAAc,EAAE;AACpC,EAAA,MAAMC,UAAU,GAAGC,wBAAa,EAAE;AAClC,EAAA,OAAOC,sBAAW,CAIhB;IACDC,UAAU,EAAE,OAAO;MAClBc,YAAY;AACZb,MAAAA;AACoC,KAAA,KAAI;AACxC,MAAA,OAAOR,MAAM,CAACS,UAAU,CAACC,WAAW,CAACC,WAAW,CAACoB,MAAM,CACtD3B,UAAU,EACViB,YAAY,EACZb,OAAO,CACP;KACD;AACDK,IAAAA,SAAS,EAAEA,CAACC,CAAC,EAAE,EAAE,KAAI;MACpBZ,WAAW,CAACa,iBAAiB,CAAC;AAC7BC,QAAAA,QAAQ,EAAE,CAACC,mBAAS,CAACE,qBAAqB,EAAEf,UAAU;AACtD,OAAA,CAAC;AACH;AACA,GAAA,CAAC;AACH;AAEA;;;;;;;AAOG;SACa6B,yCAAyCA,CACxD7B,UAAkB,EAClBI,OAAA,GAA2C;AAAE0B,EAAAA,IAAI,EAAE,CAAC;AAAEC,EAAAA,QAAQ,EAAE;CAAI,EACpEP,OAA0B,EAC1BC,MAA4D,EAAA;AAE5D,EAAA,MAAM7B,MAAM,GAAGC,uBAAY,EAAE;AAC7B,EAAA,OAAOmC,2BAAgB,CAMrB;AACDC,IAAAA,gBAAgB,EAAE7B,OAAO,CAAC0B,IAAI,IAAI,CAAC;AACnClB,IAAAA,QAAQ,EAAE,CACTC,mBAAS,CAACC,UAAU,EACpBd,UAAU,EACVa,mBAAS,CAACE,qBAAqB,EAC/BX,OAAO,EACPoB,OAAO,CACP;IACDH,OAAO,EAAE,OAAO;AAAEa,MAAAA,SAAS,GAAG;AAAG,KAAA,KAAI;AACpC,MAAA,OAAO,MAAMtC,MAAM,CAACS,UAAU,CAACC,WAAW,CAACC,WAAW,CAAC4B,SAAS,CAC/DnC,UAAU,EACV;AAAE,QAAA,GAAGI,OAAO;AAAE0B,QAAAA,IAAI,EAAEI;AAAW,OAAA,EAC/BV,OAAO,EACPC,MAAM,CACN;KACD;IACDW,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;AACjB;AACA,GAAA,CAAC;AACH;;;;;;;;;;"}
@@ -0,0 +1,93 @@
1
+ 'use strict';
2
+
3
+ var ApiContext = require('../../../context/ApiContext.cjs');
4
+ var reactQuery = require('@tanstack/react-query');
5
+ var SBApiKeys = require('../../SBApiKeys.cjs');
6
+
7
+ const useChangeTeamMemberRoleMutation = () => {
8
+ const client = ApiContext.useApiClient();
9
+ const queryClient = reactQuery.useQueryClient();
10
+ const businessId = ApiContext.useBusinessId();
11
+ return reactQuery.useMutation({
12
+ mutationFn: async ({
13
+ id
14
+ }) => {
15
+ return client.businesses.deleteMember(businessId, id);
16
+ },
17
+ onSuccess: (_, {
18
+ id
19
+ }) => {
20
+ queryClient.invalidateQueries({
21
+ queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId]
22
+ });
23
+ queryClient.invalidateQueries({
24
+ queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.TeamMembers]
25
+ });
26
+ }
27
+ });
28
+ };
29
+ const useDeleteTeamMemberMutation = () => {
30
+ const client = ApiContext.useApiClient();
31
+ const queryClient = reactQuery.useQueryClient();
32
+ const businessId = ApiContext.useBusinessId();
33
+ return reactQuery.useMutation({
34
+ mutationFn: async ({
35
+ id
36
+ }) => {
37
+ return client.businesses.deleteMember(businessId, id);
38
+ },
39
+ onSuccess: (_, {
40
+ id
41
+ }) => {
42
+ queryClient.invalidateQueries({
43
+ queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.TeamMembers]
44
+ });
45
+ }
46
+ });
47
+ };
48
+ function useListTeamMembersInfiniteQuery(request = {
49
+ page: 1,
50
+ pageSize: 25
51
+ }, options, config) {
52
+ const client = ApiContext.useApiClient();
53
+ reactQuery.useQueryClient();
54
+ const businessId = ApiContext.useBusinessId();
55
+ return reactQuery.useInfiniteQuery({
56
+ initialPageParam: request.page || 1,
57
+ queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.TeamMembers, request, options],
58
+ queryFn: async ({
59
+ pageParam = 1
60
+ }) => {
61
+ return await client.businesses.listMembers(businessId, {
62
+ ...request,
63
+ page: pageParam
64
+ }, options, config);
65
+ },
66
+ getPreviousPageParam: firstPage => {
67
+ if (firstPage.pagination.currentPage === 1) {
68
+ return undefined;
69
+ }
70
+ return firstPage.pagination.currentPage - 1;
71
+ },
72
+ getNextPageParam: lastPage => {
73
+ if (lastPage.pagination.currentPage === lastPage.pagination.pageCount) {
74
+ return undefined;
75
+ }
76
+ return lastPage.pagination.currentPage + 1;
77
+ }
78
+ });
79
+ }
80
+ const useGetTeamMemberByIdQuery = id => {
81
+ const client = ApiContext.useApiClient();
82
+ const businessId = ApiContext.useBusinessId();
83
+ return reactQuery.useQuery({
84
+ queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.TeamMembers, id],
85
+ queryFn: async () => await client.businesses.getMemberById(businessId, id)
86
+ });
87
+ };
88
+
89
+ exports.useChangeTeamMemberRoleMutation = useChangeTeamMemberRoleMutation;
90
+ exports.useDeleteTeamMemberMutation = useDeleteTeamMemberMutation;
91
+ exports.useGetTeamMemberByIdQuery = useGetTeamMemberByIdQuery;
92
+ exports.useListTeamMembersInfiniteQuery = useListTeamMembersInfiniteQuery;
93
+ //# sourceMappingURL=TeamMembersAPI.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TeamMembersAPI.cjs","sources":["../../../../../src/apis/business/team/TeamMembersAPI.tsx"],"sourcesContent":["import { useApiClient, useBusinessId } from \"@/context\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport {\n\tTeamMemberListRequest,\n\tSBApiException,\n\tSBTeamMember,\n\tSBTeamMemberRole,\n\tSBRequestOptions,\n\tSBList,\n} from \"@smartbills/sdk\";\nimport {\n\tQueryKey,\n\tuseInfiniteQuery,\n\tuseMutation,\n\tuseQuery,\n\tInfiniteData,\n} from \"@tanstack/react-query\";\nimport { SBApiKeys } from \"@/apis/SBApiKeys\";\nimport { AxiosRequestConfig } from \"axios\";\n\nexport const useChangeTeamMemberRoleMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<SBTeamMember, SBApiException, { id: number }>({\n\t\tmutationFn: async ({ id }) => {\n\t\t\treturn client.businesses.deleteMember(businessId, id);\n\t\t},\n\t\tonSuccess: (_, { id }) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Businesses, businessId],\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.TeamMembers,\n\t\t\t\t],\n\t\t\t});\n\t\t},\n\t});\n};\n\nexport const useDeleteTeamMemberMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<SBTeamMember, SBApiException, { id: number }>({\n\t\tmutationFn: async ({ id }) => {\n\t\t\treturn client.businesses.deleteMember(businessId, id);\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.TeamMembers,\n\t\t\t\t],\n\t\t\t});\n\t\t},\n\t});\n};\n\nexport function useListTeamMembersInfiniteQuery(\n\trequest: TeamMemberListRequest = { page: 1, pageSize: 25 },\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig<TeamMemberListRequest>,\n) {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\treturn useInfiniteQuery<\n\t\tSBList<SBTeamMember>,\n\t\tSBApiException,\n\t\tInfiniteData<SBList<SBTeamMember>>,\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.TeamMembers,\n\t\t\trequest,\n\t\t\toptions,\n\t\t],\n\t\tqueryFn: async ({ pageParam = 1 }) => {\n\t\t\treturn await client.businesses.listMembers(\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\tgetPreviousPageParam: (firstPage) => {\n\t\t\tif (firstPage.pagination.currentPage === 1) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\treturn firstPage.pagination.currentPage - 1;\n\t\t},\n\t\tgetNextPageParam: (lastPage) => {\n\t\t\tif (\n\t\t\t\tlastPage.pagination.currentPage ===\n\t\t\t\tlastPage.pagination.pageCount\n\t\t\t) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\treturn lastPage.pagination.currentPage + 1;\n\t\t},\n\t});\n}\n\nexport const useGetTeamMemberByIdQuery = (id: number) => {\n\tconst client = useApiClient();\n\tconst businessId = useBusinessId();\n\treturn useQuery<SBTeamMember, SBApiException>({\n\t\tqueryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.TeamMembers, id],\n\t\tqueryFn: async () =>\n\t\t\tawait client.businesses.getMemberById(businessId, id),\n\t});\n};\n"],"names":["useChangeTeamMemberRoleMutation","client","useApiClient","queryClient","useQueryClient","businessId","useBusinessId","useMutation","mutationFn","id","businesses","deleteMember","onSuccess","_","invalidateQueries","queryKey","SBApiKeys","Businesses","TeamMembers","useDeleteTeamMemberMutation","useListTeamMembersInfiniteQuery","request","page","pageSize","options","config","useInfiniteQuery","initialPageParam","queryFn","pageParam","listMembers","getPreviousPageParam","firstPage","pagination","currentPage","undefined","getNextPageParam","lastPage","pageCount","useGetTeamMemberByIdQuery","useQuery","getMemberById"],"mappings":"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"}
@@ -0,0 +1,239 @@
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 for listing vendors with infinite pagination
9
+ * @param request - Request parameters for listing vendors
10
+ * @param options - Optional request options including businessId and userId
11
+ * @param config - Optional Axios request configuration
12
+ * @returns Infinite query result for implementing infinite scrolling with vendor data
13
+ */
14
+ function useListBusinessVendorsInfiniteQuery(request = {
15
+ page: 1,
16
+ pageSize: 25
17
+ }, options, config) {
18
+ const client = ApiContext.useApiClient();
19
+ const businessId = ApiContext.useBusinessId();
20
+ return reactQuery.useInfiniteQuery({
21
+ initialPageParam: request.page || 1,
22
+ queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Vendors, request, options],
23
+ queryFn: async ({
24
+ pageParam = 1
25
+ }) => {
26
+ const paginatedRequest = {
27
+ ...request,
28
+ page: pageParam
29
+ };
30
+ return client.businesses.vendors.listAsync(businessId, paginatedRequest, options, config);
31
+ },
32
+ getNextPageParam: lastPage => {
33
+ if (lastPage.pagination && lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
34
+ return lastPage.pagination.currentPage + 1;
35
+ }
36
+ return undefined;
37
+ }
38
+ });
39
+ }
40
+ /**
41
+ * Hook for retrieving a vendor by ID
42
+ * @param id - The ID of the vendor to retrieve
43
+ * @param options - Optional request options including businessId and userId
44
+ * @param config - Optional Axios request configuration
45
+ * @returns Query result containing the vendor data, loading state, and error information
46
+ */
47
+ function useGetBusinessVendorByIdQuery(id, options, config) {
48
+ const client = ApiContext.useApiClient();
49
+ const businessId = ApiContext.useBusinessId();
50
+ return reactQuery.useQuery({
51
+ queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Vendors, id, options],
52
+ queryFn: async () => {
53
+ return client.businesses.vendors.getByIdAsync(businessId, id, options, config);
54
+ }
55
+ });
56
+ }
57
+ /**
58
+ * Hook for deleting a vendor
59
+ * @param mutationOptions - Optional React Query mutation options
60
+ * @returns Mutation function and state for deleting vendors
61
+ */
62
+ function useDeleteBusinessVendorMutation(mutationOptions) {
63
+ const queryClient = reactQuery.useQueryClient();
64
+ const businessId = ApiContext.useBusinessId();
65
+ return reactQuery.useMutation({
66
+ mutationFn: async ({
67
+ vendorId,
68
+ options,
69
+ config
70
+ }) => {
71
+ const client = ApiContext.useApiClient();
72
+ return client.businesses.vendors.deleteAsync(businessId, vendorId, options, config);
73
+ },
74
+ onSuccess: (data, variables, context) => {
75
+ queryClient.invalidateQueries({
76
+ queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Vendors]
77
+ });
78
+ // Call custom onSuccess if provided
79
+ mutationOptions?.onSuccess?.(data, variables, context);
80
+ },
81
+ // Spread the rest of the mutation options
82
+ ...mutationOptions
83
+ // Note: We're not spreading onSuccess to avoid overriding our implementation
84
+ });
85
+ }
86
+ /**
87
+ * Hook for creating a new vendor
88
+ * @param mutationOptions - Optional React Query mutation options
89
+ * @returns Mutation function and state for creating vendors
90
+ */
91
+ function useCreateBusinessVendorMutation(mutationOptions) {
92
+ const queryClient = reactQuery.useQueryClient();
93
+ const businessId = ApiContext.useBusinessId();
94
+ return reactQuery.useMutation({
95
+ mutationFn: async ({
96
+ request,
97
+ options,
98
+ config
99
+ }) => {
100
+ const client = ApiContext.useApiClient();
101
+ return client.businesses.vendors.createAsync(businessId, request, options, config);
102
+ },
103
+ onSuccess: (data, variables, context) => {
104
+ queryClient.invalidateQueries({
105
+ queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Vendors]
106
+ });
107
+ // Call custom onSuccess if provided
108
+ mutationOptions?.onSuccess?.(data, variables, context);
109
+ },
110
+ // Spread the rest of the mutation options
111
+ ...mutationOptions
112
+ // Note: We're not spreading onSuccess to avoid overriding our implementation
113
+ });
114
+ }
115
+ /**
116
+ * Hook for updating a vendor
117
+ * @param mutationOptions - Optional React Query mutation options
118
+ * @returns Mutation function and state for updating vendors
119
+ */
120
+ function useUpdateBusinessVendorMutation(mutationOptions) {
121
+ const queryClient = reactQuery.useQueryClient();
122
+ const businessId = ApiContext.useBusinessId();
123
+ return reactQuery.useMutation({
124
+ mutationFn: async ({
125
+ vendorId,
126
+ request,
127
+ options,
128
+ config
129
+ }) => {
130
+ const client = ApiContext.useApiClient();
131
+ return client.businesses.vendors.updateAsync(businessId, vendorId, request, options, config);
132
+ },
133
+ onSuccess: (data, variables, context) => {
134
+ queryClient.invalidateQueries({
135
+ queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Vendors]
136
+ });
137
+ queryClient.invalidateQueries({
138
+ queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Vendors, variables.vendorId]
139
+ });
140
+ // Call custom onSuccess if provided
141
+ mutationOptions?.onSuccess?.(data, variables, context);
142
+ },
143
+ // Spread the rest of the mutation options
144
+ ...mutationOptions
145
+ // Note: We're not spreading onSuccess to avoid overriding our implementation
146
+ });
147
+ }
148
+ /**
149
+ * Hook for getting a vendor link token for Deck connection
150
+ * @param mutationOptions - Optional React Query mutation options
151
+ * @returns Mutation function and state for getting a vendor link token
152
+ */
153
+ function useGetBusinessVendorLinkTokenMutation(mutationOptions) {
154
+ const client = ApiContext.useApiClient();
155
+ const businessId = ApiContext.useBusinessId();
156
+ return reactQuery.useMutation({
157
+ mutationFn: async ({
158
+ options,
159
+ config
160
+ }) => {
161
+ return client.businesses.vendors.getLinkToken(businessId, options, config);
162
+ },
163
+ // Spread all mutation options
164
+ ...mutationOptions
165
+ });
166
+ }
167
+ /**
168
+ * Hook for connecting a vendor to Deck
169
+ * @param mutationOptions - Optional React Query mutation options
170
+ * @returns Mutation function and state for connecting vendors
171
+ */
172
+ function useConnectBusinessVendorMutation(mutationOptions) {
173
+ const queryClient = reactQuery.useQueryClient();
174
+ const businessId = ApiContext.useBusinessId();
175
+ return reactQuery.useMutation({
176
+ mutationFn: async ({
177
+ publicToken,
178
+ options,
179
+ config
180
+ }) => {
181
+ const client = ApiContext.useApiClient();
182
+ return client.businesses.vendors.connectAsync(businessId, {
183
+ publicToken
184
+ }, options, config);
185
+ },
186
+ onSuccess: (data, variables, context) => {
187
+ queryClient.invalidateQueries({
188
+ queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Vendors]
189
+ });
190
+ // Call custom onSuccess if provided
191
+ mutationOptions?.onSuccess?.(data, variables, context);
192
+ },
193
+ // Spread the rest of the mutation options
194
+ ...mutationOptions
195
+ // Note: We're not spreading onSuccess to avoid overriding our implementation
196
+ });
197
+ }
198
+ /**
199
+ * Hook for manually refreshing a vendor's data from Deck
200
+ * @param mutationOptions - Optional React Query mutation options
201
+ * @returns Mutation function and state for refreshing vendors
202
+ */
203
+ function useRefreshBusinessVendorMutation(mutationOptions) {
204
+ const queryClient = reactQuery.useQueryClient();
205
+ const businessId = ApiContext.useBusinessId();
206
+ return reactQuery.useMutation({
207
+ mutationFn: async ({
208
+ vendorId,
209
+ options,
210
+ config
211
+ }) => {
212
+ const client = ApiContext.useApiClient();
213
+ return client.businesses.vendors.manualRefresh(businessId, vendorId, options, config);
214
+ },
215
+ onSuccess: (data, variables, context) => {
216
+ queryClient.invalidateQueries({
217
+ queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Vendors]
218
+ });
219
+ queryClient.invalidateQueries({
220
+ queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Vendors, variables.vendorId]
221
+ });
222
+ // Call custom onSuccess if provided
223
+ mutationOptions?.onSuccess?.(data, variables, context);
224
+ },
225
+ // Spread the rest of the mutation options
226
+ ...mutationOptions
227
+ // Note: We're not spreading onSuccess to avoid overriding our implementation
228
+ });
229
+ }
230
+
231
+ exports.useConnectBusinessVendorMutation = useConnectBusinessVendorMutation;
232
+ exports.useCreateBusinessVendorMutation = useCreateBusinessVendorMutation;
233
+ exports.useDeleteBusinessVendorMutation = useDeleteBusinessVendorMutation;
234
+ exports.useGetBusinessVendorByIdQuery = useGetBusinessVendorByIdQuery;
235
+ exports.useGetBusinessVendorLinkTokenMutation = useGetBusinessVendorLinkTokenMutation;
236
+ exports.useListBusinessVendorsInfiniteQuery = useListBusinessVendorsInfiniteQuery;
237
+ exports.useRefreshBusinessVendorMutation = useRefreshBusinessVendorMutation;
238
+ exports.useUpdateBusinessVendorMutation = useUpdateBusinessVendorMutation;
239
+ //# sourceMappingURL=VendorsAPI.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VendorsAPI.cjs","sources":["../../../../../src/apis/business/vendors/VendorsAPI.ts"],"sourcesContent":["import {\n\tSBList,\n\tSBRequestOptions,\n\tSBApiException,\n\tSBVendor,\n\tVendorListRequest,\n\tVendorCreateRequest,\n\tVendorUpdateRequest,\n\tVendorConnectRequest,\n\tListRequest,\n} from \"@smartbills/sdk\";\nimport { useApiClient } from \"@/context\";\nimport { InfiniteData, useQueryClient } from \"@tanstack/react-query\";\nimport {\n\tQueryKey,\n\tuseInfiniteQuery,\n\tuseMutation,\n\tuseQuery,\n\tUseMutationOptions,\n} from \"@tanstack/react-query\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { SBApiKeys } from \"@/apis/SBApiKeys\";\nimport { useBusinessId } from \"@/context\";\n\n/**\n * Hook for listing vendors with infinite pagination\n * @param request - Request parameters for listing vendors\n * @param options - Optional request options including businessId and userId\n * @param config - Optional Axios request configuration\n * @returns Infinite query result for implementing infinite scrolling with vendor data\n */\nexport function useListBusinessVendorsInfiniteQuery(\n\trequest: ListRequest = { page: 1, pageSize: 25 },\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) {\n\tconst client = useApiClient();\n\tconst businessId = useBusinessId();\n\treturn useInfiniteQuery<\n\t\tSBList<SBVendor>,\n\t\tSBApiException,\n\t\tInfiniteData<SBList<SBVendor>>,\n\t\tQueryKey,\n\t\tnumber\n\t>({\n\t\tinitialPageParam: request.page || 1,\n\t\tqueryKey: [\n\t\t\tSBApiKeys.Businesses,\n\t\t\tbusinessId,\n\t\t\tSBApiKeys.Vendors,\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 client.businesses.vendors.listAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tpaginatedRequest as VendorListRequest,\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 vendor by ID\n * @param id - The ID of the vendor to retrieve\n * @param options - Optional request options including businessId and userId\n * @param config - Optional Axios request configuration\n * @returns Query result containing the vendor data, loading state, and error information\n */\nexport function useGetBusinessVendorByIdQuery(\n\tid: number,\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) {\n\tconst client = useApiClient();\n\tconst businessId = useBusinessId();\n\treturn useQuery({\n\t\tqueryKey: [\n\t\t\tSBApiKeys.Businesses,\n\t\t\tbusinessId,\n\t\t\tSBApiKeys.Vendors,\n\t\t\tid,\n\t\t\toptions,\n\t\t],\n\t\tqueryFn: async () => {\n\t\t\treturn client.businesses.vendors.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});\n}\n\n/**\n * Hook for deleting a vendor\n * @param mutationOptions - Optional React Query mutation options\n * @returns Mutation function and state for deleting vendors\n */\nexport function useDeleteBusinessVendorMutation(\n\tmutationOptions?: Omit<\n\t\tUseMutationOptions<\n\t\t\tSBVendor,\n\t\t\tSBApiException,\n\t\t\t{\n\t\t\t\tvendorId: number;\n\t\t\t\toptions?: SBRequestOptions;\n\t\t\t\tconfig?: AxiosRequestConfig;\n\t\t\t}\n\t\t>,\n\t\t\"mutationFn\"\n\t>,\n) {\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation({\n\t\tmutationFn: async ({\n\t\t\tvendorId,\n\t\t\toptions,\n\t\t\tconfig,\n\t\t}: {\n\t\t\tvendorId: number;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}) => {\n\t\t\tconst client = useApiClient();\n\t\t\treturn client.businesses.vendors.deleteAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tvendorId,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (data, variables, context) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Vendors],\n\t\t\t});\n\n\t\t\t// Call custom onSuccess if provided\n\t\t\tmutationOptions?.onSuccess?.(data, variables, context);\n\t\t},\n\t\t// Spread the rest of the mutation options\n\t\t...mutationOptions,\n\t\t// Note: We're not spreading onSuccess to avoid overriding our implementation\n\t});\n}\n\n/**\n * Hook for creating a new vendor\n * @param mutationOptions - Optional React Query mutation options\n * @returns Mutation function and state for creating vendors\n */\nexport function useCreateBusinessVendorMutation(\n\tmutationOptions?: Omit<\n\t\tUseMutationOptions<\n\t\t\tSBVendor,\n\t\t\tSBApiException,\n\t\t\t{\n\t\t\t\trequest: VendorCreateRequest;\n\t\t\t\toptions?: SBRequestOptions;\n\t\t\t\tconfig?: AxiosRequestConfig;\n\t\t\t}\n\t\t>,\n\t\t\"mutationFn\"\n\t>,\n) {\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation({\n\t\tmutationFn: async ({\n\t\t\trequest,\n\t\t\toptions,\n\t\t\tconfig,\n\t\t}: {\n\t\t\trequest: VendorCreateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}) => {\n\t\t\tconst client = useApiClient();\n\t\t\treturn client.businesses.vendors.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: (data, variables, context) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Vendors],\n\t\t\t});\n\n\t\t\t// Call custom onSuccess if provided\n\t\t\tmutationOptions?.onSuccess?.(data, variables, context);\n\t\t},\n\t\t// Spread the rest of the mutation options\n\t\t...mutationOptions,\n\t\t// Note: We're not spreading onSuccess to avoid overriding our implementation\n\t});\n}\n\n/**\n * Hook for updating a vendor\n * @param mutationOptions - Optional React Query mutation options\n * @returns Mutation function and state for updating vendors\n */\nexport function useUpdateBusinessVendorMutation(\n\tmutationOptions?: Omit<\n\t\tUseMutationOptions<\n\t\t\tSBVendor,\n\t\t\tSBApiException,\n\t\t\t{\n\t\t\t\tvendorId: number;\n\t\t\t\trequest: VendorUpdateRequest;\n\t\t\t\toptions?: SBRequestOptions;\n\t\t\t\tconfig?: AxiosRequestConfig;\n\t\t\t}\n\t\t>,\n\t\t\"mutationFn\"\n\t>,\n) {\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation({\n\t\tmutationFn: async ({\n\t\t\tvendorId,\n\t\t\trequest,\n\t\t\toptions,\n\t\t\tconfig,\n\t\t}: {\n\t\t\tvendorId: number;\n\t\t\trequest: VendorUpdateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}) => {\n\t\t\tconst client = useApiClient();\n\t\t\treturn client.businesses.vendors.updateAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tvendorId,\n\t\t\t\trequest,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (data, variables, context) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Vendors],\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.Vendors,\n\t\t\t\t\tvariables.vendorId,\n\t\t\t\t],\n\t\t\t});\n\n\t\t\t// Call custom onSuccess if provided\n\t\t\tmutationOptions?.onSuccess?.(data, variables, context);\n\t\t},\n\t\t// Spread the rest of the mutation options\n\t\t...mutationOptions,\n\t\t// Note: We're not spreading onSuccess to avoid overriding our implementation\n\t});\n}\n\n/**\n * Hook for getting a vendor link token for Deck connection\n * @param mutationOptions - Optional React Query mutation options\n * @returns Mutation function and state for getting a vendor link token\n */\nexport function useGetBusinessVendorLinkTokenMutation(\n\tmutationOptions?: UseMutationOptions<\n\t\tany, // Replace with the actual return type\n\t\tSBApiException,\n\t\t{\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>,\n) {\n\tconst client = useApiClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation({\n\t\tmutationFn: async ({\n\t\t\toptions,\n\t\t\tconfig,\n\t\t}: {\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}) => {\n\t\t\treturn client.businesses.vendors.getLinkToken(\n\t\t\t\tbusinessId,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\t// Spread all mutation options\n\t\t...mutationOptions,\n\t});\n}\n\n/**\n * Hook for connecting a vendor to Deck\n * @param mutationOptions - Optional React Query mutation options\n * @returns Mutation function and state for connecting vendors\n */\nexport function useConnectBusinessVendorMutation(\n\tmutationOptions?: Omit<\n\t\tUseMutationOptions<\n\t\t\tSBVendor,\n\t\t\tSBApiException,\n\t\t\t{\n\t\t\t\tpublicToken: string;\n\t\t\t\toptions?: SBRequestOptions;\n\t\t\t\tconfig?: AxiosRequestConfig;\n\t\t\t}\n\t\t>,\n\t\t\"mutationFn\"\n\t>,\n) {\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation({\n\t\tmutationFn: async ({\n\t\t\tpublicToken,\n\t\t\toptions,\n\t\t\tconfig,\n\t\t}: {\n\t\t\tpublicToken: string;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}) => {\n\t\t\tconst client = useApiClient();\n\t\t\treturn client.businesses.vendors.connectAsync(\n\t\t\t\tbusinessId,\n\t\t\t\t{ publicToken },\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (data, variables, context) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Vendors],\n\t\t\t});\n\n\t\t\t// Call custom onSuccess if provided\n\t\t\tmutationOptions?.onSuccess?.(data, variables, context);\n\t\t},\n\t\t// Spread the rest of the mutation options\n\t\t...mutationOptions,\n\t\t// Note: We're not spreading onSuccess to avoid overriding our implementation\n\t});\n}\n\n/**\n * Hook for manually refreshing a vendor's data from Deck\n * @param mutationOptions - Optional React Query mutation options\n * @returns Mutation function and state for refreshing vendors\n */\nexport function useRefreshBusinessVendorMutation(\n\tmutationOptions?: Omit<\n\t\tUseMutationOptions<\n\t\t\tvoid,\n\t\t\tSBApiException,\n\t\t\t{\n\t\t\t\tvendorId: number;\n\t\t\t\toptions?: SBRequestOptions;\n\t\t\t\tconfig?: AxiosRequestConfig;\n\t\t\t}\n\t\t>,\n\t\t\"mutationFn\"\n\t>,\n) {\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation({\n\t\tmutationFn: async ({\n\t\t\tvendorId,\n\t\t\toptions,\n\t\t\tconfig,\n\t\t}: {\n\t\t\tvendorId: number;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}) => {\n\t\t\tconst client = useApiClient();\n\t\t\treturn client.businesses.vendors.manualRefresh(\n\t\t\t\tbusinessId,\n\t\t\t\tvendorId,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (data, variables, context) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Vendors],\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.Vendors,\n\t\t\t\t\tvariables.vendorId,\n\t\t\t\t],\n\t\t\t});\n\n\t\t\t// Call custom onSuccess if provided\n\t\t\tmutationOptions?.onSuccess?.(data, variables, context);\n\t\t},\n\t\t// Spread the rest of the mutation options\n\t\t...mutationOptions,\n\t\t// Note: We're not spreading onSuccess to avoid overriding our implementation\n\t});\n}\n"],"names":["useListBusinessVendorsInfiniteQuery","request","page","pageSize","options","config","client","useApiClient","businessId","useBusinessId","useInfiniteQuery","initialPageParam","queryKey","SBApiKeys","Businesses","Vendors","queryFn","pageParam","paginatedRequest","businesses","vendors","listAsync","getNextPageParam","lastPage","pagination","currentPage","pageCount","undefined","useGetBusinessVendorByIdQuery","id","useQuery","getByIdAsync","useDeleteBusinessVendorMutation","mutationOptions","queryClient","useQueryClient","useMutation","mutationFn","vendorId","deleteAsync","onSuccess","data","variables","context","invalidateQueries","useCreateBusinessVendorMutation","createAsync","useUpdateBusinessVendorMutation","updateAsync","useGetBusinessVendorLinkTokenMutation","getLinkToken","useConnectBusinessVendorMutation","publicToken","connectAsync","useRefreshBusinessVendorMutation","manualRefresh"],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ 'use strict';
2
+
3
+ var ApiContext = require('../../context/ApiContext.cjs');
4
+ var reactQuery = require('@tanstack/react-query');
5
+ var SBApiKeys = require('../SBApiKeys.cjs');
6
+
7
+ function useListDocumentsInfiniteQuery(request = {
8
+ page: 1,
9
+ pageSize: 25
10
+ }, options, config) {
11
+ const client = ApiContext.useApiClient();
12
+ reactQuery.useQueryClient();
13
+ return reactQuery.useInfiniteQuery({
14
+ initialPageParam: request.page || 1,
15
+ queryKey: [SBApiKeys.SBApiKeys.Documents, request, options],
16
+ queryFn: async ({
17
+ pageParam = 1
18
+ }) => {
19
+ const paginatedRequest = {
20
+ ...request,
21
+ page: pageParam
22
+ };
23
+ return await client.documents.listAsync(paginatedRequest, options, config);
24
+ },
25
+ getNextPageParam: lastPage => {
26
+ if (lastPage.pagination && lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
27
+ return lastPage.pagination.currentPage + 1;
28
+ }
29
+ return undefined;
30
+ }
31
+ });
32
+ }
33
+ const useGetDocumentByIdQuery = (id, options, config) => {
34
+ const client = ApiContext.useApiClient();
35
+ reactQuery.useQueryClient();
36
+ return reactQuery.useQuery({
37
+ queryKey: [SBApiKeys.SBApiKeys.Documents, id, options],
38
+ queryFn: async () => {
39
+ return await client.documents.getByIdAsync(id, options, config);
40
+ }
41
+ });
42
+ };
43
+ const useUploadDocumentMutation = () => {
44
+ const client = ApiContext.useApiClient();
45
+ const queryClient = reactQuery.useQueryClient();
46
+ return reactQuery.useMutation({
47
+ mutationFn: async ({
48
+ request,
49
+ options,
50
+ config
51
+ }) => {
52
+ return await client.documents.upload(request, options);
53
+ },
54
+ onSuccess: () => {
55
+ queryClient.invalidateQueries({
56
+ queryKey: [SBApiKeys.SBApiKeys.Documents]
57
+ });
58
+ }
59
+ });
60
+ };
61
+ const useDeleteDocumentMutation = () => {
62
+ const client = ApiContext.useApiClient();
63
+ const queryClient = reactQuery.useQueryClient();
64
+ return reactQuery.useMutation({
65
+ mutationFn: async ({
66
+ id,
67
+ options,
68
+ config
69
+ }) => {
70
+ await client.documents.deleteAsync(id, options, config);
71
+ },
72
+ onSuccess: (_, variables) => {
73
+ queryClient.invalidateQueries({
74
+ queryKey: [SBApiKeys.SBApiKeys.Documents]
75
+ });
76
+ queryClient.invalidateQueries({
77
+ queryKey: [SBApiKeys.SBApiKeys.Documents, variables.id]
78
+ });
79
+ }
80
+ });
81
+ };
82
+
83
+ exports.useDeleteDocumentMutation = useDeleteDocumentMutation;
84
+ exports.useGetDocumentByIdQuery = useGetDocumentByIdQuery;
85
+ exports.useListDocumentsInfiniteQuery = useListDocumentsInfiniteQuery;
86
+ exports.useUploadDocumentMutation = useUploadDocumentMutation;
87
+ //# sourceMappingURL=DocumentsAPI.cjs.map