@wbsuite/react-hooks 1.0.209 → 1.0.210
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/cjs/hooks/useAgents/index.d.ts +2 -0
- package/cjs/hooks/useAgents/index.js +32 -0
- package/cjs/hooks/useArticles/index.d.ts +5 -0
- package/cjs/hooks/useArticles/index.js +45 -0
- package/cjs/hooks/useAttributes/index.d.ts +2 -0
- package/cjs/hooks/useAttributes/index.js +52 -0
- package/cjs/hooks/useAttributesGroups/index.d.ts +3 -0
- package/cjs/hooks/useAttributesGroups/index.js +47 -0
- package/cjs/hooks/useAutomations/index.d.ts +2 -0
- package/cjs/hooks/useAutomations/index.js +32 -0
- package/cjs/hooks/useBackend/get.d.ts +2 -0
- package/cjs/hooks/useBackend/get.js +52 -0
- package/cjs/hooks/useBackend/index.d.ts +17 -0
- package/cjs/hooks/useBackend/index.js +22 -0
- package/cjs/hooks/useBackend/list.d.ts +2 -0
- package/cjs/hooks/useBackend/list.js +55 -0
- package/cjs/hooks/useBackend/post.d.ts +2 -0
- package/cjs/hooks/useBackend/post.js +52 -0
- package/cjs/hooks/useBackend/put.d.ts +2 -0
- package/cjs/hooks/useBackend/put.js +52 -0
- package/cjs/hooks/useCampaigns/index.d.ts +2 -0
- package/cjs/hooks/useCampaigns/index.js +35 -0
- package/cjs/hooks/useCategories/index.d.ts +3 -0
- package/cjs/hooks/useCategories/index.js +9 -0
- package/cjs/hooks/useChats/index.d.ts +3 -0
- package/cjs/hooks/useChats/index.js +37 -0
- package/cjs/hooks/useContactGroups/index.d.ts +3 -0
- package/cjs/hooks/useContactGroups/index.js +57 -0
- package/cjs/hooks/useContacts/index.d.ts +3 -0
- package/cjs/hooks/useContacts/index.js +52 -0
- package/cjs/hooks/useCurrencies/index.d.ts +3 -0
- package/cjs/hooks/useCurrencies/index.js +37 -0
- package/cjs/hooks/useCustomers/index.d.ts +3 -0
- package/cjs/hooks/useCustomers/index.js +52 -0
- package/cjs/hooks/useDocuments/index.d.ts +10 -0
- package/cjs/hooks/useDocuments/index.js +145 -0
- package/cjs/hooks/useDomains/index.d.ts +2 -0
- package/cjs/hooks/useDomains/index.js +32 -0
- package/cjs/hooks/useEmailTemplates/index.d.ts +2 -0
- package/cjs/hooks/useEmailTemplates/index.js +37 -0
- package/cjs/hooks/useEntityStatuses/index.d.ts +2 -0
- package/cjs/hooks/useEntityStatuses/index.js +34 -0
- package/cjs/hooks/useForms/index.d.ts +2 -0
- package/cjs/hooks/useForms/index.js +37 -0
- package/cjs/hooks/useIntegrations/index.d.ts +2 -0
- package/cjs/hooks/useIntegrations/index.js +39 -0
- package/cjs/hooks/useInvites/index.d.ts +2 -0
- package/cjs/hooks/useInvites/index.js +47 -0
- package/cjs/hooks/useLabels/index.d.ts +3 -0
- package/cjs/hooks/useLabels/index.js +32 -0
- package/cjs/hooks/useLanguages/index.d.ts +5 -0
- package/cjs/hooks/useLanguages/index.js +39 -0
- package/cjs/hooks/useLeads/index.d.ts +30 -0
- package/cjs/hooks/useLeads/index.js +113 -0
- package/cjs/hooks/useMedia/index.d.ts +2 -0
- package/cjs/hooks/useMedia/index.js +34 -0
- package/cjs/hooks/useOrders/index.d.ts +2 -0
- package/cjs/hooks/useOrders/index.js +76 -0
- package/cjs/hooks/usePaths/index.d.ts +2 -0
- package/cjs/hooks/usePaths/index.js +37 -0
- package/cjs/hooks/usePermissions/index.d.ts +2 -0
- package/cjs/hooks/usePermissions/index.js +47 -0
- package/cjs/hooks/useProducts/index.d.ts +2 -0
- package/cjs/hooks/useProducts/index.js +52 -0
- package/cjs/hooks/useProfile/index.d.ts +3 -0
- package/cjs/hooks/useProfile/index.js +57 -0
- package/cjs/hooks/useRenting/index.d.ts +47 -0
- package/cjs/hooks/useRenting/index.js +52 -0
- package/cjs/hooks/useRoles/index.d.ts +2 -0
- package/cjs/hooks/useRoles/index.js +32 -0
- package/cjs/hooks/useRoom/index.d.ts +3 -0
- package/cjs/hooks/useRoom/index.js +55 -0
- package/cjs/hooks/useRotations/index.d.ts +2 -0
- package/cjs/hooks/useRotations/index.js +37 -0
- package/cjs/hooks/useSiteConfig/index.d.ts +5 -0
- package/cjs/hooks/useSiteConfig/index.js +33 -0
- package/cjs/hooks/useStatuses/index.d.ts +2 -0
- package/cjs/hooks/useStatuses/index.js +32 -0
- package/cjs/hooks/useStock/index.d.ts +20 -0
- package/cjs/hooks/useStock/index.js +51 -0
- package/cjs/hooks/useStores/index.d.ts +3 -0
- package/cjs/hooks/useStores/index.js +62 -0
- package/cjs/hooks/useSubscriptions/index.d.ts +2 -0
- package/cjs/hooks/useSubscriptions/index.js +37 -0
- package/cjs/hooks/useTable/index.d.ts +3 -0
- package/cjs/hooks/useTable/index.js +34 -0
- package/cjs/hooks/useTeams/index.d.ts +5 -0
- package/cjs/hooks/useTeams/index.js +52 -0
- package/cjs/hooks/useTickets/index.d.ts +3 -0
- package/cjs/hooks/useTickets/index.js +47 -0
- package/cjs/hooks/useTransactions/index.d.ts +8 -0
- package/cjs/hooks/useTransactions/index.js +61 -0
- package/cjs/hooks/useTranslations/index.d.ts +5 -0
- package/cjs/hooks/useTranslations/index.js +42 -0
- package/cjs/hooks/useUserConnections/index.d.ts +2 -0
- package/cjs/hooks/useUserConnections/index.js +53 -0
- package/cjs/hooks/useUserSubscriptions/index.d.ts +6 -0
- package/cjs/hooks/useUserSubscriptions/index.js +47 -0
- package/cjs/hooks/useUsers/index.d.ts +17 -0
- package/cjs/hooks/useUsers/index.js +141 -0
- package/cjs/hooks/useWBSuite/index.d.ts +2 -0
- package/cjs/hooks/useWBSuite/index.js +39 -0
- package/cjs/hooks/useWebsites/index.d.ts +2 -0
- package/cjs/hooks/useWebsites/index.js +72 -0
- package/{src/index.ts → cjs/index.d.ts} +1 -1
- package/cjs/index.js +115 -0
- package/cjs/models/Requestor.d.ts +24 -0
- package/cjs/models/Requestor.js +53 -0
- package/{src/next/utils/index.ts → cjs/next/utils/index.d.ts} +1 -1
- package/cjs/next/utils/index.js +6 -0
- package/cjs/next/utils/wrapAsync.d.ts +1 -0
- package/cjs/next/utils/wrapAsync.js +54 -0
- package/cjs/utils/authWithApiKey.d.ts +4 -0
- package/cjs/utils/authWithApiKey.js +8 -0
- package/cjs/utils/authWithToken.d.ts +4 -0
- package/cjs/utils/authWithToken.js +8 -0
- package/cjs/utils/index.d.ts +11 -0
- package/cjs/utils/index.js +19 -0
- package/esm/hooks/useAgents/index.d.ts +2 -0
- package/esm/hooks/useAgents/index.js +28 -0
- package/esm/hooks/useArticles/index.d.ts +5 -0
- package/esm/hooks/useArticles/index.js +40 -0
- package/esm/hooks/useAttributes/index.d.ts +2 -0
- package/esm/hooks/useAttributes/index.js +48 -0
- package/esm/hooks/useAttributesGroups/index.d.ts +3 -0
- package/esm/hooks/useAttributesGroups/index.js +43 -0
- package/esm/hooks/useAutomations/index.d.ts +2 -0
- package/esm/hooks/useAutomations/index.js +28 -0
- package/esm/hooks/useBackend/get.d.ts +2 -0
- package/esm/hooks/useBackend/get.js +48 -0
- package/esm/hooks/useBackend/index.d.ts +17 -0
- package/esm/hooks/useBackend/index.js +18 -0
- package/esm/hooks/useBackend/list.d.ts +2 -0
- package/esm/hooks/useBackend/list.js +51 -0
- package/esm/hooks/useBackend/post.d.ts +2 -0
- package/esm/hooks/useBackend/post.js +48 -0
- package/esm/hooks/useBackend/put.d.ts +2 -0
- package/esm/hooks/useBackend/put.js +48 -0
- package/esm/hooks/useCampaigns/index.d.ts +2 -0
- package/esm/hooks/useCampaigns/index.js +31 -0
- package/esm/hooks/useCategories/index.d.ts +3 -0
- package/esm/hooks/useCategories/index.js +5 -0
- package/esm/hooks/useChats/index.d.ts +3 -0
- package/esm/hooks/useChats/index.js +33 -0
- package/esm/hooks/useContactGroups/index.d.ts +3 -0
- package/esm/hooks/useContactGroups/index.js +53 -0
- package/esm/hooks/useContacts/index.d.ts +3 -0
- package/esm/hooks/useContacts/index.js +48 -0
- package/esm/hooks/useCurrencies/index.d.ts +3 -0
- package/esm/hooks/useCurrencies/index.js +33 -0
- package/esm/hooks/useCustomers/index.d.ts +3 -0
- package/esm/hooks/useCustomers/index.js +48 -0
- package/esm/hooks/useDocuments/index.d.ts +10 -0
- package/esm/hooks/useDocuments/index.js +141 -0
- package/esm/hooks/useDomains/index.d.ts +2 -0
- package/esm/hooks/useDomains/index.js +28 -0
- package/esm/hooks/useEmailTemplates/index.d.ts +2 -0
- package/esm/hooks/useEmailTemplates/index.js +33 -0
- package/esm/hooks/useEntityStatuses/index.d.ts +2 -0
- package/esm/hooks/useEntityStatuses/index.js +30 -0
- package/esm/hooks/useForms/index.d.ts +2 -0
- package/esm/hooks/useForms/index.js +33 -0
- package/esm/hooks/useIntegrations/index.d.ts +2 -0
- package/esm/hooks/useIntegrations/index.js +35 -0
- package/esm/hooks/useInvites/index.d.ts +2 -0
- package/esm/hooks/useInvites/index.js +43 -0
- package/esm/hooks/useLabels/index.d.ts +3 -0
- package/esm/hooks/useLabels/index.js +28 -0
- package/esm/hooks/useLanguages/index.d.ts +5 -0
- package/esm/hooks/useLanguages/index.js +35 -0
- package/esm/hooks/useLeads/index.d.ts +30 -0
- package/esm/hooks/useLeads/index.js +109 -0
- package/esm/hooks/useMedia/index.d.ts +2 -0
- package/esm/hooks/useMedia/index.js +30 -0
- package/esm/hooks/useOrders/index.d.ts +2 -0
- package/esm/hooks/useOrders/index.js +72 -0
- package/esm/hooks/usePaths/index.d.ts +2 -0
- package/esm/hooks/usePaths/index.js +33 -0
- package/esm/hooks/usePermissions/index.d.ts +2 -0
- package/esm/hooks/usePermissions/index.js +43 -0
- package/esm/hooks/useProducts/index.d.ts +2 -0
- package/esm/hooks/useProducts/index.js +48 -0
- package/esm/hooks/useProfile/index.d.ts +3 -0
- package/esm/hooks/useProfile/index.js +53 -0
- package/esm/hooks/useRenting/index.d.ts +47 -0
- package/esm/hooks/useRenting/index.js +48 -0
- package/esm/hooks/useRoles/index.d.ts +2 -0
- package/esm/hooks/useRoles/index.js +28 -0
- package/esm/hooks/useRoom/index.d.ts +3 -0
- package/esm/hooks/useRoom/index.js +51 -0
- package/esm/hooks/useRotations/index.d.ts +2 -0
- package/esm/hooks/useRotations/index.js +33 -0
- package/esm/hooks/useSiteConfig/index.d.ts +5 -0
- package/esm/hooks/useSiteConfig/index.js +29 -0
- package/esm/hooks/useStatuses/index.d.ts +2 -0
- package/esm/hooks/useStatuses/index.js +28 -0
- package/esm/hooks/useStock/index.d.ts +20 -0
- package/esm/hooks/useStock/index.js +47 -0
- package/esm/hooks/useStores/index.d.ts +3 -0
- package/esm/hooks/useStores/index.js +58 -0
- package/esm/hooks/useSubscriptions/index.d.ts +2 -0
- package/esm/hooks/useSubscriptions/index.js +33 -0
- package/esm/hooks/useTable/index.d.ts +3 -0
- package/esm/hooks/useTable/index.js +30 -0
- package/esm/hooks/useTeams/index.d.ts +5 -0
- package/esm/hooks/useTeams/index.js +48 -0
- package/esm/hooks/useTickets/index.d.ts +3 -0
- package/esm/hooks/useTickets/index.js +43 -0
- package/esm/hooks/useTransactions/index.d.ts +8 -0
- package/esm/hooks/useTransactions/index.js +57 -0
- package/esm/hooks/useTranslations/index.d.ts +5 -0
- package/esm/hooks/useTranslations/index.js +38 -0
- package/esm/hooks/useUserConnections/index.d.ts +2 -0
- package/esm/hooks/useUserConnections/index.js +49 -0
- package/esm/hooks/useUserSubscriptions/index.d.ts +6 -0
- package/esm/hooks/useUserSubscriptions/index.js +43 -0
- package/esm/hooks/useUsers/index.d.ts +17 -0
- package/esm/hooks/useUsers/index.js +137 -0
- package/esm/hooks/useWBSuite/index.d.ts +2 -0
- package/esm/hooks/useWBSuite/index.js +35 -0
- package/esm/hooks/useWebsites/index.d.ts +2 -0
- package/esm/hooks/useWebsites/index.js +68 -0
- package/esm/index.d.ts +49 -0
- package/esm/index.js +50 -0
- package/esm/models/Requestor.d.ts +24 -0
- package/esm/models/Requestor.js +47 -0
- package/esm/next/utils/index.d.ts +2 -0
- package/esm/next/utils/index.js +3 -0
- package/esm/next/utils/wrapAsync.d.ts +1 -0
- package/esm/next/utils/wrapAsync.js +50 -0
- package/esm/utils/authWithApiKey.d.ts +4 -0
- package/esm/utils/authWithApiKey.js +4 -0
- package/esm/utils/authWithToken.d.ts +4 -0
- package/esm/utils/authWithToken.js +4 -0
- package/esm/utils/index.d.ts +11 -0
- package/esm/utils/index.js +3 -0
- package/package.json +1 -1
- package/README.md +0 -66
- package/docs/USAGE.md +0 -107
- package/eslint.config.js +0 -12
- package/src/hooks/useAgents/index.ts +0 -10
- package/src/hooks/useArticles/index.ts +0 -18
- package/src/hooks/useAttributes/index.ts +0 -18
- package/src/hooks/useAttributesGroups/index.ts +0 -17
- package/src/hooks/useAutomations/index.ts +0 -10
- package/src/hooks/useBackend/get.ts +0 -6
- package/src/hooks/useBackend/index.ts +0 -40
- package/src/hooks/useBackend/list.ts +0 -6
- package/src/hooks/useBackend/post.ts +0 -6
- package/src/hooks/useBackend/put.ts +0 -6
- package/src/hooks/useCampaigns/index.ts +0 -11
- package/src/hooks/useCategories/index.ts +0 -7
- package/src/hooks/useChats/index.ts +0 -13
- package/src/hooks/useContactGroups/index.ts +0 -28
- package/src/hooks/useContacts/index.ts +0 -21
- package/src/hooks/useCurrencies/index.ts +0 -14
- package/src/hooks/useCustomers/index.ts +0 -21
- package/src/hooks/useDocuments/index.ts +0 -86
- package/src/hooks/useDomains/index.ts +0 -10
- package/src/hooks/useEmailTemplates/index.ts +0 -13
- package/src/hooks/useEntityStatuses/index.ts +0 -13
- package/src/hooks/useForms/index.ts +0 -16
- package/src/hooks/useIntegrations/index.ts +0 -15
- package/src/hooks/useInvites/index.ts +0 -19
- package/src/hooks/useLabels/index.ts +0 -13
- package/src/hooks/useLanguages/index.ts +0 -16
- package/src/hooks/useLeads/index.ts +0 -149
- package/src/hooks/useMedia/index.ts +0 -13
- package/src/hooks/useOrders/index.ts +0 -74
- package/src/hooks/usePaths/index.ts +0 -16
- package/src/hooks/usePermissions/index.ts +0 -16
- package/src/hooks/useProducts/index.ts +0 -18
- package/src/hooks/useProfile/index.ts +0 -20
- package/src/hooks/useRenting/index.ts +0 -57
- package/src/hooks/useRoles/index.ts +0 -10
- package/src/hooks/useRoom/index.ts +0 -20
- package/src/hooks/useRotations/index.ts +0 -13
- package/src/hooks/useSiteConfig/index.ts +0 -13
- package/src/hooks/useStatuses/index.ts +0 -10
- package/src/hooks/useStock/index.ts +0 -48
- package/src/hooks/useStores/index.ts +0 -23
- package/src/hooks/useSubscriptions/index.ts +0 -17
- package/src/hooks/useTable/index.ts +0 -15
- package/src/hooks/useTeams/index.ts +0 -29
- package/src/hooks/useTickets/index.ts +0 -17
- package/src/hooks/useTransactions/index.ts +0 -43
- package/src/hooks/useTranslations/index.ts +0 -20
- package/src/hooks/useUserConnections/index.ts +0 -18
- package/src/hooks/useUserSubscriptions/index.ts +0 -28
- package/src/hooks/useUsers/index.ts +0 -57
- package/src/hooks/useWBSuite/index.ts +0 -29
- package/src/hooks/useWebsites/index.ts +0 -34
- package/src/models/Requestor.ts +0 -67
- package/src/next/utils/wrapAsync.ts +0 -2
- package/src/utils/authWithApiKey.ts +0 -3
- package/src/utils/authWithToken.ts +0 -3
- package/src/utils/index.ts +0 -7
- package/tsconfig.json +0 -20
package/esm/index.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export { useWBSuite } from './hooks/useWBSuite';
|
|
2
|
+
export { useStores } from './hooks/useStores';
|
|
3
|
+
export { useRenting } from './hooks/useRenting';
|
|
4
|
+
export { useProducts } from './hooks/useProducts';
|
|
5
|
+
export { useDocuments } from './hooks/useDocuments';
|
|
6
|
+
export { useLeads } from './hooks/useLeads';
|
|
7
|
+
export { useCategories } from './hooks/useCategories';
|
|
8
|
+
export { useCampaigns } from './hooks/useCampaigns';
|
|
9
|
+
export { useEmailTemplates } from './hooks/useEmailTemplates';
|
|
10
|
+
export { useLanguages } from './hooks/useLanguages';
|
|
11
|
+
export { useTranslations } from './hooks/useTranslations';
|
|
12
|
+
export { useAttributes } from './hooks/useAttributes';
|
|
13
|
+
export { useSiteConfig } from './hooks/useSiteConfig';
|
|
14
|
+
export { useDomains } from './hooks/useDomains';
|
|
15
|
+
export { useTransactions } from './hooks/useTransactions';
|
|
16
|
+
export { useArticles } from './hooks/useArticles';
|
|
17
|
+
export { useUsers } from './hooks/useUsers';
|
|
18
|
+
export { useCurrencies } from './hooks/useCurrencies';
|
|
19
|
+
export { useOrders } from './hooks/useOrders';
|
|
20
|
+
export { useChats } from './hooks/useChats';
|
|
21
|
+
export { useRooms } from './hooks/useRoom';
|
|
22
|
+
export { useWebsites } from './hooks/useWebsites';
|
|
23
|
+
export { useTeams } from './hooks/useTeams';
|
|
24
|
+
export { useStock } from './hooks/useStock';
|
|
25
|
+
export { useCustomers } from './hooks/useCustomers';
|
|
26
|
+
export { useRoles } from './hooks/useRoles';
|
|
27
|
+
export { wrapAsync } from './next/utils';
|
|
28
|
+
export * from './utils';
|
|
29
|
+
export { useTables } from './hooks/useTable';
|
|
30
|
+
export { useAttributesGroups } from './hooks/useAttributesGroups';
|
|
31
|
+
export { useEntityStatuses } from './hooks/useEntityStatuses';
|
|
32
|
+
export { useRotations } from './hooks/useRotations';
|
|
33
|
+
export { useMedia } from './hooks/useMedia';
|
|
34
|
+
export { usePermissions } from './hooks/usePermissions';
|
|
35
|
+
export { useStatuses } from './hooks/useStatuses';
|
|
36
|
+
export { useInvites } from './hooks/useInvites';
|
|
37
|
+
export { useProfile } from './hooks/useProfile';
|
|
38
|
+
export { useUserConnection } from './hooks/useUserConnections';
|
|
39
|
+
export { useIntegrations } from './hooks/useIntegrations';
|
|
40
|
+
export { useContacts } from './hooks/useContacts';
|
|
41
|
+
export { useForms } from './hooks/useForms';
|
|
42
|
+
export { usePaths } from './hooks/usePaths';
|
|
43
|
+
export { useUserSubscriptions } from './hooks/useUserSubscriptions';
|
|
44
|
+
export { useSubscriptions } from './hooks/useSubscriptions';
|
|
45
|
+
export { useContactGroups } from './hooks/useContactGroups';
|
|
46
|
+
export { useLabels } from './hooks/useLabels';
|
|
47
|
+
export { useAgents } from './hooks/useAgents';
|
|
48
|
+
export { useAutomations } from './hooks/useAutomations';
|
|
49
|
+
export { useTickets } from './hooks/useTickets';
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsY0FBYyxTQUFTLENBQUM7QUFDeEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyB1c2VXQlN1aXRlIH0gZnJvbSAnLi9ob29rcy91c2VXQlN1aXRlJztcbmV4cG9ydCB7IHVzZVN0b3JlcyB9IGZyb20gJy4vaG9va3MvdXNlU3RvcmVzJztcbmV4cG9ydCB7IHVzZVJlbnRpbmcgfSBmcm9tICcuL2hvb2tzL3VzZVJlbnRpbmcnO1xuZXhwb3J0IHsgdXNlUHJvZHVjdHMgfSBmcm9tICcuL2hvb2tzL3VzZVByb2R1Y3RzJztcbmV4cG9ydCB7IHVzZURvY3VtZW50cyB9IGZyb20gJy4vaG9va3MvdXNlRG9jdW1lbnRzJztcbmV4cG9ydCB7IHVzZUxlYWRzIH0gZnJvbSAnLi9ob29rcy91c2VMZWFkcyc7XG5leHBvcnQgeyB1c2VDYXRlZ29yaWVzIH0gZnJvbSAnLi9ob29rcy91c2VDYXRlZ29yaWVzJztcbmV4cG9ydCB7IHVzZUNhbXBhaWducyB9IGZyb20gJy4vaG9va3MvdXNlQ2FtcGFpZ25zJztcbmV4cG9ydCB7IHVzZUVtYWlsVGVtcGxhdGVzIH0gZnJvbSAnLi9ob29rcy91c2VFbWFpbFRlbXBsYXRlcyc7XG5leHBvcnQgeyB1c2VMYW5ndWFnZXMgfSBmcm9tICcuL2hvb2tzL3VzZUxhbmd1YWdlcyc7XG5leHBvcnQgeyB1c2VUcmFuc2xhdGlvbnMgfSBmcm9tICcuL2hvb2tzL3VzZVRyYW5zbGF0aW9ucyc7XG5leHBvcnQgeyB1c2VBdHRyaWJ1dGVzIH0gZnJvbSAnLi9ob29rcy91c2VBdHRyaWJ1dGVzJztcbmV4cG9ydCB7IHVzZVNpdGVDb25maWcgfSBmcm9tICcuL2hvb2tzL3VzZVNpdGVDb25maWcnO1xuZXhwb3J0IHsgdXNlRG9tYWlucyB9IGZyb20gJy4vaG9va3MvdXNlRG9tYWlucyc7XG5leHBvcnQgeyB1c2VUcmFuc2FjdGlvbnMgfSBmcm9tICcuL2hvb2tzL3VzZVRyYW5zYWN0aW9ucyc7XG5leHBvcnQgeyB1c2VBcnRpY2xlcyB9IGZyb20gJy4vaG9va3MvdXNlQXJ0aWNsZXMnO1xuZXhwb3J0IHsgdXNlVXNlcnMgfSBmcm9tICcuL2hvb2tzL3VzZVVzZXJzJztcbmV4cG9ydCB7IHVzZUN1cnJlbmNpZXMgfSBmcm9tICcuL2hvb2tzL3VzZUN1cnJlbmNpZXMnO1xuZXhwb3J0IHsgdXNlT3JkZXJzIH0gZnJvbSAnLi9ob29rcy91c2VPcmRlcnMnO1xuZXhwb3J0IHsgdXNlQ2hhdHMgfSBmcm9tICcuL2hvb2tzL3VzZUNoYXRzJztcbmV4cG9ydCB7IHVzZVJvb21zIH0gZnJvbSAnLi9ob29rcy91c2VSb29tJztcbmV4cG9ydCB7IHVzZVdlYnNpdGVzIH0gZnJvbSAnLi9ob29rcy91c2VXZWJzaXRlcyc7XG5leHBvcnQgeyB1c2VUZWFtcyB9IGZyb20gJy4vaG9va3MvdXNlVGVhbXMnO1xuZXhwb3J0IHsgdXNlU3RvY2sgfSBmcm9tICcuL2hvb2tzL3VzZVN0b2NrJztcbmV4cG9ydCB7IHVzZUN1c3RvbWVycyB9IGZyb20gJy4vaG9va3MvdXNlQ3VzdG9tZXJzJztcbmV4cG9ydCB7IHVzZVJvbGVzIH0gZnJvbSAnLi9ob29rcy91c2VSb2xlcyc7XG5leHBvcnQgeyB3cmFwQXN5bmMgfSBmcm9tICcuL25leHQvdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XG5leHBvcnQgeyB1c2VUYWJsZXMgfSBmcm9tICcuL2hvb2tzL3VzZVRhYmxlJztcbmV4cG9ydCB7IHVzZUF0dHJpYnV0ZXNHcm91cHMgfSBmcm9tICcuL2hvb2tzL3VzZUF0dHJpYnV0ZXNHcm91cHMnO1xuZXhwb3J0IHsgdXNlRW50aXR5U3RhdHVzZXMgfSBmcm9tICcuL2hvb2tzL3VzZUVudGl0eVN0YXR1c2VzJztcbmV4cG9ydCB7IHVzZVJvdGF0aW9ucyB9IGZyb20gJy4vaG9va3MvdXNlUm90YXRpb25zJztcbmV4cG9ydCB7IHVzZU1lZGlhIH0gZnJvbSAnLi9ob29rcy91c2VNZWRpYSc7XG5leHBvcnQgeyB1c2VQZXJtaXNzaW9ucyB9IGZyb20gJy4vaG9va3MvdXNlUGVybWlzc2lvbnMnO1xuZXhwb3J0IHsgdXNlU3RhdHVzZXMgfSBmcm9tICcuL2hvb2tzL3VzZVN0YXR1c2VzJztcbmV4cG9ydCB7IHVzZUludml0ZXMgfSBmcm9tICcuL2hvb2tzL3VzZUludml0ZXMnO1xuZXhwb3J0IHsgdXNlUHJvZmlsZSB9IGZyb20gJy4vaG9va3MvdXNlUHJvZmlsZSc7XG5leHBvcnQgeyB1c2VVc2VyQ29ubmVjdGlvbiB9IGZyb20gJy4vaG9va3MvdXNlVXNlckNvbm5lY3Rpb25zJztcbmV4cG9ydCB7IHVzZUludGVncmF0aW9ucyB9IGZyb20gJy4vaG9va3MvdXNlSW50ZWdyYXRpb25zJztcbmV4cG9ydCB7IHVzZUNvbnRhY3RzIH0gZnJvbSAnLi9ob29rcy91c2VDb250YWN0cyc7XG5leHBvcnQgeyB1c2VGb3JtcyB9IGZyb20gJy4vaG9va3MvdXNlRm9ybXMnO1xuZXhwb3J0IHsgdXNlUGF0aHMgfSBmcm9tICcuL2hvb2tzL3VzZVBhdGhzJztcbmV4cG9ydCB7IHVzZVVzZXJTdWJzY3JpcHRpb25zIH0gZnJvbSAnLi9ob29rcy91c2VVc2VyU3Vic2NyaXB0aW9ucyc7XG5leHBvcnQgeyB1c2VTdWJzY3JpcHRpb25zIH0gZnJvbSAnLi9ob29rcy91c2VTdWJzY3JpcHRpb25zJztcbmV4cG9ydCB7IHVzZUNvbnRhY3RHcm91cHMgfSBmcm9tICcuL2hvb2tzL3VzZUNvbnRhY3RHcm91cHMnO1xuZXhwb3J0IHsgdXNlTGFiZWxzIH0gZnJvbSAnLi9ob29rcy91c2VMYWJlbHMnO1xuZXhwb3J0IHsgdXNlQWdlbnRzIH0gZnJvbSAnLi9ob29rcy91c2VBZ2VudHMnO1xuZXhwb3J0IHsgdXNlQXV0b21hdGlvbnMgfSBmcm9tICcuL2hvb2tzL3VzZUF1dG9tYXRpb25zJztcbmV4cG9ydCB7IHVzZVRpY2tldHMgfSBmcm9tICcuL2hvb2tzL3VzZVRpY2tldHMnOyJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { WBBackendConfig } from '@wb/types/backendConfig/backendConfig';
|
|
2
|
+
import { AxiosInstance } from 'axios';
|
|
3
|
+
type Validator = (isCreate: boolean, body: any) => boolean;
|
|
4
|
+
export type RequestorOptions = {
|
|
5
|
+
auth: {
|
|
6
|
+
type: 'token' | 'apiKey';
|
|
7
|
+
} & ({
|
|
8
|
+
type: 'token';
|
|
9
|
+
token: string;
|
|
10
|
+
} | {
|
|
11
|
+
type: 'apiKey';
|
|
12
|
+
apiKey: string;
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
export declare class Requestor {
|
|
16
|
+
makeRequest: AxiosInstance;
|
|
17
|
+
validateWith?: Validator;
|
|
18
|
+
constructor(config: Partial<WBBackendConfig>, validator?: Validator, opts?: Partial<RequestorOptions>);
|
|
19
|
+
get validate(): {
|
|
20
|
+
create: (body: any) => boolean;
|
|
21
|
+
edit: (body: any) => boolean;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
import { useWBSuite } from '../hooks/useWBSuite';
|
|
3
|
+
var Requestor = /** @class */ (function () {
|
|
4
|
+
function Requestor(config, validator, opts) {
|
|
5
|
+
if (opts === void 0) { opts = {}; }
|
|
6
|
+
var _a, _b;
|
|
7
|
+
if (!config) {
|
|
8
|
+
useWBSuite();
|
|
9
|
+
}
|
|
10
|
+
this.makeRequest = axios.create({ baseURL: (_a = config === null || config === void 0 ? void 0 : config.apiURL) !== null && _a !== void 0 ? _a : (_b = globalThis.WBSUITE_CONFIG) === null || _b === void 0 ? void 0 : _b.apiURL });
|
|
11
|
+
this.validateWith = validator;
|
|
12
|
+
this.makeRequest.interceptors.request.use(function (requestConfig) {
|
|
13
|
+
var _a, _b, _c, _d;
|
|
14
|
+
if ((((_a = opts.auth) === null || _a === void 0 ? void 0 : _a.type) === 'apiKey' && opts.auth.apiKey) || (config === null || config === void 0 ? void 0 : config.apiKey)) {
|
|
15
|
+
requestConfig.headers['x-api-key'] = (((_b = opts.auth) === null || _b === void 0 ? void 0 : _b.type) === 'apiKey' && opts.auth.apiKey) || (config === null || config === void 0 ? void 0 : config.apiKey);
|
|
16
|
+
}
|
|
17
|
+
if (((_c = opts.auth) === null || _c === void 0 ? void 0 : _c.type) === 'token' && opts.auth.token) {
|
|
18
|
+
delete requestConfig.headers['x-api-key'];
|
|
19
|
+
requestConfig.headers.Authorization = "Bearer ".concat(((_d = opts.auth) === null || _d === void 0 ? void 0 : _d.type) === 'token' && opts.auth.token);
|
|
20
|
+
}
|
|
21
|
+
return requestConfig;
|
|
22
|
+
});
|
|
23
|
+
if ((config === null || config === void 0 ? void 0 : config.environment) === 'development') {
|
|
24
|
+
this.makeRequest.interceptors.response.use(function (response) {
|
|
25
|
+
console.log("".concat(new Date().toISOString(), " [INFO] --- ").concat(response.request.host, " ").concat(response.status, " ").concat(JSON.stringify(response.data)));
|
|
26
|
+
return response;
|
|
27
|
+
}, function (response) {
|
|
28
|
+
console.error("".concat(new Date().toISOString(), " [ERROR] --- ").concat(response.request.host, " ").concat(response.status, " ").concat(JSON.stringify(response.data)));
|
|
29
|
+
return Promise.reject(response);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
Object.defineProperty(Requestor.prototype, "validate", {
|
|
34
|
+
get: function () {
|
|
35
|
+
var _this = this;
|
|
36
|
+
return {
|
|
37
|
+
create: function (body) { var _a, _b; return (_b = (_a = _this.validateWith) === null || _a === void 0 ? void 0 : _a.call(_this, true, body)) !== null && _b !== void 0 ? _b : true; },
|
|
38
|
+
edit: function (body) { var _a, _b; return (_b = (_a = _this.validateWith) === null || _a === void 0 ? void 0 : _a.call(_this, false, body)) !== null && _b !== void 0 ? _b : true; },
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
enumerable: false,
|
|
42
|
+
configurable: true
|
|
43
|
+
});
|
|
44
|
+
return Requestor;
|
|
45
|
+
}());
|
|
46
|
+
export { Requestor };
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vZGVscy9SZXF1ZXN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFtRSxNQUFNLE9BQU8sQ0FBQztBQUN4RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFZakQ7SUFJRSxtQkFDRSxNQUFnQyxFQUNoQyxTQUFxQixFQUNyQixJQUFvQztRQUFwQyxxQkFBQSxFQUFBLFNBQW9DOztRQUVwQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixVQUFVLEVBQUUsQ0FBQztRQUNmLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTSxtQ0FBSSxNQUFDLFVBQWtCLENBQUMsY0FBYywwQ0FBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzNHLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQyxhQUF5Qzs7WUFDbEYsSUFBSSxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxJQUFJLE1BQUssUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUksTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE1BQU0sQ0FBQSxFQUFFLENBQUM7Z0JBQ3pFLGFBQWEsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsSUFBSSxNQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFJLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxNQUFNLENBQUEsQ0FBQztZQUM1RyxDQUFDO1lBQ0QsSUFBSSxDQUFBLE1BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsSUFBSSxNQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuRCxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsYUFBYSxHQUFHLGlCQUFVLENBQUEsTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxJQUFJLE1BQUssT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFFLENBQUM7WUFDbkcsQ0FBQztZQUNELE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxXQUFXLE1BQUssYUFBYSxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FDeEMsVUFBQyxRQUF1QjtnQkFDdEIsT0FBTyxDQUFDLEdBQUcsQ0FDVCxVQUFHLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLHlCQUFlLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxjQUFJLFFBQVEsQ0FBQyxNQUFNLGNBQUksSUFBSSxDQUFDLFNBQVMsQ0FDbEcsUUFBUSxDQUFDLElBQUksQ0FDZCxDQUFFLENBQ0osQ0FBQztnQkFDRixPQUFPLFFBQVEsQ0FBQztZQUNsQixDQUFDLEVBQ0QsVUFBQyxRQUF1QjtnQkFDdEIsT0FBTyxDQUFDLEtBQUssQ0FDWCxVQUFHLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLDBCQUFnQixRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksY0FBSSxRQUFRLENBQUMsTUFBTSxjQUFJLElBQUksQ0FBQyxTQUFTLENBQ25HLFFBQVEsQ0FBQyxJQUFJLENBQ2QsQ0FBRSxDQUNKLENBQUM7Z0JBQ0YsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2xDLENBQUMsQ0FDRixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxzQkFBVywrQkFBUTthQUFuQjtZQUFBLGlCQUtDO1lBSkMsT0FBTztnQkFDTCxNQUFNLEVBQUUsVUFBQyxJQUFTLGdCQUFLLE9BQUEsTUFBQSxNQUFBLEtBQUksQ0FBQyxZQUFZLHNEQUFHLElBQUksRUFBRSxJQUFJLENBQUMsbUNBQUksSUFBSSxDQUFBLEVBQUE7Z0JBQzlELElBQUksRUFBRSxVQUFDLElBQVMsZ0JBQUssT0FBQSxNQUFBLE1BQUEsS0FBSSxDQUFDLFlBQVksc0RBQUcsS0FBSyxFQUFFLElBQUksQ0FBQyxtQ0FBSSxJQUFJLENBQUEsRUFBQTthQUM5RCxDQUFDO1FBQ0osQ0FBQzs7O09BQUE7SUFDSCxnQkFBQztBQUFELENBQUMsQUFwREQsSUFvREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXQkJhY2tlbmRDb25maWcgfSBmcm9tICdAd2IvdHlwZXMvYmFja2VuZENvbmZpZy9iYWNrZW5kQ29uZmlnJztcbmltcG9ydCBheGlvcywgeyBBeGlvc0luc3RhbmNlLCBBeGlvc1Jlc3BvbnNlLCBJbnRlcm5hbEF4aW9zUmVxdWVzdENvbmZpZyB9IGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IHVzZVdCU3VpdGUgfSBmcm9tICcuLi9ob29rcy91c2VXQlN1aXRlJztcblxudHlwZSBWYWxpZGF0b3IgPSAoaXNDcmVhdGU6IGJvb2xlYW4sIGJvZHk6IGFueSkgPT4gYm9vbGVhbjtcblxuZXhwb3J0IHR5cGUgUmVxdWVzdG9yT3B0aW9ucyA9IHtcbiAgYXV0aDpcbiAgICB8IHsgdHlwZTogJ3Rva2VuJyB8ICdhcGlLZXknIH0gJiAoXG4gICAgICAgIHwgeyB0eXBlOiAndG9rZW4nOyB0b2tlbjogc3RyaW5nIH1cbiAgICAgICAgfCB7IHR5cGU6ICdhcGlLZXknOyBhcGlLZXk6IHN0cmluZyB9XG4gICAgICApO1xufTtcblxuZXhwb3J0IGNsYXNzIFJlcXVlc3RvciB7XG4gIG1ha2VSZXF1ZXN0OiBBeGlvc0luc3RhbmNlO1xuICB2YWxpZGF0ZVdpdGg/OiBWYWxpZGF0b3I7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY29uZmlnOiBQYXJ0aWFsPFdCQmFja2VuZENvbmZpZz4sXG4gICAgdmFsaWRhdG9yPzogVmFsaWRhdG9yLFxuICAgIG9wdHM6IFBhcnRpYWw8UmVxdWVzdG9yT3B0aW9ucz4gPSB7fVxuICApIHtcbiAgICBpZiAoIWNvbmZpZykge1xuICAgICAgdXNlV0JTdWl0ZSgpO1xuICAgIH1cbiAgICB0aGlzLm1ha2VSZXF1ZXN0ID0gYXhpb3MuY3JlYXRlKHsgYmFzZVVSTDogY29uZmlnPy5hcGlVUkwgPz8gKGdsb2JhbFRoaXMgYXMgYW55KS5XQlNVSVRFX0NPTkZJRz8uYXBpVVJMIH0pO1xuICAgIHRoaXMudmFsaWRhdGVXaXRoID0gdmFsaWRhdG9yO1xuICAgIHRoaXMubWFrZVJlcXVlc3QuaW50ZXJjZXB0b3JzLnJlcXVlc3QudXNlKChyZXF1ZXN0Q29uZmlnOiBJbnRlcm5hbEF4aW9zUmVxdWVzdENvbmZpZykgPT4ge1xuICAgICAgaWYgKChvcHRzLmF1dGg/LnR5cGUgPT09ICdhcGlLZXknICYmIG9wdHMuYXV0aC5hcGlLZXkpIHx8IGNvbmZpZz8uYXBpS2V5KSB7XG4gICAgICAgIHJlcXVlc3RDb25maWcuaGVhZGVyc1sneC1hcGkta2V5J10gPSAob3B0cy5hdXRoPy50eXBlID09PSAnYXBpS2V5JyAmJiBvcHRzLmF1dGguYXBpS2V5KSB8fCBjb25maWc/LmFwaUtleTtcbiAgICAgIH1cbiAgICAgIGlmIChvcHRzLmF1dGg/LnR5cGUgPT09ICd0b2tlbicgJiYgb3B0cy5hdXRoLnRva2VuKSB7XG4gICAgICAgIGRlbGV0ZSByZXF1ZXN0Q29uZmlnLmhlYWRlcnNbJ3gtYXBpLWtleSddO1xuICAgICAgICByZXF1ZXN0Q29uZmlnLmhlYWRlcnMuQXV0aG9yaXphdGlvbiA9IGBCZWFyZXIgJHtvcHRzLmF1dGg/LnR5cGUgPT09ICd0b2tlbicgJiYgb3B0cy5hdXRoLnRva2VufWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVxdWVzdENvbmZpZztcbiAgICB9KTtcbiAgICBpZiAoY29uZmlnPy5lbnZpcm9ubWVudCA9PT0gJ2RldmVsb3BtZW50Jykge1xuICAgICAgdGhpcy5tYWtlUmVxdWVzdC5pbnRlcmNlcHRvcnMucmVzcG9uc2UudXNlKFxuICAgICAgICAocmVzcG9uc2U6IEF4aW9zUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgIGAke25ldyBEYXRlKCkudG9JU09TdHJpbmcoKX0gW0lORk9dIC0tLSAke3Jlc3BvbnNlLnJlcXVlc3QuaG9zdH0gJHtyZXNwb25zZS5zdGF0dXN9ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGFcbiAgICAgICAgICAgICl9YFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICB9LFxuICAgICAgICAocmVzcG9uc2U6IEF4aW9zUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgYCR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfSBbRVJST1JdIC0tLSAke3Jlc3BvbnNlLnJlcXVlc3QuaG9zdH0gJHtyZXNwb25zZS5zdGF0dXN9ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGFcbiAgICAgICAgICAgICl9YFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbGlkYXRlKCkge1xuICAgIHJldHVybiB7XG4gICAgICBjcmVhdGU6IChib2R5OiBhbnkpID0+IHRoaXMudmFsaWRhdGVXaXRoPy4odHJ1ZSwgYm9keSkgPz8gdHJ1ZSxcbiAgICAgIGVkaXQ6IChib2R5OiBhbnkpID0+IHRoaXMudmFsaWRhdGVXaXRoPy4oZmFsc2UsIGJvZHkpID8/IHRydWUsXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { wrapAsync } from "./wrapAsync";
|
|
2
|
+
export { wrapAsync };
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbmV4dC91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHdyYXBBc3luYyB9IGZyb20gXCIuL3dyYXBBc3luY1wiO1xuZXhwb3J0IHsgd3JhcEFzeW5jIH07ICJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const wrapAsync: (fn: Function, ...args: any[]) => Promise<any>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
// eslint-disable-next-line
|
|
38
|
+
export var wrapAsync = function (fn) {
|
|
39
|
+
var args = [];
|
|
40
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
41
|
+
args[_i - 1] = arguments[_i];
|
|
42
|
+
}
|
|
43
|
+
return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
44
|
+
switch (_a.label) {
|
|
45
|
+
case 0: return [4 /*yield*/, fn.apply(void 0, args)];
|
|
46
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
47
|
+
}
|
|
48
|
+
}); });
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcEFzeW5jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL25leHQvdXRpbHMvd3JhcEFzeW5jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJCQUEyQjtBQUMzQixNQUFNLENBQUMsSUFBTSxTQUFTLEdBQUcsVUFBTyxFQUFZO0lBQUUsY0FBYztTQUFkLFVBQWMsRUFBZCxxQkFBYyxFQUFkLElBQWM7UUFBZCw2QkFBYzs7OztvQkFBYyxxQkFBTSxFQUFFLGVBQUksSUFBSSxHQUFDO29CQUF4QixzQkFBTyxTQUFpQixFQUFBOzs7Q0FBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG5leHBvcnQgY29uc3Qgd3JhcEFzeW5jID0gYXN5bmMgKGZuOiBGdW5jdGlvbiwgLi4uYXJnczogYW55W10pID0+IHsgcmV0dXJuIGF3YWl0IGZuKC4uLmFyZ3MpIH07Il19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export var authWithApiKey = function (apiKey) {
|
|
2
|
+
return { type: 'apiKey', apiKey: apiKey };
|
|
3
|
+
};
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aFdpdGhBcGlLZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvYXV0aFdpdGhBcGlLZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLElBQU0sY0FBYyxHQUFHLFVBQUMsTUFBYztJQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQUEsRUFBRSxDQUFDO0FBQ3BDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBhdXRoV2l0aEFwaUtleSA9IChhcGlLZXk6IHN0cmluZykgPT4ge1xuICByZXR1cm4geyB0eXBlOiAnYXBpS2V5JywgYXBpS2V5IH07XG59OyJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export var authWithToken = function (token) {
|
|
2
|
+
return { type: 'token', token: token };
|
|
3
|
+
};
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aFdpdGhUb2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9hdXRoV2l0aFRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxJQUFNLGFBQWEsR0FBRyxVQUFDLEtBQWE7SUFDekMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxPQUFBLEVBQUUsQ0FBQztBQUNsQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgYXV0aFdpdGhUb2tlbiA9ICh0b2tlbjogc3RyaW5nKSA9PiB7XG4gIHJldHVybiB7IHR5cGU6ICd0b2tlbicsIHRva2VuIH07XG59OyJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './authWithApiKey';
|
|
2
|
+
export * from './authWithToken';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRoV2l0aEFwaUtleSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGhXaXRoVG9rZW4nO1xuXG5leHBvcnQgdHlwZSBXZWJTdWl0ZUF1dGggPSB8IHsgdHlwZTogJ3Rva2VuJyB8ICdhcGlLZXknIHwgJ3NpdGVBcGlLZXknIH0gJiAoXG4gIHwgeyB0eXBlOiAndG9rZW4nOyB0b2tlbjogc3RyaW5nIH1cbiAgfCB7IHR5cGU6ICdhcGlLZXknOyBhcGlLZXk6IHN0cmluZyB9XG4pIl19
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@wbsuite/react-hooks","version":"1.0.
|
|
1
|
+
{"name":"@wbsuite/react-hooks","version":"1.0.210","description":"","main":"cjs/index.js","module":"esm/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","lint":"npx eslint src/**","build":"npm run build:esm && npm run build:cjs","build:esm":"tsc","build:cjs":"tsc --module commonjs --outDir dist/react-hooks/cjs","pre-publish":"npm run lint && rm -rf dist && npm run build && cp package*.json dist/react-hooks","publish-to-npm":"cd dist/react-hooks && npm publish --access public --registry=https://registry.npmjs.org/"},"author":"faluma@webbuilders.com.ar","license":"ISC","devDependencies":{"@eslint/js":"^8.57.0","@wb/types":"^2.0.34","eslint":"^8.57.0","typescript":"^5.3.3","typescript-eslint":"^7.0.2"},"dependencies":{"@slate-serializers/html":"^2.2.3","axios":"^1.6.7"}}
|
package/README.md
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
## Installing wbsuite react hooks library
|
|
2
|
-
1. Install dependency in your proyect by running `npm i @wbsuite/react-hooks`
|
|
3
|
-
|
|
4
|
-
## How to use
|
|
5
|
-
1. Set up wbsuite by running the `useWBSuite` hook with the api key you were given.
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
function App() {
|
|
9
|
-
useWBSuite({ apiKey: '<your-api-key>' });
|
|
10
|
-
return <></>
|
|
11
|
-
}
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
2. You're ready to start using the hooks you need. This library version contains:
|
|
15
|
-
- useStores -- lists available stores for your team
|
|
16
|
-
- useProducts -- lists products available for your team
|
|
17
|
-
- useCategories -- lists categories available for your team
|
|
18
|
-
- useRenting -- renting utils
|
|
19
|
-
- useDocuments -- document / images utils
|
|
20
|
-
- useLeads -- create leads for your campaigns
|
|
21
|
-
|
|
22
|
-
### useCategories
|
|
23
|
-
This hook is used to list, get or create categories. In order to use it consider:
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
const { list: listCategories } = useCategories();
|
|
27
|
-
|
|
28
|
-
useEffect(() => {
|
|
29
|
-
listCategories().then(categoryList => {
|
|
30
|
-
// Do what you need with the categoryList
|
|
31
|
-
});
|
|
32
|
-
}, []);
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### useProducts
|
|
36
|
-
This hook is used to list, get or create products. In order to use it consider:
|
|
37
|
-
|
|
38
|
-
```
|
|
39
|
-
const { list: listProducts } = useProducts();
|
|
40
|
-
|
|
41
|
-
useEffect(() => {
|
|
42
|
-
/** filters needs to be an object with any valid property of the product schema.
|
|
43
|
-
* for example to get the products from a category you need to pass in an object like:
|
|
44
|
-
* { categories: <categoryId>[] }
|
|
45
|
-
*
|
|
46
|
-
* { categories: ['some-category-id', 'other-category-id'] }
|
|
47
|
-
*
|
|
48
|
-
* The categoryId can be retrieved from the useCategories hook explained above.
|
|
49
|
-
**/
|
|
50
|
-
listProducts(filters ?? {}).then(filteredProductList => {
|
|
51
|
-
// Do what you need with the filteredProductList
|
|
52
|
-
});
|
|
53
|
-
}, []);
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
## Permissions
|
|
57
|
-
Even if the hooks are available in the library the `apiKey` limits the permissions you have
|
|
58
|
-
access to.
|
|
59
|
-
|
|
60
|
-
Which means, that you won't be able to use all of our features unless you were given access to.
|
|
61
|
-
|
|
62
|
-
If, you find yourself in need of using a non-accessible util, please reach out to the provider.
|
|
63
|
-
|
|
64
|
-
## Additional documentation
|
|
65
|
-
|
|
66
|
-
For a complete walkthrough that covers configuration, authentication, available hooks, and extended examples, see [`docs/USAGE.md`](docs/USAGE.md).
|
package/docs/USAGE.md
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
# Using the `@wbsuite/react-hooks` library
|
|
2
|
-
|
|
3
|
-
This guide walks through installing the package, configuring the WBSuite client, and using the provided hooks to call the API.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install @wbsuite/react-hooks
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Configure WBSuite once
|
|
12
|
-
|
|
13
|
-
Initialize the client near the root of your app (for example in `_app.tsx` or your main layout component):
|
|
14
|
-
|
|
15
|
-
```tsx
|
|
16
|
-
import { useWBSuite } from '@wbsuite/react-hooks';
|
|
17
|
-
|
|
18
|
-
function App() {
|
|
19
|
-
useWBSuite({
|
|
20
|
-
apiKey: '<your-api-key>',
|
|
21
|
-
// optional overrides:
|
|
22
|
-
// apiURL: 'https://api.wbsuite.app/api/v2',
|
|
23
|
-
// publicURL: 'https://api.wbsuite.app/public',
|
|
24
|
-
// environment: 'development',
|
|
25
|
-
});
|
|
26
|
-
return <YourRoutes />;
|
|
27
|
-
}
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
- The first call stores the configuration globally; subsequent calls no-op and log a warning so you only need to run it once during app bootstrap.
|
|
31
|
-
- `apiURL` and `publicURL` default to the hosted endpoints shown above.
|
|
32
|
-
- Setting `environment: 'development'` enables verbose request/response logging for troubleshooting.
|
|
33
|
-
|
|
34
|
-
## Authenticating requests
|
|
35
|
-
|
|
36
|
-
Most hooks accept an optional `auth` argument so you can decide per call how to authenticate:
|
|
37
|
-
|
|
38
|
-
```tsx
|
|
39
|
-
const products = useProducts({ type: 'apiKey', apiKey: '<key>' });
|
|
40
|
-
const secureProducts = useProducts({ type: 'token', token: '<jwt>' });
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
- When `type` is `apiKey`, the requestor sends `x-api-key` headers. If you configured an `apiKey` in `useWBSuite`, you can omit the `auth` argument and that key will be used automatically.
|
|
44
|
-
- When `type` is `token`, the requestor swaps to a `Bearer` `Authorization` header.
|
|
45
|
-
|
|
46
|
-
## Working with backend hooks
|
|
47
|
-
|
|
48
|
-
Most exported hooks are thin wrappers around the shared `useBackend` helper. They expose a common shape:
|
|
49
|
-
|
|
50
|
-
- `list(filters?)` – fetch a filtered collection (filters mirror the entity fields where supported).
|
|
51
|
-
- `get(id)` – retrieve one entity.
|
|
52
|
-
- `create(data)` – create an entity (overridable by hooks that need custom logic).
|
|
53
|
-
- `update(id, data)` – update an entity (overridable by hooks that need custom logic).
|
|
54
|
-
- `requestor` – the underlying Axios instance if you need lower-level control.
|
|
55
|
-
|
|
56
|
-
Example using categories:
|
|
57
|
-
|
|
58
|
-
```tsx
|
|
59
|
-
import { useCategories } from '@wbsuite/react-hooks';
|
|
60
|
-
|
|
61
|
-
const { list, create, update } = useCategories();
|
|
62
|
-
|
|
63
|
-
useEffect(() => {
|
|
64
|
-
list({ name: 'Vehicles' }).then(({ data }) => {
|
|
65
|
-
// work with filtered categories
|
|
66
|
-
});
|
|
67
|
-
}, [list]);
|
|
68
|
-
|
|
69
|
-
const addCategory = async () => {
|
|
70
|
-
const result = await create({ name: 'New Category' });
|
|
71
|
-
console.log(result.data);
|
|
72
|
-
};
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## Product-specific helpers
|
|
76
|
-
|
|
77
|
-
Some hooks extend the base methods with extra endpoints. For example, `useProducts` adds custom `create`, `update`, and `delete` helpers that call the product-specific routes directly:
|
|
78
|
-
|
|
79
|
-
```tsx
|
|
80
|
-
import { useProducts } from '@wbsuite/react-hooks';
|
|
81
|
-
|
|
82
|
-
const { list, create, update, delete: remove } = useProducts();
|
|
83
|
-
|
|
84
|
-
const refresh = async () => {
|
|
85
|
-
const response = await list({ categories: ['category-id'] });
|
|
86
|
-
console.log(response.data);
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
const saveProduct = async () => {
|
|
90
|
-
const created = await create({ name: 'My product' });
|
|
91
|
-
const updated = await update(created.data.id, { price: 999 });
|
|
92
|
-
await remove(updated.data.id);
|
|
93
|
-
};
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
## Available hooks
|
|
97
|
-
|
|
98
|
-
All hooks live under `react-hooks/src/hooks/` and follow the same configuration approach:
|
|
99
|
-
|
|
100
|
-
- Content & catalog: `useArticles`, `useAttributes`, `useAttributesGroups`, `useCategories`, `useDocuments`, `useEntityStatuses`, `useMedia`, `useProducts`, `useRenting`, `useRoom`, `useStock`, `useTable`, `useTransactions`.
|
|
101
|
-
- Commerce & orders: `useOrders`, `useRotations`.
|
|
102
|
-
- Customers & contacts: `useCampaigns`, `useCustomers`, `useLeads`.
|
|
103
|
-
- Accounts & permissions: `useBackend`, `useInvites`, `usePermissions`, `useProfile`, `useRoles`, `useStatuses`, `useTeams`, `useUserConnections`, `useUsers`, `useWBSuite`.
|
|
104
|
-
- Localization & communication: `useChats`, `useCurrencies`, `useEmailTemplates`, `useLanguages`, `useSiteConfig`, `useTranslations`.
|
|
105
|
-
- Platform configuration: `useBackend`, `useDomains`, `useStores`, `useWebsites`.
|
|
106
|
-
|
|
107
|
-
Use the lists above as a starting point when exploring the package; each hook mirrors a WBSuite API resource and uses the same initialization and authentication rules described earlier.
|
package/eslint.config.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
const eslint = require('@eslint/js');
|
|
2
|
-
const tseslint = require('typescript-eslint');
|
|
3
|
-
|
|
4
|
-
module.exports = tseslint.config(
|
|
5
|
-
eslint.configs.recommended,
|
|
6
|
-
...tseslint.configs.recommended,
|
|
7
|
-
{
|
|
8
|
-
'rules': {
|
|
9
|
-
'@typescript-eslint/no-explicit-any': 'warn'
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
);
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { RequestorOptions } from 'models/Requestor';
|
|
2
|
-
import { BackendHook, useBackend } from '../useBackend';
|
|
3
|
-
|
|
4
|
-
export const useAgents: BackendHook<any, undefined> = (auth?: RequestorOptions['auth']) => {
|
|
5
|
-
const { requestor, ...rest } = useBackend('agents', { auth });
|
|
6
|
-
return {
|
|
7
|
-
...rest,
|
|
8
|
-
requestor,
|
|
9
|
-
};
|
|
10
|
-
};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { slateToHtml } from '@slate-serializers/html';
|
|
2
|
-
import { BackendHook, useBackend } from '../useBackend';
|
|
3
|
-
import { RequestorOptions } from 'models/Requestor';
|
|
4
|
-
|
|
5
|
-
export const deserialize = (content: string) => {
|
|
6
|
-
try {
|
|
7
|
-
const deserializedContent = JSON.parse(content);
|
|
8
|
-
if(Array.isArray(deserializedContent)) return slateToHtml(deserializedContent);
|
|
9
|
-
return deserializedContent;
|
|
10
|
-
} catch (e) {
|
|
11
|
-
return content;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export const useArticles: BackendHook<any, any, { deserialize: (content: string) => string }> = (auth?: RequestorOptions['auth']) => {
|
|
16
|
-
const { ...endpoints } = useBackend('articles', { auth });
|
|
17
|
-
return { ...endpoints, deserialize };
|
|
18
|
-
};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { BackendHook, useBackend } from '../useBackend';
|
|
2
|
-
import { RequestorOptions } from 'models/Requestor';
|
|
3
|
-
|
|
4
|
-
export const useAttributes: BackendHook = (auth?: RequestorOptions['auth']) => {
|
|
5
|
-
const { requestor, ...endpoints } = useBackend('attributes', { auth });
|
|
6
|
-
return {
|
|
7
|
-
requestor,
|
|
8
|
-
...endpoints,
|
|
9
|
-
create: (data) =>
|
|
10
|
-
requestor.makeRequest.post(`attributes`, data).then(({ data }) => data),
|
|
11
|
-
update: (id: any, data: any) =>
|
|
12
|
-
requestor.makeRequest.put(`attributes/${id}`, data).then(({ data }) => data),
|
|
13
|
-
delete: (id: string) =>
|
|
14
|
-
requestor.makeRequest.delete(`attributes/${id}`).then(({ data }) => data),
|
|
15
|
-
getGrouped: () =>
|
|
16
|
-
requestor.makeRequest.get(`attributes/grouped`).then(({ data }) => data),
|
|
17
|
-
};
|
|
18
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { BackendHook, useBackend } from '../useBackend';
|
|
2
|
-
import { RequestorOptions } from 'models/Requestor';
|
|
3
|
-
import { IAttributeGroup } from '@wb/types/products/attributeGroup.model';
|
|
4
|
-
|
|
5
|
-
export const useAttributesGroups: BackendHook<IAttributeGroup> = (auth?: RequestorOptions['auth']) => {
|
|
6
|
-
const { requestor, ...endpoints } = useBackend('attribute/groups', { auth });
|
|
7
|
-
return {
|
|
8
|
-
requestor,
|
|
9
|
-
...endpoints,
|
|
10
|
-
create: (data) =>
|
|
11
|
-
requestor.makeRequest.post(`attribute/groups`, data).then(({ data }) => data),
|
|
12
|
-
update: (id, data) =>
|
|
13
|
-
requestor.makeRequest.put(`attribute/groups/${id}`, data).then(({ data }) => data),
|
|
14
|
-
delete: (id: string) =>
|
|
15
|
-
requestor.makeRequest.delete(`attribute/groups/${id}`).then(({ data }) => data),
|
|
16
|
-
};
|
|
17
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { RequestorOptions } from 'models/Requestor';
|
|
2
|
-
import { BackendHook, useBackend } from '../useBackend';
|
|
3
|
-
|
|
4
|
-
export const useAutomations: BackendHook<any, undefined> = (auth?: RequestorOptions['auth']) => {
|
|
5
|
-
const { requestor, ...rest } = useBackend('automations', { auth });
|
|
6
|
-
return {
|
|
7
|
-
...rest,
|
|
8
|
-
requestor,
|
|
9
|
-
};
|
|
10
|
-
};
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { list } from './list';
|
|
2
|
-
import { get } from './get';
|
|
3
|
-
import { Requestor, RequestorOptions } from '../../models/Requestor';
|
|
4
|
-
import { post } from './post';
|
|
5
|
-
import { CustomResponse } from '@wb/types/custom-response/custom-response.model';
|
|
6
|
-
import { put } from './put';
|
|
7
|
-
|
|
8
|
-
type OtherMethods<T> = (Record<string, (...args: any[]) => Promise<CustomResponse<T[]> | CustomResponse<T>>>) | Record<'requestor', Requestor>;
|
|
9
|
-
|
|
10
|
-
// Base methods that cannot be overridden
|
|
11
|
-
type BaseMethods<T> = {
|
|
12
|
-
requestor: Requestor;
|
|
13
|
-
list: (filters?: Partial<T>) => Promise<CustomResponse<T[]>>,
|
|
14
|
-
get: (id: string) => Promise<CustomResponse<T>>,
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
// Default overridable methods
|
|
18
|
-
type DefaultOverridableMethods<T> = {
|
|
19
|
-
create: (param: Partial<T>) => Promise<CustomResponse<T>>,
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
// If OM contains any keys that overlap with DefaultOverridableMethods, those will take precedence
|
|
23
|
-
// Example: Backend<MyType, { create: (data: MyType) => Promise<MyType> }>
|
|
24
|
-
// will use the custom create method instead of the default one
|
|
25
|
-
export type Backend<T = any, OM = OtherMethods<T>> = BaseMethods<T> &
|
|
26
|
-
Omit<DefaultOverridableMethods<T>, keyof OM> &
|
|
27
|
-
OM;
|
|
28
|
-
|
|
29
|
-
export type BackendHook<T = any, A = any, OM = OtherMethods<T>> = (auth?: RequestorOptions['auth'], ...args: A[]) => Backend<T, OM>;
|
|
30
|
-
|
|
31
|
-
export const useBackend = <T = any>(path: string, opts: Partial<{ auth: RequestorOptions['auth'] }> = {}): Backend<T> => {
|
|
32
|
-
const requestor = new Requestor((globalThis as any).WBSUITE_CONFIG, undefined, opts);
|
|
33
|
-
return {
|
|
34
|
-
requestor,
|
|
35
|
-
list: list.bind(this, requestor, path),
|
|
36
|
-
get: get.bind(this, requestor, path),
|
|
37
|
-
create: post.bind(this, requestor, path),
|
|
38
|
-
update: put.bind(this, requestor, path),
|
|
39
|
-
}
|
|
40
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { BackendHook, useBackend } from '../useBackend';
|
|
2
|
-
import { RequestorOptions } from 'models/Requestor';
|
|
3
|
-
|
|
4
|
-
export const useCampaigns: BackendHook = (auth?: RequestorOptions['auth']) => {
|
|
5
|
-
const { requestor, ...endpoints } = useBackend('campaigns', { auth });
|
|
6
|
-
return {
|
|
7
|
-
requestor,
|
|
8
|
-
...endpoints,
|
|
9
|
-
delete: (id: string) => requestor.makeRequest.delete(`campaigns/${id}`).then(({ data }) => data)
|
|
10
|
-
};
|
|
11
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { BackendHook, useBackend } from '../useBackend';
|
|
2
|
-
import { RequestorOptions } from 'models/Requestor';
|
|
3
|
-
import { ICategory } from '@wb/types/category/category.model'
|
|
4
|
-
|
|
5
|
-
export const useCategories: BackendHook<ICategory> = (auth?: RequestorOptions['auth']) => {
|
|
6
|
-
return useBackend('categories', { auth });
|
|
7
|
-
};
|