@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.
- package/README.md +148 -73
- package/dist/cjs/index.cjs +1 -221
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/index.mjs +1 -38
- package/dist/esm/index.mjs.map +1 -1
- package/dist/types/index.d.ts +594 -0
- package/package.json +58 -99
- package/dist/@types/index.d.ts +0 -1424
- package/dist/@types/index.d.ts.map +0 -1
- package/dist/cjs/apis/SBApiKeys.cjs +0 -55
- package/dist/cjs/apis/SBApiKeys.cjs.map +0 -1
- package/dist/cjs/apis/api-logs/LogsAPI.cjs +0 -42
- package/dist/cjs/apis/api-logs/LogsAPI.cjs.map +0 -1
- package/dist/cjs/apis/attachments/AttachmentsAPI.cjs +0 -147
- package/dist/cjs/apis/attachments/AttachmentsAPI.cjs.map +0 -1
- package/dist/cjs/apis/banks/accounts/BankAccountAPI.cjs +0 -88
- package/dist/cjs/apis/banks/accounts/BankAccountAPI.cjs.map +0 -1
- package/dist/cjs/apis/banks/bank-institutions/BankInstitutionsAPI.cjs +0 -58
- package/dist/cjs/apis/banks/bank-institutions/BankInstitutionsAPI.cjs.map +0 -1
- package/dist/cjs/apis/banks/bank-transactions/BankTransactionAPI.cjs +0 -57
- package/dist/cjs/apis/banks/bank-transactions/BankTransactionAPI.cjs.map +0 -1
- package/dist/cjs/apis/business/BusinessAPI.cjs +0 -172
- package/dist/cjs/apis/business/BusinessAPI.cjs.map +0 -1
- package/dist/cjs/apis/business/customers/CustomerAPI.cjs +0 -161
- package/dist/cjs/apis/business/customers/CustomerAPI.cjs.map +0 -1
- package/dist/cjs/apis/business/customers/CustomerBalanceTransactionsAPI.cjs +0 -71
- package/dist/cjs/apis/business/customers/CustomerBalanceTransactionsAPI.cjs.map +0 -1
- package/dist/cjs/apis/business/customers/CustomerPaymentMethodsAPI.cjs +0 -176
- package/dist/cjs/apis/business/customers/CustomerPaymentMethodsAPI.cjs.map +0 -1
- package/dist/cjs/apis/business/departments/DepartmentApi.cjs +0 -168
- package/dist/cjs/apis/business/departments/DepartmentApi.cjs.map +0 -1
- package/dist/cjs/apis/business/departments/employees/DepartmentEmployeesAPI.cjs +0 -137
- package/dist/cjs/apis/business/departments/employees/DepartmentEmployeesAPI.cjs.map +0 -1
- package/dist/cjs/apis/business/fees/FeesAPI.cjs +0 -167
- package/dist/cjs/apis/business/fees/FeesAPI.cjs.map +0 -1
- package/dist/cjs/apis/business/locations/LocationsAPI.cjs +0 -133
- package/dist/cjs/apis/business/locations/LocationsAPI.cjs.map +0 -1
- package/dist/cjs/apis/business/products/ProductsAPI.cjs +0 -184
- package/dist/cjs/apis/business/products/ProductsAPI.cjs.map +0 -1
- package/dist/cjs/apis/business/products/images/ProductImagesAPI.cjs +0 -195
- package/dist/cjs/apis/business/products/images/ProductImagesAPI.cjs.map +0 -1
- package/dist/cjs/apis/business/products/modifiers/ModifiersAPI.cjs +0 -169
- package/dist/cjs/apis/business/products/modifiers/ModifiersAPI.cjs.map +0 -1
- package/dist/cjs/apis/business/products/options/ProductOptionsAPI.cjs +0 -183
- package/dist/cjs/apis/business/products/options/ProductOptionsAPI.cjs.map +0 -1
- package/dist/cjs/apis/business/products/variants/ProductVariantsAPI.cjs +0 -185
- package/dist/cjs/apis/business/products/variants/ProductVariantsAPI.cjs.map +0 -1
- package/dist/cjs/apis/business/promo-codes/PromoCodesAPI.cjs +0 -139
- package/dist/cjs/apis/business/promo-codes/PromoCodesAPI.cjs.map +0 -1
- package/dist/cjs/apis/business/reviews/ReviewsAPI.cjs +0 -143
- package/dist/cjs/apis/business/reviews/ReviewsAPI.cjs.map +0 -1
- package/dist/cjs/apis/business/tables/TablesAPI.cjs +0 -75
- package/dist/cjs/apis/business/tables/TablesAPI.cjs.map +0 -1
- package/dist/cjs/apis/business/taxes/TaxesAPI.cjs +0 -140
- package/dist/cjs/apis/business/taxes/TaxesAPI.cjs.map +0 -1
- package/dist/cjs/apis/business/team/TeamMemberInvitationsAPI.cjs +0 -161
- package/dist/cjs/apis/business/team/TeamMemberInvitationsAPI.cjs.map +0 -1
- package/dist/cjs/apis/business/team/TeamMembersAPI.cjs +0 -93
- package/dist/cjs/apis/business/team/TeamMembersAPI.cjs.map +0 -1
- package/dist/cjs/apis/business/vendors/VendorsAPI.cjs +0 -239
- package/dist/cjs/apis/business/vendors/VendorsAPI.cjs.map +0 -1
- package/dist/cjs/apis/documents/DocumentsAPI.cjs +0 -87
- package/dist/cjs/apis/documents/DocumentsAPI.cjs.map +0 -1
- package/dist/cjs/apis/expenses/ExpensesAPI.cjs +0 -62
- package/dist/cjs/apis/expenses/ExpensesAPI.cjs.map +0 -1
- package/dist/cjs/apis/friends/FriendsAPI.cjs +0 -150
- package/dist/cjs/apis/friends/FriendsAPI.cjs.map +0 -1
- package/dist/cjs/apis/integrations/IntegrationsAPI.cjs +0 -55
- package/dist/cjs/apis/integrations/IntegrationsAPI.cjs.map +0 -1
- package/dist/cjs/apis/invoices/InvoicesAPI.cjs +0 -168
- package/dist/cjs/apis/invoices/InvoicesAPI.cjs.map +0 -1
- package/dist/cjs/apis/loyalty/LoyaltyProgramAPI.cjs +0 -484
- package/dist/cjs/apis/loyalty/LoyaltyProgramAPI.cjs.map +0 -1
- package/dist/cjs/apis/notifications/NotificationAPI.cjs +0 -103
- package/dist/cjs/apis/notifications/NotificationAPI.cjs.map +0 -1
- package/dist/cjs/apis/payment-methods/PaymentMethodsAPI.cjs +0 -125
- package/dist/cjs/apis/payment-methods/PaymentMethodsAPI.cjs.map +0 -1
- package/dist/cjs/apis/receipts/ReceiptAPI.cjs +0 -135
- package/dist/cjs/apis/receipts/ReceiptAPI.cjs.map +0 -1
- package/dist/cjs/apis/user/UserAPI.cjs +0 -130
- package/dist/cjs/apis/user/UserAPI.cjs.map +0 -1
- package/dist/cjs/apis/vendors/VendorsAPI.cjs +0 -171
- package/dist/cjs/apis/vendors/VendorsAPI.cjs.map +0 -1
- package/dist/cjs/context/ApiContext.cjs +0 -94
- package/dist/cjs/context/ApiContext.cjs.map +0 -1
- package/dist/esm/apis/SBApiKeys.mjs +0 -55
- package/dist/esm/apis/SBApiKeys.mjs.map +0 -1
- package/dist/esm/apis/api-logs/LogsAPI.mjs +0 -39
- package/dist/esm/apis/api-logs/LogsAPI.mjs.map +0 -1
- package/dist/esm/apis/attachments/AttachmentsAPI.mjs +0 -142
- package/dist/esm/apis/attachments/AttachmentsAPI.mjs.map +0 -1
- package/dist/esm/apis/banks/accounts/BankAccountAPI.mjs +0 -84
- package/dist/esm/apis/banks/accounts/BankAccountAPI.mjs.map +0 -1
- package/dist/esm/apis/banks/bank-institutions/BankInstitutionsAPI.mjs +0 -55
- package/dist/esm/apis/banks/bank-institutions/BankInstitutionsAPI.mjs.map +0 -1
- package/dist/esm/apis/banks/bank-transactions/BankTransactionAPI.mjs +0 -54
- package/dist/esm/apis/banks/bank-transactions/BankTransactionAPI.mjs.map +0 -1
- package/dist/esm/apis/business/BusinessAPI.mjs +0 -165
- package/dist/esm/apis/business/BusinessAPI.mjs.map +0 -1
- package/dist/esm/apis/business/customers/CustomerAPI.mjs +0 -155
- package/dist/esm/apis/business/customers/CustomerAPI.mjs.map +0 -1
- package/dist/esm/apis/business/customers/CustomerBalanceTransactionsAPI.mjs +0 -68
- package/dist/esm/apis/business/customers/CustomerBalanceTransactionsAPI.mjs.map +0 -1
- package/dist/esm/apis/business/customers/CustomerPaymentMethodsAPI.mjs +0 -170
- package/dist/esm/apis/business/customers/CustomerPaymentMethodsAPI.mjs.map +0 -1
- package/dist/esm/apis/business/departments/DepartmentApi.mjs +0 -161
- package/dist/esm/apis/business/departments/DepartmentApi.mjs.map +0 -1
- package/dist/esm/apis/business/departments/employees/DepartmentEmployeesAPI.mjs +0 -132
- package/dist/esm/apis/business/departments/employees/DepartmentEmployeesAPI.mjs.map +0 -1
- package/dist/esm/apis/business/fees/FeesAPI.mjs +0 -161
- package/dist/esm/apis/business/fees/FeesAPI.mjs.map +0 -1
- package/dist/esm/apis/business/locations/LocationsAPI.mjs +0 -127
- package/dist/esm/apis/business/locations/LocationsAPI.mjs.map +0 -1
- package/dist/esm/apis/business/products/ProductsAPI.mjs +0 -177
- package/dist/esm/apis/business/products/ProductsAPI.mjs.map +0 -1
- package/dist/esm/apis/business/products/images/ProductImagesAPI.mjs +0 -188
- package/dist/esm/apis/business/products/images/ProductImagesAPI.mjs.map +0 -1
- package/dist/esm/apis/business/products/modifiers/ModifiersAPI.mjs +0 -163
- package/dist/esm/apis/business/products/modifiers/ModifiersAPI.mjs.map +0 -1
- package/dist/esm/apis/business/products/options/ProductOptionsAPI.mjs +0 -177
- package/dist/esm/apis/business/products/options/ProductOptionsAPI.mjs.map +0 -1
- package/dist/esm/apis/business/products/variants/ProductVariantsAPI.mjs +0 -179
- package/dist/esm/apis/business/products/variants/ProductVariantsAPI.mjs.map +0 -1
- package/dist/esm/apis/business/promo-codes/PromoCodesAPI.mjs +0 -133
- package/dist/esm/apis/business/promo-codes/PromoCodesAPI.mjs.map +0 -1
- package/dist/esm/apis/business/reviews/ReviewsAPI.mjs +0 -137
- package/dist/esm/apis/business/reviews/ReviewsAPI.mjs.map +0 -1
- package/dist/esm/apis/business/tables/TablesAPI.mjs +0 -70
- package/dist/esm/apis/business/tables/TablesAPI.mjs.map +0 -1
- package/dist/esm/apis/business/taxes/TaxesAPI.mjs +0 -134
- package/dist/esm/apis/business/taxes/TaxesAPI.mjs.map +0 -1
- package/dist/esm/apis/business/team/TeamMemberInvitationsAPI.mjs +0 -153
- package/dist/esm/apis/business/team/TeamMemberInvitationsAPI.mjs.map +0 -1
- package/dist/esm/apis/business/team/TeamMembersAPI.mjs +0 -88
- package/dist/esm/apis/business/team/TeamMembersAPI.mjs.map +0 -1
- package/dist/esm/apis/business/vendors/VendorsAPI.mjs +0 -230
- package/dist/esm/apis/business/vendors/VendorsAPI.mjs.map +0 -1
- package/dist/esm/apis/documents/DocumentsAPI.mjs +0 -82
- package/dist/esm/apis/documents/DocumentsAPI.mjs.map +0 -1
- package/dist/esm/apis/expenses/ExpensesAPI.mjs +0 -58
- package/dist/esm/apis/expenses/ExpensesAPI.mjs.map +0 -1
- package/dist/esm/apis/friends/FriendsAPI.mjs +0 -144
- package/dist/esm/apis/friends/FriendsAPI.mjs.map +0 -1
- package/dist/esm/apis/integrations/IntegrationsAPI.mjs +0 -52
- package/dist/esm/apis/integrations/IntegrationsAPI.mjs.map +0 -1
- package/dist/esm/apis/invoices/InvoicesAPI.mjs +0 -161
- package/dist/esm/apis/invoices/InvoicesAPI.mjs.map +0 -1
- package/dist/esm/apis/loyalty/LoyaltyProgramAPI.mjs +0 -482
- package/dist/esm/apis/loyalty/LoyaltyProgramAPI.mjs.map +0 -1
- package/dist/esm/apis/notifications/NotificationAPI.mjs +0 -98
- package/dist/esm/apis/notifications/NotificationAPI.mjs.map +0 -1
- package/dist/esm/apis/payment-methods/PaymentMethodsAPI.mjs +0 -117
- package/dist/esm/apis/payment-methods/PaymentMethodsAPI.mjs.map +0 -1
- package/dist/esm/apis/receipts/ReceiptAPI.mjs +0 -129
- package/dist/esm/apis/receipts/ReceiptAPI.mjs.map +0 -1
- package/dist/esm/apis/user/UserAPI.mjs +0 -123
- package/dist/esm/apis/user/UserAPI.mjs.map +0 -1
- package/dist/esm/apis/vendors/VendorsAPI.mjs +0 -162
- package/dist/esm/apis/vendors/VendorsAPI.mjs.map +0 -1
- package/dist/esm/context/ApiContext.mjs +0 -86
- package/dist/esm/context/ApiContext.mjs.map +0 -1
- package/dist/umd/index.js +0 -5056
- package/dist/umd/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TeamMembersAPI.mjs","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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"}
|
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
import { useApiClient, useBusinessId } from '../../../context/ApiContext.mjs';
|
|
2
|
-
import { useInfiniteQuery, useQuery, useQueryClient, useMutation } from '@tanstack/react-query';
|
|
3
|
-
import { SBApiKeys } from '../../SBApiKeys.mjs';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Hook for listing vendors with infinite pagination
|
|
7
|
-
* @param request - Request parameters for listing vendors
|
|
8
|
-
* @param options - Optional request options including businessId and userId
|
|
9
|
-
* @param config - Optional Axios request configuration
|
|
10
|
-
* @returns Infinite query result for implementing infinite scrolling with vendor data
|
|
11
|
-
*/
|
|
12
|
-
function useListBusinessVendorsInfiniteQuery(request = {
|
|
13
|
-
page: 1,
|
|
14
|
-
pageSize: 25
|
|
15
|
-
}, options, config) {
|
|
16
|
-
const client = useApiClient();
|
|
17
|
-
const businessId = useBusinessId();
|
|
18
|
-
return useInfiniteQuery({
|
|
19
|
-
initialPageParam: request.page || 1,
|
|
20
|
-
queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Vendors, request, options],
|
|
21
|
-
queryFn: async ({
|
|
22
|
-
pageParam = 1
|
|
23
|
-
}) => {
|
|
24
|
-
const paginatedRequest = {
|
|
25
|
-
...request,
|
|
26
|
-
page: pageParam
|
|
27
|
-
};
|
|
28
|
-
return client.businesses.vendors.listAsync(businessId, paginatedRequest, options, config);
|
|
29
|
-
},
|
|
30
|
-
getNextPageParam: lastPage => {
|
|
31
|
-
if (lastPage.pagination && lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
|
|
32
|
-
return lastPage.pagination.currentPage + 1;
|
|
33
|
-
}
|
|
34
|
-
return undefined;
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Hook for retrieving a vendor by ID
|
|
40
|
-
* @param id - The ID of the vendor to retrieve
|
|
41
|
-
* @param options - Optional request options including businessId and userId
|
|
42
|
-
* @param config - Optional Axios request configuration
|
|
43
|
-
* @returns Query result containing the vendor data, loading state, and error information
|
|
44
|
-
*/
|
|
45
|
-
function useGetBusinessVendorByIdQuery(id, options, config) {
|
|
46
|
-
const client = useApiClient();
|
|
47
|
-
const businessId = useBusinessId();
|
|
48
|
-
return useQuery({
|
|
49
|
-
queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Vendors, id, options],
|
|
50
|
-
queryFn: async () => {
|
|
51
|
-
return client.businesses.vendors.getByIdAsync(businessId, id, options, config);
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Hook for deleting a vendor
|
|
57
|
-
* @param mutationOptions - Optional React Query mutation options
|
|
58
|
-
* @returns Mutation function and state for deleting vendors
|
|
59
|
-
*/
|
|
60
|
-
function useDeleteBusinessVendorMutation(mutationOptions) {
|
|
61
|
-
const queryClient = useQueryClient();
|
|
62
|
-
const businessId = useBusinessId();
|
|
63
|
-
return useMutation({
|
|
64
|
-
mutationFn: async ({
|
|
65
|
-
vendorId,
|
|
66
|
-
options,
|
|
67
|
-
config
|
|
68
|
-
}) => {
|
|
69
|
-
const client = useApiClient();
|
|
70
|
-
return client.businesses.vendors.deleteAsync(businessId, vendorId, options, config);
|
|
71
|
-
},
|
|
72
|
-
onSuccess: (data, variables, context) => {
|
|
73
|
-
queryClient.invalidateQueries({
|
|
74
|
-
queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Vendors]
|
|
75
|
-
});
|
|
76
|
-
// Call custom onSuccess if provided
|
|
77
|
-
mutationOptions?.onSuccess?.(data, variables, context);
|
|
78
|
-
},
|
|
79
|
-
// Spread the rest of the mutation options
|
|
80
|
-
...mutationOptions
|
|
81
|
-
// Note: We're not spreading onSuccess to avoid overriding our implementation
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Hook for creating a new vendor
|
|
86
|
-
* @param mutationOptions - Optional React Query mutation options
|
|
87
|
-
* @returns Mutation function and state for creating vendors
|
|
88
|
-
*/
|
|
89
|
-
function useCreateBusinessVendorMutation(mutationOptions) {
|
|
90
|
-
const queryClient = useQueryClient();
|
|
91
|
-
const businessId = useBusinessId();
|
|
92
|
-
return useMutation({
|
|
93
|
-
mutationFn: async ({
|
|
94
|
-
request,
|
|
95
|
-
options,
|
|
96
|
-
config
|
|
97
|
-
}) => {
|
|
98
|
-
const client = useApiClient();
|
|
99
|
-
return client.businesses.vendors.createAsync(businessId, request, options, config);
|
|
100
|
-
},
|
|
101
|
-
onSuccess: (data, variables, context) => {
|
|
102
|
-
queryClient.invalidateQueries({
|
|
103
|
-
queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Vendors]
|
|
104
|
-
});
|
|
105
|
-
// Call custom onSuccess if provided
|
|
106
|
-
mutationOptions?.onSuccess?.(data, variables, context);
|
|
107
|
-
},
|
|
108
|
-
// Spread the rest of the mutation options
|
|
109
|
-
...mutationOptions
|
|
110
|
-
// Note: We're not spreading onSuccess to avoid overriding our implementation
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Hook for updating a vendor
|
|
115
|
-
* @param mutationOptions - Optional React Query mutation options
|
|
116
|
-
* @returns Mutation function and state for updating vendors
|
|
117
|
-
*/
|
|
118
|
-
function useUpdateBusinessVendorMutation(mutationOptions) {
|
|
119
|
-
const queryClient = useQueryClient();
|
|
120
|
-
const businessId = useBusinessId();
|
|
121
|
-
return useMutation({
|
|
122
|
-
mutationFn: async ({
|
|
123
|
-
vendorId,
|
|
124
|
-
request,
|
|
125
|
-
options,
|
|
126
|
-
config
|
|
127
|
-
}) => {
|
|
128
|
-
const client = useApiClient();
|
|
129
|
-
return client.businesses.vendors.updateAsync(businessId, vendorId, request, options, config);
|
|
130
|
-
},
|
|
131
|
-
onSuccess: (data, variables, context) => {
|
|
132
|
-
queryClient.invalidateQueries({
|
|
133
|
-
queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Vendors]
|
|
134
|
-
});
|
|
135
|
-
queryClient.invalidateQueries({
|
|
136
|
-
queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Vendors, variables.vendorId]
|
|
137
|
-
});
|
|
138
|
-
// Call custom onSuccess if provided
|
|
139
|
-
mutationOptions?.onSuccess?.(data, variables, context);
|
|
140
|
-
},
|
|
141
|
-
// Spread the rest of the mutation options
|
|
142
|
-
...mutationOptions
|
|
143
|
-
// Note: We're not spreading onSuccess to avoid overriding our implementation
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Hook for getting a vendor link token for Deck connection
|
|
148
|
-
* @param mutationOptions - Optional React Query mutation options
|
|
149
|
-
* @returns Mutation function and state for getting a vendor link token
|
|
150
|
-
*/
|
|
151
|
-
function useGetBusinessVendorLinkTokenMutation(mutationOptions) {
|
|
152
|
-
const client = useApiClient();
|
|
153
|
-
const businessId = useBusinessId();
|
|
154
|
-
return useMutation({
|
|
155
|
-
mutationFn: async ({
|
|
156
|
-
options,
|
|
157
|
-
config
|
|
158
|
-
}) => {
|
|
159
|
-
return client.businesses.vendors.getLinkToken(businessId, options, config);
|
|
160
|
-
},
|
|
161
|
-
// Spread all mutation options
|
|
162
|
-
...mutationOptions
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Hook for connecting a vendor to Deck
|
|
167
|
-
* @param mutationOptions - Optional React Query mutation options
|
|
168
|
-
* @returns Mutation function and state for connecting vendors
|
|
169
|
-
*/
|
|
170
|
-
function useConnectBusinessVendorMutation(mutationOptions) {
|
|
171
|
-
const queryClient = useQueryClient();
|
|
172
|
-
const businessId = useBusinessId();
|
|
173
|
-
return useMutation({
|
|
174
|
-
mutationFn: async ({
|
|
175
|
-
publicToken,
|
|
176
|
-
options,
|
|
177
|
-
config
|
|
178
|
-
}) => {
|
|
179
|
-
const client = useApiClient();
|
|
180
|
-
return client.businesses.vendors.connectAsync(businessId, {
|
|
181
|
-
publicToken
|
|
182
|
-
}, options, config);
|
|
183
|
-
},
|
|
184
|
-
onSuccess: (data, variables, context) => {
|
|
185
|
-
queryClient.invalidateQueries({
|
|
186
|
-
queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Vendors]
|
|
187
|
-
});
|
|
188
|
-
// Call custom onSuccess if provided
|
|
189
|
-
mutationOptions?.onSuccess?.(data, variables, context);
|
|
190
|
-
},
|
|
191
|
-
// Spread the rest of the mutation options
|
|
192
|
-
...mutationOptions
|
|
193
|
-
// Note: We're not spreading onSuccess to avoid overriding our implementation
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Hook for manually refreshing a vendor's data from Deck
|
|
198
|
-
* @param mutationOptions - Optional React Query mutation options
|
|
199
|
-
* @returns Mutation function and state for refreshing vendors
|
|
200
|
-
*/
|
|
201
|
-
function useRefreshBusinessVendorMutation(mutationOptions) {
|
|
202
|
-
const queryClient = useQueryClient();
|
|
203
|
-
const businessId = useBusinessId();
|
|
204
|
-
return useMutation({
|
|
205
|
-
mutationFn: async ({
|
|
206
|
-
vendorId,
|
|
207
|
-
options,
|
|
208
|
-
config
|
|
209
|
-
}) => {
|
|
210
|
-
const client = useApiClient();
|
|
211
|
-
return client.businesses.vendors.manualRefresh(businessId, vendorId, options, config);
|
|
212
|
-
},
|
|
213
|
-
onSuccess: (data, variables, context) => {
|
|
214
|
-
queryClient.invalidateQueries({
|
|
215
|
-
queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Vendors]
|
|
216
|
-
});
|
|
217
|
-
queryClient.invalidateQueries({
|
|
218
|
-
queryKey: [SBApiKeys.Businesses, businessId, SBApiKeys.Vendors, variables.vendorId]
|
|
219
|
-
});
|
|
220
|
-
// Call custom onSuccess if provided
|
|
221
|
-
mutationOptions?.onSuccess?.(data, variables, context);
|
|
222
|
-
},
|
|
223
|
-
// Spread the rest of the mutation options
|
|
224
|
-
...mutationOptions
|
|
225
|
-
// Note: We're not spreading onSuccess to avoid overriding our implementation
|
|
226
|
-
});
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
export { useConnectBusinessVendorMutation, useCreateBusinessVendorMutation, useDeleteBusinessVendorMutation, useGetBusinessVendorByIdQuery, useGetBusinessVendorLinkTokenMutation, useListBusinessVendorsInfiniteQuery, useRefreshBusinessVendorMutation, useUpdateBusinessVendorMutation };
|
|
230
|
-
//# sourceMappingURL=VendorsAPI.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VendorsAPI.mjs","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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"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { useApiClient } from '../../context/ApiContext.mjs';
|
|
2
|
-
import { useQueryClient, useInfiniteQuery, useQuery, useMutation } from '@tanstack/react-query';
|
|
3
|
-
import { SBApiKeys } from '../SBApiKeys.mjs';
|
|
4
|
-
|
|
5
|
-
function useListDocumentsInfiniteQuery(request = {
|
|
6
|
-
page: 1,
|
|
7
|
-
pageSize: 25
|
|
8
|
-
}, options, config) {
|
|
9
|
-
const client = useApiClient();
|
|
10
|
-
useQueryClient();
|
|
11
|
-
return useInfiniteQuery({
|
|
12
|
-
initialPageParam: request.page || 1,
|
|
13
|
-
queryKey: [SBApiKeys.Documents, request, options],
|
|
14
|
-
queryFn: async ({
|
|
15
|
-
pageParam = 1
|
|
16
|
-
}) => {
|
|
17
|
-
const paginatedRequest = {
|
|
18
|
-
...request,
|
|
19
|
-
page: pageParam
|
|
20
|
-
};
|
|
21
|
-
return await client.documents.listAsync(paginatedRequest, options, config);
|
|
22
|
-
},
|
|
23
|
-
getNextPageParam: lastPage => {
|
|
24
|
-
if (lastPage.pagination && lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
|
|
25
|
-
return lastPage.pagination.currentPage + 1;
|
|
26
|
-
}
|
|
27
|
-
return undefined;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
const useGetDocumentByIdQuery = (id, options, config) => {
|
|
32
|
-
const client = useApiClient();
|
|
33
|
-
useQueryClient();
|
|
34
|
-
return useQuery({
|
|
35
|
-
queryKey: [SBApiKeys.Documents, id, options],
|
|
36
|
-
queryFn: async () => {
|
|
37
|
-
return await client.documents.getByIdAsync(id, options, config);
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
};
|
|
41
|
-
const useUploadDocumentMutation = () => {
|
|
42
|
-
const client = useApiClient();
|
|
43
|
-
const queryClient = useQueryClient();
|
|
44
|
-
return useMutation({
|
|
45
|
-
mutationFn: async ({
|
|
46
|
-
request,
|
|
47
|
-
options,
|
|
48
|
-
config
|
|
49
|
-
}) => {
|
|
50
|
-
return await client.documents.upload(request, options);
|
|
51
|
-
},
|
|
52
|
-
onSuccess: () => {
|
|
53
|
-
queryClient.invalidateQueries({
|
|
54
|
-
queryKey: [SBApiKeys.Documents]
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
};
|
|
59
|
-
const useDeleteDocumentMutation = () => {
|
|
60
|
-
const client = useApiClient();
|
|
61
|
-
const queryClient = useQueryClient();
|
|
62
|
-
return useMutation({
|
|
63
|
-
mutationFn: async ({
|
|
64
|
-
id,
|
|
65
|
-
options,
|
|
66
|
-
config
|
|
67
|
-
}) => {
|
|
68
|
-
await client.documents.deleteAsync(id, options, config);
|
|
69
|
-
},
|
|
70
|
-
onSuccess: (_, variables) => {
|
|
71
|
-
queryClient.invalidateQueries({
|
|
72
|
-
queryKey: [SBApiKeys.Documents]
|
|
73
|
-
});
|
|
74
|
-
queryClient.invalidateQueries({
|
|
75
|
-
queryKey: [SBApiKeys.Documents, variables.id]
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
export { useDeleteDocumentMutation, useGetDocumentByIdQuery, useListDocumentsInfiniteQuery, useUploadDocumentMutation };
|
|
82
|
-
//# sourceMappingURL=DocumentsAPI.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentsAPI.mjs","sources":["../../../../src/apis/documents/DocumentsAPI.tsx"],"sourcesContent":["import {\n\tDocumentListRequest,\n\tSBList,\n\tSBDocument,\n\tDocumentUploadRequest,\n\tSBRequestOptions,\n\tSBApiException,\n} from \"@smartbills/sdk\";\nimport { useApiClient } from \"@/context\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport {\n\tuseInfiniteQuery,\n\tuseMutation,\n\tuseQuery,\n\tQueryKey,\n\tInfiniteData,\n} from \"@tanstack/react-query\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { SBApiKeys } from \"@/apis/SBApiKeys\";\n\nexport function useListDocumentsInfiniteQuery(\n\trequest: DocumentListRequest = { page: 1, pageSize: 25 },\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig<DocumentListRequest>,\n) {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\n\treturn useInfiniteQuery<\n\t\tSBList<SBDocument>,\n\t\tSBApiException,\n\t\tInfiniteData<SBList<SBDocument>>,\n\t\tQueryKey,\n\t\tnumber\n\t>({\n\t\tinitialPageParam: request.page || 1,\n\t\tqueryKey: [SBApiKeys.Documents, request, options],\n\t\tqueryFn: async ({ pageParam = 1 }) => {\n\t\t\tconst paginatedRequest = { ...request, page: pageParam };\n\t\t\treturn await client.documents.listAsync(\n\t\t\t\tpaginatedRequest,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tgetNextPageParam: (lastPage) => {\n\t\t\tif (\n\t\t\t\tlastPage.pagination &&\n\t\t\t\tlastPage.pagination.currentPage < lastPage.pagination.pageCount\n\t\t\t) {\n\t\t\t\treturn lastPage.pagination.currentPage + 1;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t},\n\t});\n}\n\nexport const useGetDocumentByIdQuery = (\n\tid: number,\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\treturn useQuery<SBDocument, SBApiException>({\n\t\tqueryKey: [SBApiKeys.Documents, id, options],\n\t\tqueryFn: async () => {\n\t\t\treturn await client.documents.getByIdAsync(id, options, config);\n\t\t},\n\t});\n};\n\nexport const useUploadDocumentMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\treturn useMutation<\n\t\tSBDocument,\n\t\tSBApiException,\n\t\t{\n\t\t\trequest: DocumentUploadRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig<DocumentUploadRequest>;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ request, options, config }) => {\n\t\t\treturn await client.documents.upload(request, options);\n\t\t},\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: [SBApiKeys.Documents] });\n\t\t},\n\t});\n};\n\nexport const useDeleteDocumentMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\treturn useMutation<\n\t\tvoid,\n\t\tSBApiException,\n\t\t{\n\t\t\tid: number;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ id, options, config }) => {\n\t\t\tawait client.documents.deleteAsync(id, options, config);\n\t\t},\n\t\tonSuccess: (_, variables) => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: [SBApiKeys.Documents] });\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Documents, variables.id],\n\t\t\t});\n\t\t},\n\t});\n};\n"],"names":["useListDocumentsInfiniteQuery","request","page","pageSize","options","config","client","useApiClient","useQueryClient","useInfiniteQuery","initialPageParam","queryKey","SBApiKeys","Documents","queryFn","pageParam","paginatedRequest","documents","listAsync","getNextPageParam","lastPage","pagination","currentPage","pageCount","undefined","useGetDocumentByIdQuery","id","useQuery","getByIdAsync","useUploadDocumentMutation","queryClient","useMutation","mutationFn","upload","onSuccess","invalidateQueries","useDeleteDocumentMutation","deleteAsync","_","variables"],"mappings":"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"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { useApiClient } from '../../context/ApiContext.mjs';
|
|
2
|
-
import { useMutation, useInfiniteQuery } from '@tanstack/react-query';
|
|
3
|
-
import { SBApiKeys } from '../SBApiKeys.mjs';
|
|
4
|
-
|
|
5
|
-
function useUploadMutation() {
|
|
6
|
-
const client = useApiClient();
|
|
7
|
-
return useMutation({
|
|
8
|
-
mutationKey: [SBApiKeys.Expenses, "upload"],
|
|
9
|
-
mutationFn: async ({
|
|
10
|
-
data,
|
|
11
|
-
options,
|
|
12
|
-
config
|
|
13
|
-
}) => {
|
|
14
|
-
return await client.expenses.uploadAsync(data, options, config);
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
function useValidateExpenseFilesMutation() {
|
|
19
|
-
const client = useApiClient();
|
|
20
|
-
return useMutation({
|
|
21
|
-
mutationKey: [SBApiKeys.Expenses, "validate"],
|
|
22
|
-
mutationFn: async ({
|
|
23
|
-
data,
|
|
24
|
-
options,
|
|
25
|
-
config
|
|
26
|
-
}) => {
|
|
27
|
-
return await client.expenses.validateAsync(data, options, config);
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
function useListJobInfiniteQuery(page = 1, pageSize = 150) {
|
|
32
|
-
const client = useApiClient();
|
|
33
|
-
return useInfiniteQuery({
|
|
34
|
-
queryKey: [SBApiKeys.Expenses, "jobs", {
|
|
35
|
-
page,
|
|
36
|
-
pageSize
|
|
37
|
-
}],
|
|
38
|
-
queryFn: async ({
|
|
39
|
-
pageParam = 1
|
|
40
|
-
}) => {
|
|
41
|
-
const request = {
|
|
42
|
-
page: pageParam,
|
|
43
|
-
pageSize
|
|
44
|
-
};
|
|
45
|
-
return await client.expenses.getProcessingJobsAsync(request);
|
|
46
|
-
},
|
|
47
|
-
getNextPageParam: lastPage => {
|
|
48
|
-
if (lastPage?.pagination?.currentPage === lastPage?.pagination?.pageCount) {
|
|
49
|
-
return undefined;
|
|
50
|
-
}
|
|
51
|
-
return lastPage?.pagination?.currentPage + 1;
|
|
52
|
-
},
|
|
53
|
-
initialPageParam: 1
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export { useListJobInfiniteQuery, useUploadMutation, useValidateExpenseFilesMutation };
|
|
58
|
-
//# sourceMappingURL=ExpensesAPI.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExpensesAPI.mjs","sources":["../../../../src/apis/expenses/ExpensesAPI.tsx"],"sourcesContent":["import {\n\tExpenseUploadRequest,\n\tSBApiException,\n\tSBRequestOptions,\n\tListRequest,\n} from \"@smartbills/sdk\";\nimport { useApiClient } from \"@/context\";\nimport {\n\tuseMutation,\n\tuseInfiniteQuery,\n\tuseQueryClient,\n} from \"@tanstack/react-query\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { SBApiKeys } from \"@/apis/SBApiKeys\";\n\nexport function useUploadMutation() {\n\tconst client = useApiClient();\n\treturn useMutation<\n\t\tany,\n\t\tSBApiException,\n\t\t{\n\t\t\tdata: ExpenseUploadRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationKey: [SBApiKeys.Expenses, \"upload\"],\n\t\tmutationFn: async ({ data, options, config }) => {\n\t\t\treturn await client.expenses.uploadAsync(data, options, config);\n\t\t},\n\t});\n}\n\nexport function useValidateExpenseFilesMutation() {\n\tconst client = useApiClient();\n\treturn useMutation<\n\t\tany,\n\t\tSBApiException,\n\t\t{\n\t\t\tdata: ExpenseUploadRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationKey: [SBApiKeys.Expenses, \"validate\"],\n\t\tmutationFn: async ({ data, options, config }) => {\n\t\t\treturn await client.expenses.validateAsync(data, options, config);\n\t\t},\n\t});\n}\n\nexport function useListJobInfiniteQuery(\n\tpage: number = 1,\n\tpageSize: number = 150,\n) {\n\tconst client = useApiClient();\n\treturn useInfiniteQuery({\n\t\tqueryKey: [SBApiKeys.Expenses, \"jobs\", { page, pageSize }],\n\t\tqueryFn: async ({ pageParam = 1 }) => {\n\t\t\tconst request: ListRequest = {\n\t\t\t\tpage: pageParam,\n\t\t\t\tpageSize,\n\t\t\t};\n\t\t\treturn await client.expenses.getProcessingJobsAsync(request);\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\tinitialPageParam: 1,\n\t});\n}\n"],"names":["useUploadMutation","client","useApiClient","useMutation","mutationKey","SBApiKeys","Expenses","mutationFn","data","options","config","expenses","uploadAsync","useValidateExpenseFilesMutation","validateAsync","useListJobInfiniteQuery","page","pageSize","useInfiniteQuery","queryKey","queryFn","pageParam","request","getProcessingJobsAsync","getNextPageParam","lastPage","pagination","currentPage","pageCount","undefined","initialPageParam"],"mappings":";;;;SAegBA,iBAAiBA,GAAA;AAChC,EAAA,MAAMC,MAAM,GAAGC,YAAY,EAAE;AAC7B,EAAA,OAAOC,WAAW,CAQhB;AACDC,IAAAA,WAAW,EAAE,CAACC,SAAS,CAACC,QAAQ,EAAE,QAAQ,CAAC;IAC3CC,UAAU,EAAE,OAAO;MAAEC,IAAI;MAAEC,OAAO;AAAEC,MAAAA;AAAQ,KAAA,KAAI;AAC/C,MAAA,OAAO,MAAMT,MAAM,CAACU,QAAQ,CAACC,WAAW,CAACJ,IAAI,EAAEC,OAAO,EAAEC,MAAM,CAAC;AAChE;AACA,GAAA,CAAC;AACH;SAEgBG,+BAA+BA,GAAA;AAC9C,EAAA,MAAMZ,MAAM,GAAGC,YAAY,EAAE;AAC7B,EAAA,OAAOC,WAAW,CAQhB;AACDC,IAAAA,WAAW,EAAE,CAACC,SAAS,CAACC,QAAQ,EAAE,UAAU,CAAC;IAC7CC,UAAU,EAAE,OAAO;MAAEC,IAAI;MAAEC,OAAO;AAAEC,MAAAA;AAAQ,KAAA,KAAI;AAC/C,MAAA,OAAO,MAAMT,MAAM,CAACU,QAAQ,CAACG,aAAa,CAACN,IAAI,EAAEC,OAAO,EAAEC,MAAM,CAAC;AAClE;AACA,GAAA,CAAC;AACH;SAEgBK,uBAAuBA,CACtCC,OAAe,CAAC,EAChBC,WAAmB,GAAG,EAAA;AAEtB,EAAA,MAAMhB,MAAM,GAAGC,YAAY,EAAE;AAC7B,EAAA,OAAOgB,gBAAgB,CAAC;AACvBC,IAAAA,QAAQ,EAAE,CAACd,SAAS,CAACC,QAAQ,EAAE,MAAM,EAAE;MAAEU,IAAI;AAAEC,MAAAA;KAAU,CAAC;IAC1DG,OAAO,EAAE,OAAO;AAAEC,MAAAA,SAAS,GAAG;AAAG,KAAA,KAAI;AACpC,MAAA,MAAMC,OAAO,GAAgB;AAC5BN,QAAAA,IAAI,EAAEK,SAAS;AACfJ,QAAAA;OACA;MACD,OAAO,MAAMhB,MAAM,CAACU,QAAQ,CAACY,sBAAsB,CAACD,OAAO,CAAC;KAC5D;IACDE,gBAAgB,EAAGC,QAAQ,IAAI;MAC9B,IACCA,QAAQ,EAAEC,UAAU,EAAEC,WAAW,KACjCF,QAAQ,EAAEC,UAAU,EAAEE,SAAS,EAC9B;AACD,QAAA,OAAOC,SAAS;AACjB;AACA,MAAA,OAAOJ,QAAQ,EAAEC,UAAU,EAAEC,WAAW,GAAG,CAAC;KAC5C;AACDG,IAAAA,gBAAgB,EAAE;AAClB,GAAA,CAAC;AACH;;;;"}
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { useApiClient } from '../../context/ApiContext.mjs';
|
|
2
|
-
import { useQueryClient, useInfiniteQuery, useQuery, useMutation } from '@tanstack/react-query';
|
|
3
|
-
import { SBApiKeys } from '../SBApiKeys.mjs';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Hook for listing friends with infinite pagination
|
|
7
|
-
* @param request - Request parameters for listing friends
|
|
8
|
-
* @param options - Optional request options
|
|
9
|
-
* @param config - Optional Axios request configuration
|
|
10
|
-
* @returns Infinite query result for implementing infinite scrolling with friends data
|
|
11
|
-
*/
|
|
12
|
-
const useListFriendsInfiniteQuery = (request = {
|
|
13
|
-
page: 1,
|
|
14
|
-
pageSize: 25
|
|
15
|
-
}, options, config) => {
|
|
16
|
-
const client = useApiClient();
|
|
17
|
-
useQueryClient();
|
|
18
|
-
return useInfiniteQuery({
|
|
19
|
-
initialPageParam: request.page || 1,
|
|
20
|
-
queryKey: [SBApiKeys.Friends, request, options],
|
|
21
|
-
queryFn: async ({
|
|
22
|
-
pageParam = 1
|
|
23
|
-
}) => {
|
|
24
|
-
const paginatedRequest = {
|
|
25
|
-
...request,
|
|
26
|
-
page: pageParam
|
|
27
|
-
};
|
|
28
|
-
return await client.friends.listAsync(paginatedRequest, options, config);
|
|
29
|
-
},
|
|
30
|
-
getNextPageParam: lastPage => {
|
|
31
|
-
if (lastPage.pagination && lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
|
|
32
|
-
return lastPage.pagination.currentPage + 1;
|
|
33
|
-
}
|
|
34
|
-
return undefined;
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* Hook for listing recommended friends with infinite pagination
|
|
40
|
-
* @param request - Request parameters for listing recommended friends
|
|
41
|
-
* @param options - Optional request options
|
|
42
|
-
* @param config - Optional Axios request configuration
|
|
43
|
-
* @returns Infinite query result for implementing infinite scrolling with recommended friends data
|
|
44
|
-
*/
|
|
45
|
-
const useListRecommendedFriendsInfiniteQuery = (request = {
|
|
46
|
-
page: 1,
|
|
47
|
-
pageSize: 25
|
|
48
|
-
}, options, config) => {
|
|
49
|
-
const client = useApiClient();
|
|
50
|
-
useQueryClient();
|
|
51
|
-
return useInfiniteQuery({
|
|
52
|
-
initialPageParam: request.page || 1,
|
|
53
|
-
queryKey: [SBApiKeys.Friends, "recommended", request, options],
|
|
54
|
-
queryFn: async ({
|
|
55
|
-
pageParam = 1
|
|
56
|
-
}) => {
|
|
57
|
-
const paginatedRequest = {
|
|
58
|
-
...request,
|
|
59
|
-
page: pageParam
|
|
60
|
-
};
|
|
61
|
-
return await client.friends.listRecommanded(paginatedRequest, options, config);
|
|
62
|
-
},
|
|
63
|
-
getNextPageParam: lastPage => {
|
|
64
|
-
if (lastPage.pagination && lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
|
|
65
|
-
return lastPage.pagination.currentPage + 1;
|
|
66
|
-
}
|
|
67
|
-
return undefined;
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
};
|
|
71
|
-
/**
|
|
72
|
-
* Hook for retrieving a friend by ID
|
|
73
|
-
* @param id - The ID of the friend to retrieve
|
|
74
|
-
* @param options - Optional request options
|
|
75
|
-
* @param config - Optional Axios request configuration
|
|
76
|
-
* @returns Query result containing the friend data
|
|
77
|
-
*/
|
|
78
|
-
const useGetFriendByIdQuery = (id, options, config) => {
|
|
79
|
-
const client = useApiClient();
|
|
80
|
-
useQueryClient();
|
|
81
|
-
return useQuery({
|
|
82
|
-
queryKey: [SBApiKeys.Friends, id],
|
|
83
|
-
queryFn: async () => {
|
|
84
|
-
return await client.friends.getByIdAsync(id, options, config);
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
};
|
|
88
|
-
/**
|
|
89
|
-
* Hook for deleting a friend
|
|
90
|
-
* @returns Mutation function for deleting friends
|
|
91
|
-
*/
|
|
92
|
-
const useDeleteFriendMutation = () => {
|
|
93
|
-
const client = useApiClient();
|
|
94
|
-
const queryClient = useQueryClient();
|
|
95
|
-
return useMutation({
|
|
96
|
-
mutationFn: async ({
|
|
97
|
-
id,
|
|
98
|
-
options,
|
|
99
|
-
config
|
|
100
|
-
}) => {
|
|
101
|
-
return await client.friends.deleteAsync(id, options, config);
|
|
102
|
-
},
|
|
103
|
-
onSuccess: (_, variables) => {
|
|
104
|
-
queryClient.invalidateQueries({
|
|
105
|
-
queryKey: [SBApiKeys.Friends, variables.id]
|
|
106
|
-
});
|
|
107
|
-
queryClient.invalidateQueries({
|
|
108
|
-
queryKey: [SBApiKeys.Friends, "list"]
|
|
109
|
-
});
|
|
110
|
-
queryClient.invalidateQueries({
|
|
111
|
-
queryKey: [SBApiKeys.Friends, "recommended"]
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
};
|
|
116
|
-
function useListFriendRequestsInfiniteQuery(request = {
|
|
117
|
-
page: 1,
|
|
118
|
-
pageSize: 25
|
|
119
|
-
}, options, config) {
|
|
120
|
-
const client = useApiClient();
|
|
121
|
-
useQueryClient();
|
|
122
|
-
return useInfiniteQuery({
|
|
123
|
-
initialPageParam: request.page || 1,
|
|
124
|
-
queryKey: [SBApiKeys.Friends, SBApiKeys.Friends, request, options],
|
|
125
|
-
queryFn: async ({
|
|
126
|
-
pageParam = 1
|
|
127
|
-
}) => {
|
|
128
|
-
const paginatedRequest = {
|
|
129
|
-
...request,
|
|
130
|
-
page: pageParam
|
|
131
|
-
};
|
|
132
|
-
return await client.friends.listAsync(paginatedRequest, options, config);
|
|
133
|
-
},
|
|
134
|
-
getNextPageParam: lastPage => {
|
|
135
|
-
if (lastPage.pagination && lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
|
|
136
|
-
return lastPage.pagination.currentPage + 1;
|
|
137
|
-
}
|
|
138
|
-
return undefined;
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
export { useDeleteFriendMutation, useGetFriendByIdQuery, useListFriendRequestsInfiniteQuery, useListFriendsInfiniteQuery, useListRecommendedFriendsInfiniteQuery };
|
|
144
|
-
//# sourceMappingURL=FriendsAPI.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FriendsAPI.mjs","sources":["../../../../src/apis/friends/FriendsAPI.ts"],"sourcesContent":["import {\n\tSBList,\n\tSBFriend,\n\tFriendListRequest,\n\tSBApiException,\n\tSBRequestOptions,\n\tSBFriendRequest,\n\tListRequest,\n} from \"@smartbills/sdk\";\nimport { useApiClient } from \"@/context\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport {\n\tuseInfiniteQuery,\n\tuseMutation,\n\tuseQuery,\n\tQueryKey,\n\tInfiniteData,\n} from \"@tanstack/react-query\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { SBApiKeys } from \"@/apis/SBApiKeys\";\n\n/**\n * Hook for listing friends with infinite pagination\n * @param request - Request parameters for listing friends\n * @param options - Optional request options\n * @param config - Optional Axios request configuration\n * @returns Infinite query result for implementing infinite scrolling with friends data\n */\nexport const useListFriendsInfiniteQuery = (\n\trequest: FriendListRequest = { page: 1, pageSize: 25 },\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig<FriendListRequest>,\n) => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\treturn useInfiniteQuery<\n\t\tSBList<SBFriend>,\n\t\tSBApiException,\n\t\tInfiniteData<SBList<SBFriend>>,\n\t\tQueryKey,\n\t\tnumber\n\t>({\n\t\tinitialPageParam: request.page || 1,\n\t\tqueryKey: [SBApiKeys.Friends, request, options],\n\t\tqueryFn: async ({ pageParam = 1 }) => {\n\t\t\tconst paginatedRequest = { ...request, page: pageParam };\n\t\t\treturn await client.friends.listAsync(\n\t\t\t\tpaginatedRequest,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tgetNextPageParam: (lastPage) => {\n\t\t\tif (\n\t\t\t\tlastPage.pagination &&\n\t\t\t\tlastPage.pagination.currentPage < lastPage.pagination.pageCount\n\t\t\t) {\n\t\t\t\treturn lastPage.pagination.currentPage + 1;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t},\n\t});\n};\n\n/**\n * Hook for listing recommended friends with infinite pagination\n * @param request - Request parameters for listing recommended friends\n * @param options - Optional request options\n * @param config - Optional Axios request configuration\n * @returns Infinite query result for implementing infinite scrolling with recommended friends data\n */\nexport const useListRecommendedFriendsInfiniteQuery = (\n\trequest: FriendListRequest = { page: 1, pageSize: 25 },\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig<FriendListRequest>,\n) => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\treturn useInfiniteQuery<\n\t\tSBList<SBFriend>,\n\t\tSBApiException,\n\t\tSBList<SBFriend>,\n\t\tQueryKey,\n\t\tnumber\n\t>({\n\t\tinitialPageParam: request.page || 1,\n\t\tqueryKey: [SBApiKeys.Friends, \"recommended\", request, options],\n\t\tqueryFn: async ({ pageParam = 1 }) => {\n\t\t\tconst paginatedRequest = { ...request, page: pageParam };\n\t\t\treturn await client.friends.listRecommanded(\n\t\t\t\tpaginatedRequest,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tgetNextPageParam: (lastPage) => {\n\t\t\tif (\n\t\t\t\tlastPage.pagination &&\n\t\t\t\tlastPage.pagination.currentPage < lastPage.pagination.pageCount\n\t\t\t) {\n\t\t\t\treturn lastPage.pagination.currentPage + 1;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t},\n\t});\n};\n\n/**\n * Hook for retrieving a friend by ID\n * @param id - The ID of the friend to retrieve\n * @param options - Optional request options\n * @param config - Optional Axios request configuration\n * @returns Query result containing the friend data\n */\nexport const useGetFriendByIdQuery = (\n\tid: number,\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\treturn useQuery<SBFriend, SBApiException>({\n\t\tqueryKey: [SBApiKeys.Friends, id],\n\t\tqueryFn: async () => {\n\t\t\treturn await client.friends.getByIdAsync(id, options, config);\n\t\t},\n\t});\n};\n\n/**\n * Hook for deleting a friend\n * @returns Mutation function for deleting friends\n */\nexport const useDeleteFriendMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\treturn useMutation<\n\t\tSBFriend,\n\t\tSBApiException,\n\t\t{\n\t\t\tid: number;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ id, options, config }) => {\n\t\t\treturn await client.friends.deleteAsync(id, options, config);\n\t\t},\n\t\tonSuccess: (_, variables) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Friends, variables.id],\n\t\t\t});\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Friends, \"list\"],\n\t\t\t});\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Friends, \"recommended\"],\n\t\t\t});\n\t\t},\n\t});\n};\n\nexport function useListFriendRequestsInfiniteQuery(\n\trequest: ListRequest = { page: 1, pageSize: 25 },\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig<ListRequest>,\n) {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\n\treturn useInfiniteQuery<\n\t\tSBList<SBFriendRequest>,\n\t\tSBApiException,\n\t\tInfiniteData<SBList<SBFriendRequest>>,\n\t\tQueryKey,\n\t\tnumber\n\t>({\n\t\tinitialPageParam: request.page || 1,\n\t\tqueryKey: [SBApiKeys.Friends, SBApiKeys.Friends, request, options],\n\t\tqueryFn: async ({ pageParam = 1 }) => {\n\t\t\tconst paginatedRequest = { ...request, page: pageParam };\n\t\t\treturn await client.friends.listAsync(\n\t\t\t\tpaginatedRequest,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tgetNextPageParam: (lastPage) => {\n\t\t\tif (\n\t\t\t\tlastPage.pagination &&\n\t\t\t\tlastPage.pagination.currentPage < lastPage.pagination.pageCount\n\t\t\t) {\n\t\t\t\treturn lastPage.pagination.currentPage + 1;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t},\n\t});\n}\n"],"names":["useListFriendsInfiniteQuery","request","page","pageSize","options","config","client","useApiClient","useQueryClient","useInfiniteQuery","initialPageParam","queryKey","SBApiKeys","Friends","queryFn","pageParam","paginatedRequest","friends","listAsync","getNextPageParam","lastPage","pagination","currentPage","pageCount","undefined","useListRecommendedFriendsInfiniteQuery","listRecommanded","useGetFriendByIdQuery","id","useQuery","getByIdAsync","useDeleteFriendMutation","queryClient","useMutation","mutationFn","deleteAsync","onSuccess","_","variables","invalidateQueries","useListFriendRequestsInfiniteQuery"],"mappings":"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"}
|