@smartbills/react-hooks-sdk 0.0.2-alpha.44 → 0.0.2-alpha.46
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/dist/@types/index.d.ts +1447 -0
- package/dist/@types/index.d.ts.map +1 -0
- package/dist/cjs/apis/SBApiKeys.cjs +56 -0
- package/dist/cjs/apis/SBApiKeys.cjs.map +1 -0
- package/dist/cjs/apis/api-logs/LogsAPI.cjs +42 -0
- package/dist/cjs/apis/api-logs/LogsAPI.cjs.map +1 -0
- package/dist/cjs/apis/attachments/AttachmentsAPI.cjs +147 -0
- package/dist/cjs/apis/attachments/AttachmentsAPI.cjs.map +1 -0
- package/dist/cjs/apis/banks/accounts/BankAccountAPI.cjs +88 -0
- package/dist/cjs/apis/banks/accounts/BankAccountAPI.cjs.map +1 -0
- package/dist/cjs/apis/banks/bank-institutions/BankInstitutionsAPI.cjs +58 -0
- package/dist/cjs/apis/banks/bank-institutions/BankInstitutionsAPI.cjs.map +1 -0
- package/dist/cjs/apis/banks/bank-transactions/BankTransactionAPI.cjs +57 -0
- package/dist/cjs/apis/banks/bank-transactions/BankTransactionAPI.cjs.map +1 -0
- package/dist/cjs/apis/business/BusinessAPI.cjs +172 -0
- package/dist/cjs/apis/business/BusinessAPI.cjs.map +1 -0
- package/dist/cjs/apis/business/customers/CustomerAPI.cjs +161 -0
- package/dist/cjs/apis/business/customers/CustomerAPI.cjs.map +1 -0
- package/dist/cjs/apis/business/customers/CustomerBalanceTransactionsAPI.cjs +71 -0
- package/dist/cjs/apis/business/customers/CustomerBalanceTransactionsAPI.cjs.map +1 -0
- package/dist/cjs/apis/business/customers/CustomerPaymentMethodsAPI.cjs +176 -0
- package/dist/cjs/apis/business/customers/CustomerPaymentMethodsAPI.cjs.map +1 -0
- package/dist/cjs/apis/business/departments/DepartmentApi.cjs +168 -0
- package/dist/cjs/apis/business/departments/DepartmentApi.cjs.map +1 -0
- package/dist/cjs/apis/business/departments/employees/DepartmentEmployeesAPI.cjs +137 -0
- package/dist/cjs/apis/business/departments/employees/DepartmentEmployeesAPI.cjs.map +1 -0
- package/dist/cjs/apis/business/fees/FeesAPI.cjs +167 -0
- package/dist/cjs/apis/business/fees/FeesAPI.cjs.map +1 -0
- package/dist/cjs/apis/business/locations/LocationsAPI.cjs +133 -0
- package/dist/cjs/apis/business/locations/LocationsAPI.cjs.map +1 -0
- package/dist/cjs/apis/business/products/ProductsAPI.cjs +184 -0
- package/dist/cjs/apis/business/products/ProductsAPI.cjs.map +1 -0
- package/dist/cjs/apis/business/products/images/ProductImagesAPI.cjs +195 -0
- package/dist/cjs/apis/business/products/images/ProductImagesAPI.cjs.map +1 -0
- package/dist/cjs/apis/business/products/modifiers/ModifiersAPI.cjs +169 -0
- package/dist/cjs/apis/business/products/modifiers/ModifiersAPI.cjs.map +1 -0
- package/dist/cjs/apis/business/products/options/ProductOptionsAPI.cjs +183 -0
- package/dist/cjs/apis/business/products/options/ProductOptionsAPI.cjs.map +1 -0
- package/dist/cjs/apis/business/products/variants/ProductVariantsAPI.cjs +185 -0
- package/dist/cjs/apis/business/products/variants/ProductVariantsAPI.cjs.map +1 -0
- package/dist/cjs/apis/business/promo-codes/PromoCodesAPI.cjs +139 -0
- package/dist/cjs/apis/business/promo-codes/PromoCodesAPI.cjs.map +1 -0
- package/dist/cjs/apis/business/reviews/ReviewsAPI.cjs +143 -0
- package/dist/cjs/apis/business/reviews/ReviewsAPI.cjs.map +1 -0
- package/dist/cjs/apis/business/tables/TablesAPI.cjs +75 -0
- package/dist/cjs/apis/business/tables/TablesAPI.cjs.map +1 -0
- package/dist/cjs/apis/business/taxes/TaxesAPI.cjs +140 -0
- package/dist/cjs/apis/business/taxes/TaxesAPI.cjs.map +1 -0
- package/dist/cjs/apis/business/team/TeamMemberInvitationsAPI.cjs +161 -0
- package/dist/cjs/apis/business/team/TeamMemberInvitationsAPI.cjs.map +1 -0
- package/dist/cjs/apis/business/team/TeamMembersAPI.cjs +93 -0
- package/dist/cjs/apis/business/team/TeamMembersAPI.cjs.map +1 -0
- package/dist/cjs/apis/business/vendors/VendorsAPI.cjs +237 -0
- package/dist/cjs/apis/business/vendors/VendorsAPI.cjs.map +1 -0
- package/dist/cjs/apis/documents/DocumentsAPI.cjs +87 -0
- package/dist/cjs/apis/documents/DocumentsAPI.cjs.map +1 -0
- package/dist/cjs/apis/expenses/ExpensesAPI.cjs +62 -0
- package/dist/cjs/apis/expenses/ExpensesAPI.cjs.map +1 -0
- package/dist/cjs/apis/friends/FriendsAPI.cjs +150 -0
- package/dist/cjs/apis/friends/FriendsAPI.cjs.map +1 -0
- package/dist/cjs/apis/integrations/IntegrationsAPI.cjs +55 -0
- package/dist/cjs/apis/integrations/IntegrationsAPI.cjs.map +1 -0
- package/dist/cjs/apis/invoices/InvoicesAPI.cjs +168 -0
- package/dist/cjs/apis/invoices/InvoicesAPI.cjs.map +1 -0
- package/dist/cjs/apis/loyalty/LoyaltyProgramAPI.cjs +484 -0
- package/dist/cjs/apis/loyalty/LoyaltyProgramAPI.cjs.map +1 -0
- package/dist/cjs/apis/notifications/NotificationAPI.cjs +103 -0
- package/dist/cjs/apis/notifications/NotificationAPI.cjs.map +1 -0
- package/dist/cjs/apis/payment-methods/PaymentMethodsAPI.cjs +125 -0
- package/dist/cjs/apis/payment-methods/PaymentMethodsAPI.cjs.map +1 -0
- package/dist/cjs/apis/receipts/ReceiptAPI.cjs +135 -0
- package/dist/cjs/apis/receipts/ReceiptAPI.cjs.map +1 -0
- package/dist/cjs/apis/user/UserAPI.cjs +130 -0
- package/dist/cjs/apis/user/UserAPI.cjs.map +1 -0
- package/dist/cjs/apis/vendors/VendorsAPI.cjs +215 -0
- package/dist/cjs/apis/vendors/VendorsAPI.cjs.map +1 -0
- package/dist/cjs/context/ApiContext.cjs +94 -0
- package/dist/cjs/context/ApiContext.cjs.map +1 -0
- package/dist/cjs/index.cjs +224 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/esm/apis/SBApiKeys.mjs +56 -0
- package/dist/esm/apis/SBApiKeys.mjs.map +1 -0
- package/dist/esm/apis/api-logs/LogsAPI.mjs +39 -0
- package/dist/esm/apis/api-logs/LogsAPI.mjs.map +1 -0
- package/dist/esm/apis/attachments/AttachmentsAPI.mjs +142 -0
- package/dist/esm/apis/attachments/AttachmentsAPI.mjs.map +1 -0
- package/dist/esm/apis/banks/accounts/BankAccountAPI.mjs +84 -0
- package/dist/esm/apis/banks/accounts/BankAccountAPI.mjs.map +1 -0
- package/dist/esm/apis/banks/bank-institutions/BankInstitutionsAPI.mjs +55 -0
- package/dist/esm/apis/banks/bank-institutions/BankInstitutionsAPI.mjs.map +1 -0
- package/dist/esm/apis/banks/bank-transactions/BankTransactionAPI.mjs +54 -0
- package/dist/esm/apis/banks/bank-transactions/BankTransactionAPI.mjs.map +1 -0
- package/dist/esm/apis/business/BusinessAPI.mjs +165 -0
- package/dist/esm/apis/business/BusinessAPI.mjs.map +1 -0
- package/dist/esm/apis/business/customers/CustomerAPI.mjs +155 -0
- package/dist/esm/apis/business/customers/CustomerAPI.mjs.map +1 -0
- package/dist/esm/apis/business/customers/CustomerBalanceTransactionsAPI.mjs +68 -0
- package/dist/esm/apis/business/customers/CustomerBalanceTransactionsAPI.mjs.map +1 -0
- package/dist/esm/apis/business/customers/CustomerPaymentMethodsAPI.mjs +170 -0
- package/dist/esm/apis/business/customers/CustomerPaymentMethodsAPI.mjs.map +1 -0
- package/dist/esm/apis/business/departments/DepartmentApi.mjs +161 -0
- package/dist/esm/apis/business/departments/DepartmentApi.mjs.map +1 -0
- package/dist/esm/apis/business/departments/employees/DepartmentEmployeesAPI.mjs +132 -0
- package/dist/esm/apis/business/departments/employees/DepartmentEmployeesAPI.mjs.map +1 -0
- package/dist/esm/apis/business/fees/FeesAPI.mjs +161 -0
- package/dist/esm/apis/business/fees/FeesAPI.mjs.map +1 -0
- package/dist/esm/apis/business/locations/LocationsAPI.mjs +127 -0
- package/dist/esm/apis/business/locations/LocationsAPI.mjs.map +1 -0
- package/dist/esm/apis/business/products/ProductsAPI.mjs +177 -0
- package/dist/esm/apis/business/products/ProductsAPI.mjs.map +1 -0
- package/dist/esm/apis/business/products/images/ProductImagesAPI.mjs +188 -0
- package/dist/esm/apis/business/products/images/ProductImagesAPI.mjs.map +1 -0
- package/dist/esm/apis/business/products/modifiers/ModifiersAPI.mjs +163 -0
- package/dist/esm/apis/business/products/modifiers/ModifiersAPI.mjs.map +1 -0
- package/dist/esm/apis/business/products/options/ProductOptionsAPI.mjs +177 -0
- package/dist/esm/apis/business/products/options/ProductOptionsAPI.mjs.map +1 -0
- package/dist/esm/apis/business/products/variants/ProductVariantsAPI.mjs +179 -0
- package/dist/esm/apis/business/products/variants/ProductVariantsAPI.mjs.map +1 -0
- package/dist/esm/apis/business/promo-codes/PromoCodesAPI.mjs +133 -0
- package/dist/esm/apis/business/promo-codes/PromoCodesAPI.mjs.map +1 -0
- package/dist/esm/apis/business/reviews/ReviewsAPI.mjs +137 -0
- package/dist/esm/apis/business/reviews/ReviewsAPI.mjs.map +1 -0
- package/dist/esm/apis/business/tables/TablesAPI.mjs +70 -0
- package/dist/esm/apis/business/tables/TablesAPI.mjs.map +1 -0
- package/dist/esm/apis/business/taxes/TaxesAPI.mjs +134 -0
- package/dist/esm/apis/business/taxes/TaxesAPI.mjs.map +1 -0
- package/dist/esm/apis/business/team/TeamMemberInvitationsAPI.mjs +153 -0
- package/dist/esm/apis/business/team/TeamMemberInvitationsAPI.mjs.map +1 -0
- package/dist/esm/apis/business/team/TeamMembersAPI.mjs +88 -0
- package/dist/esm/apis/business/team/TeamMembersAPI.mjs.map +1 -0
- package/dist/esm/apis/business/vendors/VendorsAPI.mjs +228 -0
- package/dist/esm/apis/business/vendors/VendorsAPI.mjs.map +1 -0
- package/dist/esm/apis/documents/DocumentsAPI.mjs +82 -0
- package/dist/esm/apis/documents/DocumentsAPI.mjs.map +1 -0
- package/dist/esm/apis/expenses/ExpensesAPI.mjs +58 -0
- package/dist/esm/apis/expenses/ExpensesAPI.mjs.map +1 -0
- package/dist/esm/apis/friends/FriendsAPI.mjs +144 -0
- package/dist/esm/apis/friends/FriendsAPI.mjs.map +1 -0
- package/dist/esm/apis/integrations/IntegrationsAPI.mjs +52 -0
- package/dist/esm/apis/integrations/IntegrationsAPI.mjs.map +1 -0
- package/dist/esm/apis/invoices/InvoicesAPI.mjs +161 -0
- package/dist/esm/apis/invoices/InvoicesAPI.mjs.map +1 -0
- package/dist/esm/apis/loyalty/LoyaltyProgramAPI.mjs +482 -0
- package/dist/esm/apis/loyalty/LoyaltyProgramAPI.mjs.map +1 -0
- package/dist/esm/apis/notifications/NotificationAPI.mjs +98 -0
- package/dist/esm/apis/notifications/NotificationAPI.mjs.map +1 -0
- package/dist/esm/apis/payment-methods/PaymentMethodsAPI.mjs +117 -0
- package/dist/esm/apis/payment-methods/PaymentMethodsAPI.mjs.map +1 -0
- package/dist/esm/apis/receipts/ReceiptAPI.mjs +129 -0
- package/dist/esm/apis/receipts/ReceiptAPI.mjs.map +1 -0
- package/dist/esm/apis/user/UserAPI.mjs +123 -0
- package/dist/esm/apis/user/UserAPI.mjs.map +1 -0
- package/dist/esm/apis/vendors/VendorsAPI.mjs +204 -0
- package/dist/esm/apis/vendors/VendorsAPI.mjs.map +1 -0
- package/dist/esm/context/ApiContext.mjs +86 -0
- package/dist/esm/context/ApiContext.mjs.map +1 -0
- package/dist/esm/index.mjs +39 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/umd/index.js +5099 -0
- package/dist/umd/index.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,139 @@
|
|
|
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 useListPromoCodes = (request = {
|
|
8
|
+
page: 1,
|
|
9
|
+
pageSize: 25
|
|
10
|
+
}, options, config) => {
|
|
11
|
+
const client = ApiContext.useApiClient();
|
|
12
|
+
reactQuery.useQueryClient();
|
|
13
|
+
const businessId = ApiContext.useBusinessId();
|
|
14
|
+
if (!businessId) {
|
|
15
|
+
throw new Error("businessId is required for promo code operations");
|
|
16
|
+
}
|
|
17
|
+
return reactQuery.useInfiniteQuery({
|
|
18
|
+
initialPageParam: request.page || 1,
|
|
19
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.PromoCodes, request, options],
|
|
20
|
+
queryFn: async ({
|
|
21
|
+
pageParam = 1
|
|
22
|
+
}) => {
|
|
23
|
+
return await client.businesses.promoCodes.listAsync(businessId, {
|
|
24
|
+
...request,
|
|
25
|
+
page: pageParam
|
|
26
|
+
}, options, config);
|
|
27
|
+
},
|
|
28
|
+
getNextPageParam: lastPage => {
|
|
29
|
+
if (lastPage.pagination && lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
|
|
30
|
+
return lastPage.pagination.currentPage + 1;
|
|
31
|
+
}
|
|
32
|
+
return undefined;
|
|
33
|
+
},
|
|
34
|
+
enabled: !!businessId
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
const useGetPromoCodeById = (id, options, config) => {
|
|
38
|
+
const client = ApiContext.useApiClient();
|
|
39
|
+
reactQuery.useQueryClient();
|
|
40
|
+
const businessId = ApiContext.useBusinessId();
|
|
41
|
+
if (!businessId) {
|
|
42
|
+
throw new Error("businessId is required for promo code operations");
|
|
43
|
+
}
|
|
44
|
+
return reactQuery.useQuery({
|
|
45
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.PromoCodes, id, options],
|
|
46
|
+
queryFn: async () => await client.businesses.promoCodes.getByIdAsync(businessId, id, options, config),
|
|
47
|
+
enabled: !!businessId
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
const useCreatePromoCodeMutation = () => {
|
|
51
|
+
const client = ApiContext.useApiClient();
|
|
52
|
+
const queryClient = reactQuery.useQueryClient();
|
|
53
|
+
const businessId = ApiContext.useBusinessId();
|
|
54
|
+
return reactQuery.useMutation({
|
|
55
|
+
mutationFn: async ({
|
|
56
|
+
request,
|
|
57
|
+
options,
|
|
58
|
+
config
|
|
59
|
+
}) => {
|
|
60
|
+
if (!businessId) {
|
|
61
|
+
throw new Error("businessId is required for promo code operations");
|
|
62
|
+
}
|
|
63
|
+
return await client.businesses.promoCodes.createAsync(businessId, request, options, config);
|
|
64
|
+
},
|
|
65
|
+
onSuccess: () => {
|
|
66
|
+
if (businessId) {
|
|
67
|
+
queryClient.invalidateQueries({
|
|
68
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.PromoCodes]
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
const useUpdatePromoCodeMutation = () => {
|
|
75
|
+
const client = ApiContext.useApiClient();
|
|
76
|
+
const queryClient = reactQuery.useQueryClient();
|
|
77
|
+
const businessId = ApiContext.useBusinessId();
|
|
78
|
+
return reactQuery.useMutation({
|
|
79
|
+
mutationFn: async ({
|
|
80
|
+
id,
|
|
81
|
+
request,
|
|
82
|
+
options,
|
|
83
|
+
config
|
|
84
|
+
}) => {
|
|
85
|
+
if (!businessId) {
|
|
86
|
+
throw new Error("businessId is required for promo code operations");
|
|
87
|
+
}
|
|
88
|
+
return await client.businesses.promoCodes.updateAsync(businessId, id, request, options, config);
|
|
89
|
+
},
|
|
90
|
+
onSuccess: (_, {
|
|
91
|
+
id
|
|
92
|
+
}) => {
|
|
93
|
+
if (businessId) {
|
|
94
|
+
queryClient.invalidateQueries({
|
|
95
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.PromoCodes]
|
|
96
|
+
});
|
|
97
|
+
queryClient.invalidateQueries({
|
|
98
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.PromoCodes, id]
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
const useDeletePromoCodeMutation = () => {
|
|
105
|
+
const client = ApiContext.useApiClient();
|
|
106
|
+
const queryClient = reactQuery.useQueryClient();
|
|
107
|
+
const businessId = ApiContext.useBusinessId();
|
|
108
|
+
return reactQuery.useMutation({
|
|
109
|
+
mutationFn: async ({
|
|
110
|
+
id,
|
|
111
|
+
options,
|
|
112
|
+
config
|
|
113
|
+
}) => {
|
|
114
|
+
if (!businessId) {
|
|
115
|
+
throw new Error("businessId is required for promo code operations");
|
|
116
|
+
}
|
|
117
|
+
await client.businesses.promoCodes.deleteAsync(businessId, id, options, config);
|
|
118
|
+
},
|
|
119
|
+
onSuccess: (_, {
|
|
120
|
+
id
|
|
121
|
+
}) => {
|
|
122
|
+
if (businessId) {
|
|
123
|
+
queryClient.invalidateQueries({
|
|
124
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.PromoCodes]
|
|
125
|
+
});
|
|
126
|
+
queryClient.invalidateQueries({
|
|
127
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.PromoCodes, id]
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
exports.useCreatePromoCodeMutation = useCreatePromoCodeMutation;
|
|
135
|
+
exports.useDeletePromoCodeMutation = useDeletePromoCodeMutation;
|
|
136
|
+
exports.useGetPromoCodeById = useGetPromoCodeById;
|
|
137
|
+
exports.useListPromoCodes = useListPromoCodes;
|
|
138
|
+
exports.useUpdatePromoCodeMutation = useUpdatePromoCodeMutation;
|
|
139
|
+
//# sourceMappingURL=PromoCodesAPI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromoCodesAPI.cjs","sources":["../../../../../src/apis/business/promo-codes/PromoCodesAPI.tsx"],"sourcesContent":["import {\n\tPromoCodeCreateRequest,\n\tPromoCodeListRequest,\n\tPromoCodeUpdateRequest,\n\tSBPromoCode,\n\tSBRequestOptions,\n\tSBApiException,\n\tSBList,\n} from \"@smartbills/sdk\";\nimport { useApiClient } from \"@/context\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport {\n\tQueryKey,\n\tuseInfiniteQuery,\n\tuseMutation,\n\tuseQuery,\n} from \"@tanstack/react-query\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { SBApiKeys } from \"../../SBApiKeys\";\nimport { useBusinessId } from \"@/context\";\n\nexport const useListPromoCodes = (\n\trequest: PromoCodeListRequest = { page: 1, pageSize: 25 },\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig<PromoCodeListRequest>,\n) => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\tif (!businessId) {\n\t\tthrow new Error(\"businessId is required for promo code operations\");\n\t}\n\n\treturn useInfiniteQuery<\n\t\tSBList<SBPromoCode>,\n\t\tSBApiException,\n\t\tSBList<SBPromoCode>,\n\t\tQueryKey,\n\t\tnumber\n\t>({\n\t\tinitialPageParam: request.page || 1,\n\t\tqueryKey: [\n\t\t\tSBApiKeys.Businesses,\n\t\t\tbusinessId,\n\t\t\tSBApiKeys.PromoCodes,\n\t\t\trequest,\n\t\t\toptions,\n\t\t],\n\t\tqueryFn: async ({ pageParam = 1 }) => {\n\t\t\treturn await client.businesses.promoCodes.listAsync(\n\t\t\t\tbusinessId,\n\t\t\t\t{ ...request, page: pageParam },\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tgetNextPageParam: (lastPage) => {\n\t\t\tif (\n\t\t\t\tlastPage.pagination &&\n\t\t\t\tlastPage.pagination.currentPage < lastPage.pagination.pageCount\n\t\t\t) {\n\t\t\t\treturn lastPage.pagination.currentPage + 1;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t},\n\t\tenabled: !!businessId,\n\t});\n};\n\nexport const useGetPromoCodeById = (\n\tid: number,\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\tif (!businessId) {\n\t\tthrow new Error(\"businessId is required for promo code operations\");\n\t}\n\n\treturn useQuery<SBPromoCode, SBApiException>({\n\t\tqueryKey: [\n\t\t\tSBApiKeys.Businesses,\n\t\t\tbusinessId,\n\t\t\tSBApiKeys.PromoCodes,\n\t\t\tid,\n\t\t\toptions,\n\t\t],\n\t\tqueryFn: async () =>\n\t\t\tawait client.businesses.promoCodes.getByIdAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tid,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t),\n\t\tenabled: !!businessId,\n\t});\n};\n\nexport const useCreatePromoCodeMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tSBPromoCode,\n\t\tSBApiException,\n\t\t{\n\t\t\trequest: PromoCodeCreateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig<PromoCodeCreateRequest>;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ request, options, config }) => {\n\t\t\tif (!businessId) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"businessId is required for promo code operations\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn await client.businesses.promoCodes.createAsync(\n\t\t\t\tbusinessId,\n\t\t\t\trequest,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: () => {\n\t\t\tif (businessId) {\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: [\n\t\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\t\tbusinessId,\n\t\t\t\t\t\tSBApiKeys.PromoCodes,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n};\n\nexport const useUpdatePromoCodeMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tSBPromoCode,\n\t\tSBApiException,\n\t\t{\n\t\t\tid: number;\n\t\t\trequest: PromoCodeUpdateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig<PromoCodeUpdateRequest>;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ id, request, options, config }) => {\n\t\t\tif (!businessId) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"businessId is required for promo code operations\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn await client.businesses.promoCodes.updateAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tid,\n\t\t\t\trequest,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (_, { id }) => {\n\t\t\tif (businessId) {\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: [\n\t\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\t\tbusinessId,\n\t\t\t\t\t\tSBApiKeys.PromoCodes,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: [\n\t\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\t\tbusinessId,\n\t\t\t\t\t\tSBApiKeys.PromoCodes,\n\t\t\t\t\t\tid,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n};\n\nexport const useDeletePromoCodeMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tvoid,\n\t\tSBApiException,\n\t\t{\n\t\t\tid: number;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ id, options, config }) => {\n\t\t\tif (!businessId) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"businessId is required for promo code operations\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tawait client.businesses.promoCodes.deleteAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tid,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (_, { id }) => {\n\t\t\tif (businessId) {\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: [\n\t\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\t\tbusinessId,\n\t\t\t\t\t\tSBApiKeys.PromoCodes,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: [\n\t\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\t\tbusinessId,\n\t\t\t\t\t\tSBApiKeys.PromoCodes,\n\t\t\t\t\t\tid,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n};\n"],"names":["useListPromoCodes","request","page","pageSize","options","config","client","useApiClient","useQueryClient","businessId","useBusinessId","Error","useInfiniteQuery","initialPageParam","queryKey","SBApiKeys","Businesses","PromoCodes","queryFn","pageParam","businesses","promoCodes","listAsync","getNextPageParam","lastPage","pagination","currentPage","pageCount","undefined","enabled","useGetPromoCodeById","id","useQuery","getByIdAsync","useCreatePromoCodeMutation","queryClient","useMutation","mutationFn","createAsync","onSuccess","invalidateQueries","useUpdatePromoCodeMutation","updateAsync","_","useDeletePromoCodeMutation","deleteAsync"],"mappings":";;;;;;AAqBaA,MAAAA,iBAAiB,GAAGA,CAChCC,OAAgC,GAAA;AAAEC,EAAAA,IAAI,EAAE,CAAC;AAAEC,EAAAA,QAAQ,EAAE;AAAI,CAAA,EACzDC,OAA0B,EAC1BC,MAAiD,KAC9C;AACH,EAAA,MAAMC,MAAM,GAAGC,uBAAY,EAAE;AAC7B,EAAoBC,yBAAc;AAClC,EAAA,MAAMC,UAAU,GAAGC,wBAAa,EAAE;EAElC,IAAI,CAACD,UAAU,EAAE;AAChB,IAAA,MAAM,IAAIE,KAAK,CAAC,kDAAkD,CAAC;AACpE;AAEA,EAAA,OAAOC,2BAAgB,CAMrB;AACDC,IAAAA,gBAAgB,EAAEZ,OAAO,CAACC,IAAI,IAAI,CAAC;AACnCY,IAAAA,QAAQ,EAAE,CACTC,mBAAS,CAACC,UAAU,EACpBP,UAAU,EACVM,mBAAS,CAACE,UAAU,EACpBhB,OAAO,EACPG,OAAO,CACP;IACDc,OAAO,EAAE,OAAO;AAAEC,MAAAA,SAAS,GAAG;AAAG,KAAA,KAAI;MACpC,OAAO,MAAMb,MAAM,CAACc,UAAU,CAACC,UAAU,CAACC,SAAS,CAClDb,UAAU,EACV;AAAE,QAAA,GAAGR,OAAO;AAAEC,QAAAA,IAAI,EAAEiB;AAAS,OAAE,EAC/Bf,OAAO,EACPC,MAAM,CACN;KACD;IACDkB,gBAAgB,EAAGC,QAAQ,IAAI;AAC9B,MAAA,IACCA,QAAQ,CAACC,UAAU,IACnBD,QAAQ,CAACC,UAAU,CAACC,WAAW,GAAGF,QAAQ,CAACC,UAAU,CAACE,SAAS,EAC9D;AACD,QAAA,OAAOH,QAAQ,CAACC,UAAU,CAACC,WAAW,GAAG,CAAC;AAC3C;AACA,MAAA,OAAOE,SAAS;KAChB;IACDC,OAAO,EAAE,CAAC,CAACpB;AACX,GAAA,CAAC;AACH;AAEO,MAAMqB,mBAAmB,GAAGA,CAClCC,EAAU,EACV3B,OAA0B,EAC1BC,MAA2B,KACxB;AACH,EAAA,MAAMC,MAAM,GAAGC,uBAAY,EAAE;AAC7B,EAAoBC,yBAAc;AAClC,EAAA,MAAMC,UAAU,GAAGC,wBAAa,EAAE;EAElC,IAAI,CAACD,UAAU,EAAE;AAChB,IAAA,MAAM,IAAIE,KAAK,CAAC,kDAAkD,CAAC;AACpE;AAEA,EAAA,OAAOqB,mBAAQ,CAA8B;AAC5ClB,IAAAA,QAAQ,EAAE,CACTC,mBAAS,CAACC,UAAU,EACpBP,UAAU,EACVM,mBAAS,CAACE,UAAU,EACpBc,EAAE,EACF3B,OAAO,CACP;IACDc,OAAO,EAAE,YACR,MAAMZ,MAAM,CAACc,UAAU,CAACC,UAAU,CAACY,YAAY,CAC9CxB,UAAU,EACVsB,EAAE,EACF3B,OAAO,EACPC,MAAM,CACN;IACFwB,OAAO,EAAE,CAAC,CAACpB;AACX,GAAA,CAAC;AACH;AAEayB,MAAAA,0BAA0B,GAAGA,MAAK;AAC9C,EAAA,MAAM5B,MAAM,GAAGC,uBAAY,EAAE;AAC7B,EAAA,MAAM4B,WAAW,GAAG3B,yBAAc,EAAE;AACpC,EAAA,MAAMC,UAAU,GAAGC,wBAAa,EAAE;AAElC,EAAA,OAAO0B,sBAAW,CAQhB;IACDC,UAAU,EAAE,OAAO;MAAEpC,OAAO;MAAEG,OAAO;AAAEC,MAAAA;AAAQ,KAAA,KAAI;MAClD,IAAI,CAACI,UAAU,EAAE;AAChB,QAAA,MAAM,IAAIE,KAAK,CACd,kDAAkD,CAClD;AACF;AACA,MAAA,OAAO,MAAML,MAAM,CAACc,UAAU,CAACC,UAAU,CAACiB,WAAW,CACpD7B,UAAU,EACVR,OAAO,EACPG,OAAO,EACPC,MAAM,CACN;KACD;IACDkC,SAAS,EAAEA,MAAK;AACf,MAAA,IAAI9B,UAAU,EAAE;QACf0B,WAAW,CAACK,iBAAiB,CAAC;UAC7B1B,QAAQ,EAAE,CACTC,mBAAS,CAACC,UAAU,EACpBP,UAAU,EACVM,mBAAS,CAACE,UAAU;AAErB,SAAA,CAAC;AACH;AACD;AACA,GAAA,CAAC;AACH;AAEawB,MAAAA,0BAA0B,GAAGA,MAAK;AAC9C,EAAA,MAAMnC,MAAM,GAAGC,uBAAY,EAAE;AAC7B,EAAA,MAAM4B,WAAW,GAAG3B,yBAAc,EAAE;AACpC,EAAA,MAAMC,UAAU,GAAGC,wBAAa,EAAE;AAElC,EAAA,OAAO0B,sBAAW,CAShB;IACDC,UAAU,EAAE,OAAO;MAAEN,EAAE;MAAE9B,OAAO;MAAEG,OAAO;AAAEC,MAAAA;AAAM,KAAE,KAAI;MACtD,IAAI,CAACI,UAAU,EAAE;AAChB,QAAA,MAAM,IAAIE,KAAK,CACd,kDAAkD,CAClD;AACF;AACA,MAAA,OAAO,MAAML,MAAM,CAACc,UAAU,CAACC,UAAU,CAACqB,WAAW,CACpDjC,UAAU,EACVsB,EAAE,EACF9B,OAAO,EACPG,OAAO,EACPC,MAAM,CACN;KACD;IACDkC,SAAS,EAAEA,CAACI,CAAC,EAAE;AAAEZ,MAAAA;AAAE,KAAE,KAAI;AACxB,MAAA,IAAItB,UAAU,EAAE;QACf0B,WAAW,CAACK,iBAAiB,CAAC;UAC7B1B,QAAQ,EAAE,CACTC,mBAAS,CAACC,UAAU,EACpBP,UAAU,EACVM,mBAAS,CAACE,UAAU;AAErB,SAAA,CAAC;QACFkB,WAAW,CAACK,iBAAiB,CAAC;AAC7B1B,UAAAA,QAAQ,EAAE,CACTC,mBAAS,CAACC,UAAU,EACpBP,UAAU,EACVM,mBAAS,CAACE,UAAU,EACpBc,EAAE;AAEH,SAAA,CAAC;AACH;AACD;AACA,GAAA,CAAC;AACH;AAEaa,MAAAA,0BAA0B,GAAGA,MAAK;AAC9C,EAAA,MAAMtC,MAAM,GAAGC,uBAAY,EAAE;AAC7B,EAAA,MAAM4B,WAAW,GAAG3B,yBAAc,EAAE;AACpC,EAAA,MAAMC,UAAU,GAAGC,wBAAa,EAAE;AAElC,EAAA,OAAO0B,sBAAW,CAQhB;IACDC,UAAU,EAAE,OAAO;MAAEN,EAAE;MAAE3B,OAAO;AAAEC,MAAAA;AAAQ,KAAA,KAAI;MAC7C,IAAI,CAACI,UAAU,EAAE;AAChB,QAAA,MAAM,IAAIE,KAAK,CACd,kDAAkD,CAClD;AACF;AACA,MAAA,MAAML,MAAM,CAACc,UAAU,CAACC,UAAU,CAACwB,WAAW,CAC7CpC,UAAU,EACVsB,EAAE,EACF3B,OAAO,EACPC,MAAM,CACN;KACD;IACDkC,SAAS,EAAEA,CAACI,CAAC,EAAE;AAAEZ,MAAAA;AAAE,KAAE,KAAI;AACxB,MAAA,IAAItB,UAAU,EAAE;QACf0B,WAAW,CAACK,iBAAiB,CAAC;UAC7B1B,QAAQ,EAAE,CACTC,mBAAS,CAACC,UAAU,EACpBP,UAAU,EACVM,mBAAS,CAACE,UAAU;AAErB,SAAA,CAAC;QACFkB,WAAW,CAACK,iBAAiB,CAAC;AAC7B1B,UAAAA,QAAQ,EAAE,CACTC,mBAAS,CAACC,UAAU,EACpBP,UAAU,EACVM,mBAAS,CAACE,UAAU,EACpBc,EAAE;AAEH,SAAA,CAAC;AACH;AACD;AACA,GAAA,CAAC;AACH;;;;;;;;"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var reactQuery = require('@tanstack/react-query');
|
|
4
|
+
var ApiContext = require('../../../context/ApiContext.cjs');
|
|
5
|
+
var SBApiKeys = require('../../SBApiKeys.cjs');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Hook for listing reviews with infinite pagination
|
|
9
|
+
* @param request - Request parameters for listing reviews
|
|
10
|
+
* @param options - Optional request options
|
|
11
|
+
* @param config - Optional Axios request configuration
|
|
12
|
+
* @returns Infinite query result for implementing infinite scrolling with reviews data
|
|
13
|
+
*/
|
|
14
|
+
const useListReviewsInfiniteQuery = (request = {
|
|
15
|
+
page: 1,
|
|
16
|
+
pageSize: 25
|
|
17
|
+
}, options, config) => {
|
|
18
|
+
const client = ApiContext.useApiClient();
|
|
19
|
+
reactQuery.useQueryClient();
|
|
20
|
+
const businessId = ApiContext.useBusinessId();
|
|
21
|
+
return reactQuery.useInfiniteQuery({
|
|
22
|
+
initialPageParam: request.page || 1,
|
|
23
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.BusinessReviews, request, options],
|
|
24
|
+
queryFn: async ({
|
|
25
|
+
pageParam = 1
|
|
26
|
+
}) => {
|
|
27
|
+
const paginatedRequest = {
|
|
28
|
+
...request,
|
|
29
|
+
page: pageParam
|
|
30
|
+
};
|
|
31
|
+
return await client.businesses.reviews.listAsync(businessId, paginatedRequest, options, config);
|
|
32
|
+
},
|
|
33
|
+
getNextPageParam: lastPage => {
|
|
34
|
+
if (lastPage.pagination && lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
|
|
35
|
+
return lastPage.pagination.currentPage + 1;
|
|
36
|
+
}
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Hook for retrieving a review by ID
|
|
43
|
+
* @param id - The ID of the review to retrieve
|
|
44
|
+
* @param options - Optional request options
|
|
45
|
+
* @param config - Optional Axios request configuration
|
|
46
|
+
* @returns Query result containing the review data
|
|
47
|
+
*/
|
|
48
|
+
const useGetReviewByIdQuery = (id, options, config) => {
|
|
49
|
+
const client = ApiContext.useApiClient();
|
|
50
|
+
reactQuery.useQueryClient();
|
|
51
|
+
const businessId = ApiContext.useBusinessId();
|
|
52
|
+
return reactQuery.useQuery({
|
|
53
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.BusinessReviews, id, options],
|
|
54
|
+
queryFn: async () => await client.businesses.reviews.getByIdAsync(businessId, id, options, config)
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Hook for creating a new review
|
|
59
|
+
* @returns Mutation function for creating reviews
|
|
60
|
+
*/
|
|
61
|
+
const useCreateReviewMutation = () => {
|
|
62
|
+
const client = ApiContext.useApiClient();
|
|
63
|
+
const queryClient = reactQuery.useQueryClient();
|
|
64
|
+
const businessId = ApiContext.useBusinessId();
|
|
65
|
+
return reactQuery.useMutation({
|
|
66
|
+
mutationFn: async ({
|
|
67
|
+
data,
|
|
68
|
+
options,
|
|
69
|
+
config
|
|
70
|
+
}) => {
|
|
71
|
+
return await client.businesses.reviews.createAsync(businessId, data, options, config);
|
|
72
|
+
},
|
|
73
|
+
onSuccess: () => {
|
|
74
|
+
queryClient.invalidateQueries({
|
|
75
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.BusinessReviews]
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Hook for updating an existing review
|
|
82
|
+
* @returns Mutation function for updating reviews
|
|
83
|
+
*/
|
|
84
|
+
const useUpdateReviewMutation = () => {
|
|
85
|
+
const client = ApiContext.useApiClient();
|
|
86
|
+
const queryClient = reactQuery.useQueryClient();
|
|
87
|
+
const businessId = ApiContext.useBusinessId();
|
|
88
|
+
return reactQuery.useMutation({
|
|
89
|
+
mutationFn: async ({
|
|
90
|
+
id,
|
|
91
|
+
data,
|
|
92
|
+
options,
|
|
93
|
+
config
|
|
94
|
+
}) => {
|
|
95
|
+
return await client.businesses.reviews.updateAsync(businessId, id, data, options, config);
|
|
96
|
+
},
|
|
97
|
+
onSuccess: (_, {
|
|
98
|
+
id
|
|
99
|
+
}) => {
|
|
100
|
+
queryClient.invalidateQueries({
|
|
101
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.BusinessReviews]
|
|
102
|
+
});
|
|
103
|
+
queryClient.invalidateQueries({
|
|
104
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.BusinessReviews, id]
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Hook for deleting a review
|
|
111
|
+
* @returns Mutation function for deleting reviews
|
|
112
|
+
*/
|
|
113
|
+
const useDeleteReviewMutation = () => {
|
|
114
|
+
const client = ApiContext.useApiClient();
|
|
115
|
+
const queryClient = reactQuery.useQueryClient();
|
|
116
|
+
const businessId = ApiContext.useBusinessId();
|
|
117
|
+
return reactQuery.useMutation({
|
|
118
|
+
mutationFn: async ({
|
|
119
|
+
id,
|
|
120
|
+
options,
|
|
121
|
+
config
|
|
122
|
+
}) => {
|
|
123
|
+
await client.businesses.reviews.deleteAsync(businessId, id, options, config);
|
|
124
|
+
},
|
|
125
|
+
onSuccess: (_, {
|
|
126
|
+
id
|
|
127
|
+
}) => {
|
|
128
|
+
queryClient.invalidateQueries({
|
|
129
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.BusinessReviews]
|
|
130
|
+
});
|
|
131
|
+
queryClient.removeQueries({
|
|
132
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.BusinessReviews, id]
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
exports.useCreateReviewMutation = useCreateReviewMutation;
|
|
139
|
+
exports.useDeleteReviewMutation = useDeleteReviewMutation;
|
|
140
|
+
exports.useGetReviewByIdQuery = useGetReviewByIdQuery;
|
|
141
|
+
exports.useListReviewsInfiniteQuery = useListReviewsInfiniteQuery;
|
|
142
|
+
exports.useUpdateReviewMutation = useUpdateReviewMutation;
|
|
143
|
+
//# sourceMappingURL=ReviewsAPI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReviewsAPI.cjs","sources":["../../../../../src/apis/business/reviews/ReviewsAPI.tsx"],"sourcesContent":["import {\n\tSBList,\n\tBusinessReviewCreateRequest,\n\tBusinessReviewUpdateRequest,\n\tSBBusinessReview,\n\tSBApiException,\n\tSBRequestOptions,\n} from \"@smartbills/sdk\";\nimport {\n\tInfiniteData,\n\tQueryKey,\n\tuseInfiniteQuery,\n\tuseMutation,\n\tuseQuery,\n} from \"@tanstack/react-query\";\nimport { useApiClient } from \"@/context\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { SBApiKeys } from \"@/apis/SBApiKeys\";\nimport { useBusinessId } from \"@/context\";\n\n/**\n * Hook for listing reviews with infinite pagination\n * @param request - Request parameters for listing reviews\n * @param options - Optional request options\n * @param config - Optional Axios request configuration\n * @returns Infinite query result for implementing infinite scrolling with reviews data\n */\nexport const useListReviewsInfiniteQuery = (\n\trequest: { page?: number; pageSize?: number } = { page: 1, pageSize: 25 },\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\treturn useInfiniteQuery<\n\t\tSBList<SBBusinessReview>,\n\t\tSBApiException,\n\t\tInfiniteData<SBList<SBBusinessReview>>,\n\t\tQueryKey,\n\t\tnumber\n\t>({\n\t\tinitialPageParam: request.page || 1,\n\t\tqueryKey: [\n\t\t\tSBApiKeys.Businesses,\n\t\t\tbusinessId,\n\t\t\tSBApiKeys.BusinessReviews,\n\t\t\trequest,\n\t\t\toptions,\n\t\t],\n\t\tqueryFn: async ({ pageParam = 1 }) => {\n\t\t\tconst paginatedRequest = { ...request, page: pageParam };\n\t\t\treturn await client.businesses.reviews.listAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tpaginatedRequest,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tgetNextPageParam: (lastPage) => {\n\t\t\tif (\n\t\t\t\tlastPage.pagination &&\n\t\t\t\tlastPage.pagination.currentPage < lastPage.pagination.pageCount\n\t\t\t) {\n\t\t\t\treturn lastPage.pagination.currentPage + 1;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t},\n\t});\n};\n\n/**\n * Hook for retrieving a review by ID\n * @param id - The ID of the review to retrieve\n * @param options - Optional request options\n * @param config - Optional Axios request configuration\n * @returns Query result containing the review data\n */\nexport const useGetReviewByIdQuery = (\n\tid: number,\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig,\n) => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\treturn useQuery<SBBusinessReview, SBApiException>({\n\t\tqueryKey: [\n\t\t\tSBApiKeys.Businesses,\n\t\t\tbusinessId,\n\t\t\tSBApiKeys.BusinessReviews,\n\t\t\tid,\n\t\t\toptions,\n\t\t],\n\t\tqueryFn: async () =>\n\t\t\tawait client.businesses.reviews.getByIdAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tid,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t),\n\t});\n};\n\n/**\n * Hook for creating a new review\n * @returns Mutation function for creating reviews\n */\nexport const useCreateReviewMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\treturn useMutation<\n\t\tSBBusinessReview,\n\t\tSBApiException,\n\t\t{\n\t\t\tdata: BusinessReviewCreateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig<BusinessReviewCreateRequest>;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ data, options, config }) => {\n\t\t\treturn await client.businesses.reviews.createAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tdata,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [\n\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\tbusinessId,\n\t\t\t\t\tSBApiKeys.BusinessReviews,\n\t\t\t\t],\n\t\t\t});\n\t\t},\n\t});\n};\n\n/**\n * Hook for updating an existing review\n * @returns Mutation function for updating reviews\n */\nexport const useUpdateReviewMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\treturn useMutation<\n\t\tSBBusinessReview,\n\t\tSBApiException,\n\t\t{\n\t\t\tid: number;\n\t\t\tdata: BusinessReviewUpdateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig<BusinessReviewUpdateRequest>;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ id, data, options, config }) => {\n\t\t\treturn await client.businesses.reviews.updateAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tid,\n\t\t\t\tdata,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (_, { id }) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [\n\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\tbusinessId,\n\t\t\t\t\tSBApiKeys.BusinessReviews,\n\t\t\t\t],\n\t\t\t});\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [\n\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\tbusinessId,\n\t\t\t\t\tSBApiKeys.BusinessReviews,\n\t\t\t\t\tid,\n\t\t\t\t],\n\t\t\t});\n\t\t},\n\t});\n};\n\n/**\n * Hook for deleting a review\n * @returns Mutation function for deleting reviews\n */\nexport const useDeleteReviewMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\treturn useMutation<\n\t\tvoid,\n\t\tSBApiException,\n\t\t{\n\t\t\tid: number;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ id, options, config }) => {\n\t\t\tawait client.businesses.reviews.deleteAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tid,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (_, { id }) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [\n\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\tbusinessId,\n\t\t\t\t\tSBApiKeys.BusinessReviews,\n\t\t\t\t],\n\t\t\t});\n\t\t\tqueryClient.removeQueries({\n\t\t\t\tqueryKey: [\n\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\tbusinessId,\n\t\t\t\t\tSBApiKeys.BusinessReviews,\n\t\t\t\t\tid,\n\t\t\t\t],\n\t\t\t});\n\t\t},\n\t});\n};\n"],"names":["useListReviewsInfiniteQuery","request","page","pageSize","options","config","client","useApiClient","useQueryClient","businessId","useBusinessId","useInfiniteQuery","initialPageParam","queryKey","SBApiKeys","Businesses","BusinessReviews","queryFn","pageParam","paginatedRequest","businesses","reviews","listAsync","getNextPageParam","lastPage","pagination","currentPage","pageCount","undefined","useGetReviewByIdQuery","id","useQuery","getByIdAsync","useCreateReviewMutation","queryClient","useMutation","mutationFn","data","createAsync","onSuccess","invalidateQueries","useUpdateReviewMutation","updateAsync","_","useDeleteReviewMutation","deleteAsync","removeQueries"],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
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 useTablesQuery() {
|
|
8
|
+
const client = ApiContext.useApiClient();
|
|
9
|
+
const businessId = ApiContext.useBusinessId();
|
|
10
|
+
return reactQuery.useQuery({
|
|
11
|
+
queryKey: [SBApiKeys.SBApiKeys.Tables, businessId],
|
|
12
|
+
queryFn: async () => {
|
|
13
|
+
return await client.tables.getAllAsync(businessId);
|
|
14
|
+
},
|
|
15
|
+
enabled: !!businessId
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function useTableByIdQuery(tableId) {
|
|
19
|
+
const client = ApiContext.useApiClient();
|
|
20
|
+
const businessId = ApiContext.useBusinessId();
|
|
21
|
+
return reactQuery.useQuery({
|
|
22
|
+
queryKey: [SBApiKeys.SBApiKeys.Tables, businessId, tableId],
|
|
23
|
+
queryFn: async () => {
|
|
24
|
+
return await client.tables.getByIdAsync(businessId, tableId);
|
|
25
|
+
},
|
|
26
|
+
enabled: !!businessId && !!tableId
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
function useCreateTableMutation() {
|
|
30
|
+
const client = ApiContext.useApiClient();
|
|
31
|
+
const businessId = ApiContext.useBusinessId();
|
|
32
|
+
const queryClient = reactQuery.useQueryClient();
|
|
33
|
+
return reactQuery.useMutation({
|
|
34
|
+
mutationFn: async ({
|
|
35
|
+
data,
|
|
36
|
+
options,
|
|
37
|
+
config
|
|
38
|
+
}) => {
|
|
39
|
+
return await client.tables.createAsync(businessId, data, options, config);
|
|
40
|
+
},
|
|
41
|
+
onSuccess: () => {
|
|
42
|
+
queryClient.invalidateQueries({
|
|
43
|
+
queryKey: [SBApiKeys.SBApiKeys.Tables, businessId]
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function useUpdateTableMutation(tableId) {
|
|
49
|
+
const client = ApiContext.useApiClient();
|
|
50
|
+
const businessId = ApiContext.useBusinessId();
|
|
51
|
+
const queryClient = reactQuery.useQueryClient();
|
|
52
|
+
return reactQuery.useMutation({
|
|
53
|
+
mutationFn: async ({
|
|
54
|
+
data,
|
|
55
|
+
options,
|
|
56
|
+
config
|
|
57
|
+
}) => {
|
|
58
|
+
return await client.tables.updateAsync(businessId, tableId, data, options, config);
|
|
59
|
+
},
|
|
60
|
+
onSuccess: () => {
|
|
61
|
+
queryClient.invalidateQueries({
|
|
62
|
+
queryKey: [SBApiKeys.SBApiKeys.Tables, businessId]
|
|
63
|
+
});
|
|
64
|
+
queryClient.invalidateQueries({
|
|
65
|
+
queryKey: [SBApiKeys.SBApiKeys.Tables, businessId, tableId]
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
exports.useCreateTableMutation = useCreateTableMutation;
|
|
72
|
+
exports.useTableByIdQuery = useTableByIdQuery;
|
|
73
|
+
exports.useTablesQuery = useTablesQuery;
|
|
74
|
+
exports.useUpdateTableMutation = useUpdateTableMutation;
|
|
75
|
+
//# sourceMappingURL=TablesAPI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TablesAPI.cjs","sources":["../../../../../src/apis/business/tables/TablesAPI.tsx"],"sourcesContent":["import {\n\tSBTable,\n\tTableCreateRequest,\n\tTableUpdateRequest,\n\tSBApiException,\n\tSBRequestOptions,\n} from \"@smartbills/sdk\";\nimport { useApiClient, useBusinessId } from \"@/context\";\nimport { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { SBApiKeys } from \"@/apis/SBApiKeys\";\n\nexport function useTablesQuery() {\n\tconst client = useApiClient();\n\tconst businessId = useBusinessId();\n\treturn useQuery<SBTable[], SBApiException>({\n\t\tqueryKey: [SBApiKeys.Tables, businessId],\n\t\tqueryFn: async () => {\n\t\t\treturn await client.tables.getAllAsync(businessId);\n\t\t},\n\t\tenabled: !!businessId,\n\t});\n}\n\nexport function useTableByIdQuery(tableId: number) {\n\tconst client = useApiClient();\n\tconst businessId = useBusinessId();\n\treturn useQuery<SBTable, SBApiException>({\n\t\tqueryKey: [SBApiKeys.Tables, businessId, tableId],\n\t\tqueryFn: async () => {\n\t\t\treturn await client.tables.getByIdAsync(businessId, tableId);\n\t\t},\n\t\tenabled: !!businessId && !!tableId,\n\t});\n}\n\nexport function useCreateTableMutation() {\n\tconst client = useApiClient();\n\tconst businessId = useBusinessId();\n\tconst queryClient = useQueryClient();\n\treturn useMutation<\n\t\tSBTable,\n\t\tSBApiException,\n\t\t{\n\t\t\tdata: TableCreateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ data, options, config }) => {\n\t\t\treturn await client.tables.createAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tdata,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Tables, businessId],\n\t\t\t});\n\t\t},\n\t});\n}\n\nexport function useUpdateTableMutation(tableId: number) {\n\tconst client = useApiClient();\n\tconst businessId = useBusinessId();\n\tconst queryClient = useQueryClient();\n\treturn useMutation<\n\t\tSBTable,\n\t\tSBApiException,\n\t\t{\n\t\t\tdata: TableUpdateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ data, options, config }) => {\n\t\t\treturn await client.tables.updateAsync(\n\t\t\t\tbusinessId,\n\t\t\t\ttableId,\n\t\t\t\tdata,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Tables, businessId],\n\t\t\t});\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: [SBApiKeys.Tables, businessId, tableId],\n\t\t\t});\n\t\t},\n\t});\n}\n"],"names":["useTablesQuery","client","useApiClient","businessId","useBusinessId","useQuery","queryKey","SBApiKeys","Tables","queryFn","tables","getAllAsync","enabled","useTableByIdQuery","tableId","getByIdAsync","useCreateTableMutation","queryClient","useQueryClient","useMutation","mutationFn","data","options","config","createAsync","onSuccess","invalidateQueries","useUpdateTableMutation","updateAsync"],"mappings":";;;;;;SAYgBA,cAAcA,GAAA;AAC7B,EAAA,MAAMC,MAAM,GAAGC,uBAAY,EAAE;AAC7B,EAAA,MAAMC,UAAU,GAAGC,wBAAa,EAAE;AAClC,EAAA,OAAOC,mBAAQ,CAA4B;AAC1CC,IAAAA,QAAQ,EAAE,CAACC,mBAAS,CAACC,MAAM,EAAEL,UAAU,CAAC;IACxCM,OAAO,EAAE,YAAW;MACnB,OAAO,MAAMR,MAAM,CAACS,MAAM,CAACC,WAAW,CAACR,UAAU,CAAC;KAClD;IACDS,OAAO,EAAE,CAAC,CAACT;AACX,GAAA,CAAC;AACH;AAEM,SAAUU,iBAAiBA,CAACC,OAAe,EAAA;AAChD,EAAA,MAAMb,MAAM,GAAGC,uBAAY,EAAE;AAC7B,EAAA,MAAMC,UAAU,GAAGC,wBAAa,EAAE;AAClC,EAAA,OAAOC,mBAAQ,CAA0B;IACxCC,QAAQ,EAAE,CAACC,mBAAS,CAACC,MAAM,EAAEL,UAAU,EAAEW,OAAO,CAAC;IACjDL,OAAO,EAAE,YAAW;MACnB,OAAO,MAAMR,MAAM,CAACS,MAAM,CAACK,YAAY,CAACZ,UAAU,EAAEW,OAAO,CAAC;KAC5D;AACDF,IAAAA,OAAO,EAAE,CAAC,CAACT,UAAU,IAAI,CAAC,CAACW;AAC3B,GAAA,CAAC;AACH;SAEgBE,sBAAsBA,GAAA;AACrC,EAAA,MAAMf,MAAM,GAAGC,uBAAY,EAAE;AAC7B,EAAA,MAAMC,UAAU,GAAGC,wBAAa,EAAE;AAClC,EAAA,MAAMa,WAAW,GAAGC,yBAAc,EAAE;AACpC,EAAA,OAAOC,sBAAW,CAQhB;IACDC,UAAU,EAAE,OAAO;MAAEC,IAAI;MAAEC,OAAO;AAAEC,MAAAA;AAAQ,KAAA,KAAI;AAC/C,MAAA,OAAO,MAAMtB,MAAM,CAACS,MAAM,CAACc,WAAW,CACrCrB,UAAU,EACVkB,IAAI,EACJC,OAAO,EACPC,MAAM,CACN;KACD;IACDE,SAAS,EAAEA,MAAK;MACfR,WAAW,CAACS,iBAAiB,CAAC;AAC7BpB,QAAAA,QAAQ,EAAE,CAACC,mBAAS,CAACC,MAAM,EAAEL,UAAU;AACvC,OAAA,CAAC;AACH;AACA,GAAA,CAAC;AACH;AAEM,SAAUwB,sBAAsBA,CAACb,OAAe,EAAA;AACrD,EAAA,MAAMb,MAAM,GAAGC,uBAAY,EAAE;AAC7B,EAAA,MAAMC,UAAU,GAAGC,wBAAa,EAAE;AAClC,EAAA,MAAMa,WAAW,GAAGC,yBAAc,EAAE;AACpC,EAAA,OAAOC,sBAAW,CAQhB;IACDC,UAAU,EAAE,OAAO;MAAEC,IAAI;MAAEC,OAAO;AAAEC,MAAAA;AAAQ,KAAA,KAAI;AAC/C,MAAA,OAAO,MAAMtB,MAAM,CAACS,MAAM,CAACkB,WAAW,CACrCzB,UAAU,EACVW,OAAO,EACPO,IAAI,EACJC,OAAO,EACPC,MAAM,CACN;KACD;IACDE,SAAS,EAAEA,MAAK;MACfR,WAAW,CAACS,iBAAiB,CAAC;AAC7BpB,QAAAA,QAAQ,EAAE,CAACC,mBAAS,CAACC,MAAM,EAAEL,UAAU;AACvC,OAAA,CAAC;MACFc,WAAW,CAACS,iBAAiB,CAAC;QAC7BpB,QAAQ,EAAE,CAACC,mBAAS,CAACC,MAAM,EAAEL,UAAU,EAAEW,OAAO;AAChD,OAAA,CAAC;AACH;AACA,GAAA,CAAC;AACH;;;;;;;"}
|
|
@@ -0,0 +1,140 @@
|
|
|
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 useListTaxesInfiniteQuery = (request = {
|
|
8
|
+
page: 1,
|
|
9
|
+
pageSize: 25
|
|
10
|
+
}, options, config) => {
|
|
11
|
+
const client = ApiContext.useApiClient();
|
|
12
|
+
const businessId = ApiContext.useBusinessId();
|
|
13
|
+
if (!businessId) {
|
|
14
|
+
throw new Error("businessId is required for tax operations");
|
|
15
|
+
}
|
|
16
|
+
return reactQuery.useInfiniteQuery({
|
|
17
|
+
initialPageParam: request.page || 1,
|
|
18
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Taxes, request, options],
|
|
19
|
+
queryFn: async ({
|
|
20
|
+
pageParam = 1
|
|
21
|
+
}) => {
|
|
22
|
+
const paginatedRequest = {
|
|
23
|
+
...request,
|
|
24
|
+
page: pageParam
|
|
25
|
+
};
|
|
26
|
+
return await client.businesses.taxes.listAsync(businessId, paginatedRequest, options, config);
|
|
27
|
+
},
|
|
28
|
+
getNextPageParam: lastPage => {
|
|
29
|
+
if (lastPage.pagination.currentPage < lastPage.pagination.pageCount) {
|
|
30
|
+
return lastPage.pagination.currentPage + 1;
|
|
31
|
+
}
|
|
32
|
+
return undefined;
|
|
33
|
+
},
|
|
34
|
+
enabled: !!businessId
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
const useGetTaxByIdQuery = (id, options, config) => {
|
|
38
|
+
const client = ApiContext.useApiClient();
|
|
39
|
+
const businessId = ApiContext.useBusinessId();
|
|
40
|
+
if (!businessId) {
|
|
41
|
+
throw new Error("businessId is required for tax operations");
|
|
42
|
+
}
|
|
43
|
+
return reactQuery.useQuery({
|
|
44
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Taxes, id, options],
|
|
45
|
+
queryFn: async () => {
|
|
46
|
+
return await client.businesses.taxes.getByIdAsync(businessId, id, options, config);
|
|
47
|
+
},
|
|
48
|
+
enabled: !!businessId
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
const useCreateTaxMutation = () => {
|
|
52
|
+
const client = ApiContext.useApiClient();
|
|
53
|
+
const queryClient = reactQuery.useQueryClient();
|
|
54
|
+
const businessId = ApiContext.useBusinessId();
|
|
55
|
+
return reactQuery.useMutation({
|
|
56
|
+
mutationFn: async ({
|
|
57
|
+
request,
|
|
58
|
+
options,
|
|
59
|
+
config
|
|
60
|
+
}) => {
|
|
61
|
+
if (!businessId) {
|
|
62
|
+
throw new Error("businessId is required for tax operations");
|
|
63
|
+
}
|
|
64
|
+
return await client.businesses.taxes.createAsync(businessId, request, options, config);
|
|
65
|
+
},
|
|
66
|
+
onSuccess: () => {
|
|
67
|
+
if (businessId) {
|
|
68
|
+
queryClient.invalidateQueries({
|
|
69
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Taxes]
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
const useUpdateTaxMutation = () => {
|
|
76
|
+
const client = ApiContext.useApiClient();
|
|
77
|
+
const queryClient = reactQuery.useQueryClient();
|
|
78
|
+
const businessId = ApiContext.useBusinessId();
|
|
79
|
+
return reactQuery.useMutation({
|
|
80
|
+
mutationFn: async ({
|
|
81
|
+
id,
|
|
82
|
+
request,
|
|
83
|
+
options,
|
|
84
|
+
config
|
|
85
|
+
}) => {
|
|
86
|
+
if (!businessId) {
|
|
87
|
+
throw new Error("businessId is required for tax operations");
|
|
88
|
+
}
|
|
89
|
+
return await client.businesses.taxes.updateAsync(businessId, id, request, options, config);
|
|
90
|
+
},
|
|
91
|
+
onSuccess: (_, {
|
|
92
|
+
id
|
|
93
|
+
}) => {
|
|
94
|
+
if (businessId) {
|
|
95
|
+
queryClient.invalidateQueries({
|
|
96
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Taxes]
|
|
97
|
+
});
|
|
98
|
+
queryClient.invalidateQueries({
|
|
99
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Taxes, id]
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
const useDeleteTaxMutation = () => {
|
|
106
|
+
const client = ApiContext.useApiClient();
|
|
107
|
+
const queryClient = reactQuery.useQueryClient();
|
|
108
|
+
const businessId = ApiContext.useBusinessId();
|
|
109
|
+
return reactQuery.useMutation({
|
|
110
|
+
mutationFn: async ({
|
|
111
|
+
id,
|
|
112
|
+
options,
|
|
113
|
+
config
|
|
114
|
+
}) => {
|
|
115
|
+
if (!businessId) {
|
|
116
|
+
throw new Error("businessId is required for tax operations");
|
|
117
|
+
}
|
|
118
|
+
await client.businesses.taxes.deleteAsync(businessId, id, options, config);
|
|
119
|
+
},
|
|
120
|
+
onSuccess: (_, {
|
|
121
|
+
id
|
|
122
|
+
}) => {
|
|
123
|
+
if (businessId) {
|
|
124
|
+
queryClient.invalidateQueries({
|
|
125
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Taxes]
|
|
126
|
+
});
|
|
127
|
+
queryClient.invalidateQueries({
|
|
128
|
+
queryKey: [SBApiKeys.SBApiKeys.Businesses, businessId, SBApiKeys.SBApiKeys.Taxes, id]
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
exports.useCreateTaxMutation = useCreateTaxMutation;
|
|
136
|
+
exports.useDeleteTaxMutation = useDeleteTaxMutation;
|
|
137
|
+
exports.useGetTaxByIdQuery = useGetTaxByIdQuery;
|
|
138
|
+
exports.useListTaxesInfiniteQuery = useListTaxesInfiniteQuery;
|
|
139
|
+
exports.useUpdateTaxMutation = useUpdateTaxMutation;
|
|
140
|
+
//# sourceMappingURL=TaxesAPI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaxesAPI.cjs","sources":["../../../../../src/apis/business/taxes/TaxesAPI.tsx"],"sourcesContent":["import {\n\tSBList,\n\tSBApiException,\n\tSBRequestOptions,\n\tSBTax,\n\tTaxCreateRequest,\n\tTaxListRequest,\n\tTaxUpdateRequest,\n} from \"@smartbills/sdk\";\nimport { useApiClient } from \"@/context\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport {\n\tQueryKey,\n\tuseInfiniteQuery,\n\tuseMutation,\n\tuseQuery,\n} from \"@tanstack/react-query\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { useBusinessId } from \"@/context\";\nimport { SBApiKeys } from \"@/apis/SBApiKeys\";\n\nexport const useListTaxesInfiniteQuery = (\n\trequest: TaxListRequest = { page: 1, pageSize: 25 },\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig<TaxListRequest>,\n) => {\n\tconst client = useApiClient();\n\tconst businessId = useBusinessId();\n\n\tif (!businessId) {\n\t\tthrow new Error(\"businessId is required for tax operations\");\n\t}\n\n\treturn useInfiniteQuery<\n\t\tSBList<SBTax>,\n\t\tSBApiException,\n\t\tSBList<SBTax>,\n\t\tQueryKey,\n\t\tnumber\n\t>({\n\t\tinitialPageParam: request.page || 1,\n\t\tqueryKey: [\n\t\t\tSBApiKeys.Businesses,\n\t\t\tbusinessId,\n\t\t\tSBApiKeys.Taxes,\n\t\t\trequest,\n\t\t\toptions,\n\t\t],\n\t\tqueryFn: async ({ pageParam = 1 }) => {\n\t\t\tconst paginatedRequest = { ...request, page: pageParam };\n\t\t\treturn await client.businesses.taxes.listAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tpaginatedRequest,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tgetNextPageParam: (lastPage) => {\n\t\t\tif (\n\t\t\t\tlastPage.pagination.currentPage < lastPage.pagination.pageCount\n\t\t\t) {\n\t\t\t\treturn lastPage.pagination.currentPage + 1;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t},\n\t\tenabled: !!businessId,\n\t});\n};\n\nexport const useGetTaxByIdQuery = (\n\tid: number,\n\toptions?: SBRequestOptions,\n\tconfig?: AxiosRequestConfig<TaxListRequest>,\n) => {\n\tconst client = useApiClient();\n\tconst businessId = useBusinessId();\n\n\tif (!businessId) {\n\t\tthrow new Error(\"businessId is required for tax operations\");\n\t}\n\n\treturn useQuery<SBTax, SBApiException>({\n\t\tqueryKey: [\n\t\t\tSBApiKeys.Businesses,\n\t\t\tbusinessId,\n\t\t\tSBApiKeys.Taxes,\n\t\t\tid,\n\t\t\toptions,\n\t\t],\n\t\tqueryFn: async () => {\n\t\t\treturn await client.businesses.taxes.getByIdAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tid,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tenabled: !!businessId,\n\t});\n};\n\nexport const useCreateTaxMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tSBTax,\n\t\tSBApiException,\n\t\t{\n\t\t\trequest: TaxCreateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig<TaxCreateRequest>;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ request, options, config }) => {\n\t\t\tif (!businessId) {\n\t\t\t\tthrow new Error(\"businessId is required for tax operations\");\n\t\t\t}\n\t\t\treturn await client.businesses.taxes.createAsync(\n\t\t\t\tbusinessId,\n\t\t\t\trequest,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: () => {\n\t\t\tif (businessId) {\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: [\n\t\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\t\tbusinessId,\n\t\t\t\t\t\tSBApiKeys.Taxes,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n};\n\nexport const useUpdateTaxMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tSBTax,\n\t\tSBApiException,\n\t\t{\n\t\t\tid: number;\n\t\t\trequest: TaxUpdateRequest;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig<TaxUpdateRequest>;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ id, request, options, config }) => {\n\t\t\tif (!businessId) {\n\t\t\t\tthrow new Error(\"businessId is required for tax operations\");\n\t\t\t}\n\t\t\treturn await client.businesses.taxes.updateAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tid,\n\t\t\t\trequest,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (_, { id }) => {\n\t\t\tif (businessId) {\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: [\n\t\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\t\tbusinessId,\n\t\t\t\t\t\tSBApiKeys.Taxes,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: [\n\t\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\t\tbusinessId,\n\t\t\t\t\t\tSBApiKeys.Taxes,\n\t\t\t\t\t\tid,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n};\n\nexport const useDeleteTaxMutation = () => {\n\tconst client = useApiClient();\n\tconst queryClient = useQueryClient();\n\tconst businessId = useBusinessId();\n\n\treturn useMutation<\n\t\tvoid,\n\t\tSBApiException,\n\t\t{\n\t\t\tid: number;\n\t\t\toptions?: SBRequestOptions;\n\t\t\tconfig?: AxiosRequestConfig;\n\t\t}\n\t>({\n\t\tmutationFn: async ({ id, options, config }) => {\n\t\t\tif (!businessId) {\n\t\t\t\tthrow new Error(\"businessId is required for tax operations\");\n\t\t\t}\n\t\t\tawait client.businesses.taxes.deleteAsync(\n\t\t\t\tbusinessId,\n\t\t\t\tid,\n\t\t\t\toptions,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t},\n\t\tonSuccess: (_, { id }) => {\n\t\t\tif (businessId) {\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: [\n\t\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\t\tbusinessId,\n\t\t\t\t\t\tSBApiKeys.Taxes,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: [\n\t\t\t\t\t\tSBApiKeys.Businesses,\n\t\t\t\t\t\tbusinessId,\n\t\t\t\t\t\tSBApiKeys.Taxes,\n\t\t\t\t\t\tid,\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n};\n"],"names":["useListTaxesInfiniteQuery","request","page","pageSize","options","config","client","useApiClient","businessId","useBusinessId","Error","useInfiniteQuery","initialPageParam","queryKey","SBApiKeys","Businesses","Taxes","queryFn","pageParam","paginatedRequest","businesses","taxes","listAsync","getNextPageParam","lastPage","pagination","currentPage","pageCount","undefined","enabled","useGetTaxByIdQuery","id","useQuery","getByIdAsync","useCreateTaxMutation","queryClient","useQueryClient","useMutation","mutationFn","createAsync","onSuccess","invalidateQueries","useUpdateTaxMutation","updateAsync","_","useDeleteTaxMutation","deleteAsync"],"mappings":"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"}
|