@sentecacommerce-theme/lib 0.11.88 → 0.11.92
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/cjs/api/myCartApi/index.js.map +1 -1
- package/dist/cjs/api/usersApi/index.js +3 -3
- package/dist/cjs/api/usersApi/index.js.map +1 -1
- package/dist/cjs/components/GoogleOneTap/index.js +3 -3
- package/dist/cjs/components/GoogleOneTap/index.js.map +1 -1
- package/dist/cjs/hooks/basket-hooks/useBasketTotalCount/index.js +1 -3
- package/dist/cjs/hooks/basket-hooks/useBasketTotalCount/index.js.map +1 -1
- package/dist/cjs/index.js +0 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/user/api/mutations/useLoginMutation.js.map +1 -1
- package/dist/cjs/user/api/mutations/useRegisterMutation.js +31 -2
- package/dist/cjs/user/api/mutations/useRegisterMutation.js.map +1 -1
- package/dist/cjs/user/api/utils/processLoginPayload.js.map +1 -1
- package/dist/esm/api/myCartApi/index.js.map +1 -1
- package/dist/esm/api/usersApi/index.js +3 -3
- package/dist/esm/api/usersApi/index.js.map +1 -1
- package/dist/esm/components/GoogleOneTap/index.js +2 -2
- package/dist/esm/components/GoogleOneTap/index.js.map +1 -1
- package/dist/esm/hooks/basket-hooks/useBasketTotalCount/index.js +1 -3
- package/dist/esm/hooks/basket-hooks/useBasketTotalCount/index.js.map +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/user/api/mutations/useLoginMutation.js.map +1 -1
- package/dist/esm/user/api/mutations/useRegisterMutation.js +16 -3
- package/dist/esm/user/api/mutations/useRegisterMutation.js.map +1 -1
- package/dist/esm/user/api/utils/processLoginPayload.js.map +1 -1
- package/dist/types/api/myCartApi/index.d.ts +2 -5
- package/dist/types/index.d.ts +0 -1
- package/dist/types/user/api/mutations/useRegisterMutation.d.ts +2 -2
- package/dist/types/user/hooks/useRegister.d.ts +1 -1
- package/package.json +4 -4
- package/dist/cjs/api/authApi/index.js +0 -282
- package/dist/cjs/api/authApi/index.js.map +0 -1
- package/dist/esm/api/authApi/index.js +0 -224
- package/dist/esm/api/authApi/index.js.map +0 -1
- package/dist/types/api/authApi/index.d.ts +0 -37
@@ -1,224 +0,0 @@
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
2
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
3
|
-
|
4
|
-
/* eslint-disable react-hooks/rules-of-hooks */
|
5
|
-
import { AuthAPI, CustomersAPI, OAuthTokenRequestDTOResponseModeEnum, LoginRequestDTOResponseModeEnum, TokenRequestDTOGrantTypeEnum } from '@sentecacommerce/sdk';
|
6
|
-
import { useQuery, useMutation, useQueryCache } from 'react-query';
|
7
|
-
import { usersApi } from '../usersApi';
|
8
|
-
import { WISHLIST_STORAGE_KEY, cacheKeys as wishlistCacheKeys } from '../wishlistApi';
|
9
|
-
import { BASKET_STORAGE_KEY, myCartCacheKeys } from '../myCartApi';
|
10
|
-
import { generateGuid } from '../../utils/guid';
|
11
|
-
import { writeToLocalStorage } from '../../utils/localStorage';
|
12
|
-
import { getSDKConfig } from '../getSDKConfig';
|
13
|
-
import { removeAnonToken, removeAuthToken, setRefreshToken, getAnonToken, getAuthToken, setExpiryToken, setAccessToken, isTokenExpired, getRefreshToken, removeExpiryToken, removeRefreshToken, getAnonId, convertDateIntoRemainingDays } from '../../utils'; // import { consentsApi } from '../consentsApi'
|
14
|
-
|
15
|
-
var cacheKeys = {
|
16
|
-
isAuthenticated: 'token-api-is-authenticated'
|
17
|
-
};
|
18
|
-
export var AuthApiFactory = function () {
|
19
|
-
// Instance stores a reference to the Singleton
|
20
|
-
var instance;
|
21
|
-
|
22
|
-
function initialise() {
|
23
|
-
// Singleton
|
24
|
-
// Private methods and variables
|
25
|
-
var customersApi = new CustomersAPI(getSDKConfig());
|
26
|
-
var tokenApi = new AuthAPI(getSDKConfig());
|
27
|
-
|
28
|
-
var processLoginPayload = function processLoginPayload(data, anonymous) {
|
29
|
-
if (anonymous === void 0) {
|
30
|
-
anonymous = false;
|
31
|
-
}
|
32
|
-
|
33
|
-
var accessTokenExpires = data.expires;
|
34
|
-
var refreshTokenExpires = data.refreshTokenExpires;
|
35
|
-
writeToLocalStorage(WISHLIST_STORAGE_KEY, data.wishList);
|
36
|
-
writeToLocalStorage(BASKET_STORAGE_KEY, data.basket);
|
37
|
-
setAccessToken(data.accessToken, anonymous, {
|
38
|
-
expires: convertDateIntoRemainingDays(new Date(), new Date(accessTokenExpires))
|
39
|
-
});
|
40
|
-
setExpiryToken(data.expires, {
|
41
|
-
expires: convertDateIntoRemainingDays(new Date(), new Date(refreshTokenExpires))
|
42
|
-
});
|
43
|
-
setRefreshToken(data.refreshToken, {
|
44
|
-
expires: convertDateIntoRemainingDays(new Date(), new Date(refreshTokenExpires))
|
45
|
-
});
|
46
|
-
!anonymous && removeAnonToken();
|
47
|
-
};
|
48
|
-
|
49
|
-
var invalidateQueries = queryCache => {
|
50
|
-
queryCache.invalidateQueries(cacheKeys.isAuthenticated);
|
51
|
-
queryCache.invalidateQueries(usersApi.cacheKeys.useGet);
|
52
|
-
queryCache.invalidateQueries(myCartCacheKeys.useGet);
|
53
|
-
queryCache.invalidateQueries(myCartCacheKeys.useGetCompact);
|
54
|
-
queryCache.invalidateQueries(wishlistCacheKeys.useGet);
|
55
|
-
queryCache.invalidateQueries(wishlistCacheKeys.useGetCompact);
|
56
|
-
queryCache.getQueries().forEach(query => query.refetch());
|
57
|
-
}; // Public methods and variables
|
58
|
-
|
59
|
-
|
60
|
-
var processLogin = (onSuccess, queryCache) => data => {
|
61
|
-
processLoginPayload(data);
|
62
|
-
invalidateQueries(queryCache);
|
63
|
-
onSuccess == null ? void 0 : onSuccess();
|
64
|
-
};
|
65
|
-
|
66
|
-
return Object.freeze({
|
67
|
-
cacheKeys,
|
68
|
-
isAuthenticated: () => {
|
69
|
-
return useQuery(cacheKeys.isAuthenticated, /*#__PURE__*/_asyncToGenerator(function* () {
|
70
|
-
var authToken = getAuthToken();
|
71
|
-
var anonToken = getAnonToken();
|
72
|
-
|
73
|
-
if (!authToken && !anonToken) {
|
74
|
-
var anonTokenData = yield tokenApi.createAnonymousToken({}, {
|
75
|
-
grantType: TokenRequestDTOGrantTypeEnum.Implicit,
|
76
|
-
anonymousId: generateGuid()
|
77
|
-
});
|
78
|
-
processLoginPayload(anonTokenData, true);
|
79
|
-
}
|
80
|
-
|
81
|
-
if (isTokenExpired()) {
|
82
|
-
removeAnonToken();
|
83
|
-
removeAuthToken();
|
84
|
-
var newToken = yield tokenApi.refreshToken({}, {
|
85
|
-
grantType: TokenRequestDTOGrantTypeEnum.RefreshToken,
|
86
|
-
refreshToken: getRefreshToken()
|
87
|
-
});
|
88
|
-
processLoginPayload(newToken, !!authApi);
|
89
|
-
}
|
90
|
-
|
91
|
-
return authToken ? true : false;
|
92
|
-
}), {
|
93
|
-
staleTime: 60 * 1000 // 1 minute
|
94
|
-
|
95
|
-
});
|
96
|
-
},
|
97
|
-
useLogin: (_ref2) => {
|
98
|
-
var {
|
99
|
-
onSuccess
|
100
|
-
} = _ref2;
|
101
|
-
var queryCache = useQueryCache();
|
102
|
-
return useMutation(values => tokenApi.login({}, _extends({}, values, {
|
103
|
-
responseMode: LoginRequestDTOResponseModeEnum.Compact,
|
104
|
-
anonymousId: getAnonId()
|
105
|
-
})), {
|
106
|
-
onSuccess: processLogin(onSuccess, queryCache)
|
107
|
-
});
|
108
|
-
},
|
109
|
-
useRegister: (_ref3) => {
|
110
|
-
var {
|
111
|
-
onSuccess
|
112
|
-
} = _ref3;
|
113
|
-
var queryCache = useQueryCache();
|
114
|
-
return useMutation(values => {
|
115
|
-
return tokenApi.register({}, _extends({}, values, {
|
116
|
-
anonymousId: getAnonId()
|
117
|
-
}));
|
118
|
-
}, {
|
119
|
-
onSuccess: processLogin(onSuccess, queryCache)
|
120
|
-
});
|
121
|
-
},
|
122
|
-
useLoginFacebook: onSuccess => {
|
123
|
-
var queryCache = useQueryCache();
|
124
|
-
return useMutation(values => tokenApi.createFacebookToken(values, {
|
125
|
-
responseMode: OAuthTokenRequestDTOResponseModeEnum.Compact,
|
126
|
-
anonymousId: getAnonId()
|
127
|
-
}), {
|
128
|
-
onSuccess: processLogin(onSuccess, queryCache)
|
129
|
-
});
|
130
|
-
},
|
131
|
-
useLoginGoogle: onSuccess => {
|
132
|
-
var queryCache = useQueryCache();
|
133
|
-
return useMutation(values => tokenApi.createGoogleToken(values, {
|
134
|
-
responseMode: OAuthTokenRequestDTOResponseModeEnum.Compact,
|
135
|
-
anonymousId: getAnonId()
|
136
|
-
}), {
|
137
|
-
onSuccess: processLogin(onSuccess, queryCache)
|
138
|
-
});
|
139
|
-
},
|
140
|
-
useLoginApple: onSuccess => {
|
141
|
-
var queryCache = useQueryCache();
|
142
|
-
return useMutation(values => tokenApi.createAppleToken(values, {
|
143
|
-
responseMode: OAuthTokenRequestDTOResponseModeEnum.Compact,
|
144
|
-
anonymousId: getAnonId()
|
145
|
-
}), {
|
146
|
-
onSuccess: processLogin(onSuccess, queryCache)
|
147
|
-
});
|
148
|
-
},
|
149
|
-
useResetPassword: (_ref4) => {
|
150
|
-
var {
|
151
|
-
onSuccess
|
152
|
-
} = _ref4;
|
153
|
-
return useMutation(values => customersApi.resetPassword({}, values), {
|
154
|
-
onSuccess: function (_onSuccess) {
|
155
|
-
function onSuccess() {
|
156
|
-
return _onSuccess.apply(this, arguments);
|
157
|
-
}
|
158
|
-
|
159
|
-
onSuccess.toString = function () {
|
160
|
-
return _onSuccess.toString();
|
161
|
-
};
|
162
|
-
|
163
|
-
return onSuccess;
|
164
|
-
}(() => {
|
165
|
-
onSuccess == null ? void 0 : onSuccess();
|
166
|
-
})
|
167
|
-
});
|
168
|
-
},
|
169
|
-
useRequestResetPasswordToken: (_ref5) => {
|
170
|
-
var {
|
171
|
-
onSuccess
|
172
|
-
} = _ref5;
|
173
|
-
return useMutation(values => customersApi.createPasswordToken({}, values), {
|
174
|
-
onSuccess: function (_onSuccess2) {
|
175
|
-
function onSuccess() {
|
176
|
-
return _onSuccess2.apply(this, arguments);
|
177
|
-
}
|
178
|
-
|
179
|
-
onSuccess.toString = function () {
|
180
|
-
return _onSuccess2.toString();
|
181
|
-
};
|
182
|
-
|
183
|
-
return onSuccess;
|
184
|
-
}(() => {
|
185
|
-
onSuccess == null ? void 0 : onSuccess();
|
186
|
-
})
|
187
|
-
});
|
188
|
-
},
|
189
|
-
useLogout: () => {
|
190
|
-
var queryCache = useQueryCache();
|
191
|
-
return () => {
|
192
|
-
writeToLocalStorage(WISHLIST_STORAGE_KEY, {
|
193
|
-
itemsCount: 0,
|
194
|
-
items: {}
|
195
|
-
});
|
196
|
-
writeToLocalStorage(BASKET_STORAGE_KEY, {
|
197
|
-
lineItems: {},
|
198
|
-
customLineItems: {},
|
199
|
-
lineItemsCount: 0,
|
200
|
-
customLineItemsCount: 0
|
201
|
-
});
|
202
|
-
removeAuthToken();
|
203
|
-
removeRefreshToken();
|
204
|
-
removeExpiryToken();
|
205
|
-
invalidateQueries(queryCache);
|
206
|
-
};
|
207
|
-
}
|
208
|
-
});
|
209
|
-
}
|
210
|
-
|
211
|
-
return {
|
212
|
-
// Get the Singleton instance if one exists
|
213
|
-
// or create one if it doesn't
|
214
|
-
getInstance: function getInstance() {
|
215
|
-
if (!instance) {
|
216
|
-
instance = initialise();
|
217
|
-
}
|
218
|
-
|
219
|
-
return instance;
|
220
|
-
}
|
221
|
-
};
|
222
|
-
}();
|
223
|
-
export var authApi = AuthApiFactory.getInstance();
|
224
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/api/authApi/index.ts"],"names":["AuthAPI","CustomersAPI","OAuthTokenRequestDTOResponseModeEnum","LoginRequestDTOResponseModeEnum","TokenRequestDTOGrantTypeEnum","useQuery","useMutation","useQueryCache","usersApi","WISHLIST_STORAGE_KEY","cacheKeys","wishlistCacheKeys","BASKET_STORAGE_KEY","myCartCacheKeys","generateGuid","writeToLocalStorage","getSDKConfig","removeAnonToken","removeAuthToken","setRefreshToken","getAnonToken","getAuthToken","setExpiryToken","setAccessToken","isTokenExpired","getRefreshToken","removeExpiryToken","removeRefreshToken","getAnonId","convertDateIntoRemainingDays","isAuthenticated","AuthApiFactory","instance","initialise","customersApi","tokenApi","processLoginPayload","data","anonymous","accessTokenExpires","expires","refreshTokenExpires","wishList","basket","accessToken","Date","refreshToken","invalidateQueries","queryCache","useGet","useGetCompact","getQueries","forEach","query","refetch","processLogin","onSuccess","Object","freeze","authToken","anonToken","anonTokenData","createAnonymousToken","grantType","Implicit","anonymousId","newToken","RefreshToken","authApi","staleTime","useLogin","values","login","responseMode","Compact","useRegister","register","useLoginFacebook","createFacebookToken","useLoginGoogle","createGoogleToken","useLoginApple","createAppleToken","useResetPassword","resetPassword","useRequestResetPasswordToken","createPasswordToken","useLogout","itemsCount","items","lineItems","customLineItems","lineItemsCount","customLineItemsCount","getInstance"],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/rules-of-hooks */\nimport {\n AuthAPI,\n CustomersAPI,\n RegisterRequestDTO,\n CustomerDTO,\n PasswordResetDTO,\n PasswordTokenDTO,\n TokenResponseDTO,\n OAuthTokenRequestDTOResponseModeEnum,\n LoginRequestDTOResponseModeEnum,\n TokenRequestDTOGrantTypeEnum,\n} from '@sentecacommerce/sdk'\nimport {\n useQuery,\n useMutation,\n QueryCache,\n MutationResultPair,\n QueryResult,\n useQueryCache,\n} from 'react-query'\nimport { usersApi } from '../usersApi'\nimport {\n WISHLIST_STORAGE_KEY,\n cacheKeys as wishlistCacheKeys,\n} from '../wishlistApi'\nimport { BASKET_STORAGE_KEY, myCartCacheKeys } from '../myCartApi'\nimport { generateGuid } from '../../utils/guid'\nimport { writeToLocalStorage } from '../../utils/localStorage'\nimport { getSDKConfig } from '../getSDKConfig'\nimport {\n removeAnonToken,\n removeAuthToken,\n setRefreshToken,\n getAnonToken,\n getAuthToken,\n setExpiryToken,\n setAccessToken,\n isTokenExpired,\n getRefreshToken,\n removeExpiryToken,\n removeRefreshToken,\n getAnonId,\n convertDateIntoRemainingDays,\n} from '../../utils'\n\n// import { consentsApi } from '../consentsApi'\n\ntype AuthApiType = {\n isAuthenticated: () => QueryResult<boolean, unknown>\n\n useLogin: ({\n onSuccess,\n }: {\n onSuccess?: () => void\n }) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n { email: string; password: string },\n unknown\n >\n\n useLoginFacebook: (\n onSuccess?: () => void\n ) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n { access_token: string },\n unknown\n >\n\n useLoginGoogle: (\n onSuccess?: () => void\n ) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n { access_token: string },\n unknown\n >\n\n useLoginApple: (\n onSuccess?: () => void\n ) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n {\n lastName?: string\n firstName?: string\n id_token: string\n },\n unknown\n >\n\n useRegister: ({\n onSuccess,\n }: {\n onSuccess?: () => void\n }) => MutationResultPair<\n TokenResponseDTO,\n unknown,\n RegisterRequestDTO,\n unknown\n >\n\n useResetPassword: ({\n onSuccess,\n }: {\n onSuccess?: () => void\n }) => MutationResultPair<CustomerDTO, unknown, PasswordResetDTO, unknown>\n\n useRequestResetPasswordToken: ({\n onSuccess,\n }: {\n onSuccess?: () => void\n }) => MutationResultPair<void, unknown, PasswordTokenDTO, unknown>\n\n useLogout: () => Function\n}\n\nconst cacheKeys = { isAuthenticated: 'token-api-is-authenticated' }\n\nexport const AuthApiFactory = (function () {\n // Instance stores a reference to the Singleton\n let instance: AuthApiType\n\n function initialise(): Readonly<AuthApiType> {\n // Singleton\n\n // Private methods and variables\n const customersApi = new CustomersAPI(getSDKConfig())\n const tokenApi = new AuthAPI(getSDKConfig())\n\n const processLoginPayload = (data: TokenResponseDTO, anonymous = false) => {\n const accessTokenExpires = data.expires as number\n const refreshTokenExpires = data.refreshTokenExpires as number\n\n writeToLocalStorage(WISHLIST_STORAGE_KEY, data.wishList)\n writeToLocalStorage(BASKET_STORAGE_KEY, data.basket)\n\n setAccessToken(data.accessToken as string, anonymous, {\n expires: convertDateIntoRemainingDays(\n new Date(),\n new Date(accessTokenExpires as number)\n ),\n })\n setExpiryToken(data.expires as number, {\n expires: convertDateIntoRemainingDays(\n new Date(),\n new Date(refreshTokenExpires as number)\n ),\n })\n setRefreshToken(data.refreshToken as string, {\n expires: convertDateIntoRemainingDays(\n new Date(),\n new Date(refreshTokenExpires as number)\n ),\n })\n !anonymous && removeAnonToken()\n }\n\n const invalidateQueries = (queryCache: QueryCache) => {\n queryCache.invalidateQueries(cacheKeys.isAuthenticated)\n queryCache.invalidateQueries(usersApi.cacheKeys.useGet)\n queryCache.invalidateQueries(myCartCacheKeys.useGet)\n queryCache.invalidateQueries(myCartCacheKeys.useGetCompact)\n queryCache.invalidateQueries(wishlistCacheKeys.useGet)\n queryCache.invalidateQueries(wishlistCacheKeys.useGetCompact)\n queryCache.getQueries().forEach((query) => query.refetch())\n }\n\n // Public methods and variables\n\n const processLogin = (onSuccess: any, queryCache: any) => (data: any) => {\n processLoginPayload(data)\n invalidateQueries(queryCache)\n onSuccess?.()\n }\n\n return Object.freeze({\n cacheKeys,\n isAuthenticated: () => {\n return useQuery(\n cacheKeys.isAuthenticated,\n async () => {\n const authToken = getAuthToken()\n const anonToken = getAnonToken()\n\n if (!authToken && !anonToken) {\n const anonTokenData = await tokenApi.createAnonymousToken(\n {},\n {\n grantType: TokenRequestDTOGrantTypeEnum.Implicit,\n anonymousId: generateGuid(),\n }\n )\n\n processLoginPayload(anonTokenData, true)\n }\n\n if (isTokenExpired()) {\n removeAnonToken()\n removeAuthToken()\n const newToken = await tokenApi.refreshToken(\n {},\n {\n grantType: TokenRequestDTOGrantTypeEnum.RefreshToken,\n refreshToken: getRefreshToken(),\n }\n )\n\n processLoginPayload(newToken, !!authApi)\n }\n return authToken ? true : false\n },\n {\n staleTime: 60 * 1000, // 1 minute\n }\n )\n },\n useLogin: ({ onSuccess }) => {\n const queryCache = useQueryCache()\n return useMutation(\n (values) =>\n tokenApi.login(\n {},\n {\n ...values,\n responseMode: LoginRequestDTOResponseModeEnum.Compact,\n anonymousId: getAnonId(),\n }\n ),\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useRegister: ({ onSuccess }) => {\n const queryCache = useQueryCache()\n\n return useMutation(\n (values) => {\n return tokenApi.register(\n {},\n { ...values, anonymousId: getAnonId() }\n )\n },\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useLoginFacebook: (onSuccess) => {\n const queryCache = useQueryCache()\n return useMutation(\n (values) =>\n tokenApi.createFacebookToken(values, {\n responseMode: OAuthTokenRequestDTOResponseModeEnum.Compact,\n anonymousId: getAnonId(),\n }),\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useLoginGoogle: (onSuccess) => {\n const queryCache = useQueryCache()\n return useMutation(\n (values) =>\n tokenApi.createGoogleToken(values, {\n responseMode: OAuthTokenRequestDTOResponseModeEnum.Compact,\n anonymousId: getAnonId(),\n }),\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useLoginApple: (onSuccess) => {\n const queryCache = useQueryCache()\n return useMutation(\n (values) =>\n tokenApi.createAppleToken(values, {\n responseMode: OAuthTokenRequestDTOResponseModeEnum.Compact,\n anonymousId: getAnonId(),\n }),\n {\n onSuccess: processLogin(onSuccess, queryCache),\n }\n )\n },\n useResetPassword: ({ onSuccess }) => {\n return useMutation((values) => customersApi.resetPassword({}, values), {\n onSuccess: () => {\n onSuccess?.()\n },\n })\n },\n useRequestResetPasswordToken: ({ onSuccess }) => {\n return useMutation(\n (values) => customersApi.createPasswordToken({}, values),\n {\n onSuccess: () => {\n onSuccess?.()\n },\n }\n )\n },\n useLogout: () => {\n const queryCache = useQueryCache()\n\n return () => {\n writeToLocalStorage(WISHLIST_STORAGE_KEY, {\n itemsCount: 0,\n items: {},\n })\n writeToLocalStorage(BASKET_STORAGE_KEY, {\n lineItems: {},\n customLineItems: {},\n lineItemsCount: 0,\n customLineItemsCount: 0,\n })\n removeAuthToken()\n removeRefreshToken()\n removeExpiryToken()\n invalidateQueries(queryCache)\n }\n },\n })\n }\n\n return {\n // Get the Singleton instance if one exists\n // or create one if it doesn't\n getInstance: function () {\n if (!instance) {\n instance = initialise()\n }\n\n return instance\n },\n }\n})()\n\nexport const authApi = AuthApiFactory.getInstance()\n"],"file":"index.js"}
|
@@ -1,37 +0,0 @@
|
|
1
|
-
import { RegisterRequestDTO, CustomerDTO, PasswordResetDTO, PasswordTokenDTO, TokenResponseDTO } from '@sentecacommerce/sdk';
|
2
|
-
import { MutationResultPair, QueryResult } from 'react-query';
|
3
|
-
declare type AuthApiType = {
|
4
|
-
isAuthenticated: () => QueryResult<boolean, unknown>;
|
5
|
-
useLogin: ({ onSuccess, }: {
|
6
|
-
onSuccess?: () => void;
|
7
|
-
}) => MutationResultPair<TokenResponseDTO, unknown, {
|
8
|
-
email: string;
|
9
|
-
password: string;
|
10
|
-
}, unknown>;
|
11
|
-
useLoginFacebook: (onSuccess?: () => void) => MutationResultPair<TokenResponseDTO, unknown, {
|
12
|
-
access_token: string;
|
13
|
-
}, unknown>;
|
14
|
-
useLoginGoogle: (onSuccess?: () => void) => MutationResultPair<TokenResponseDTO, unknown, {
|
15
|
-
access_token: string;
|
16
|
-
}, unknown>;
|
17
|
-
useLoginApple: (onSuccess?: () => void) => MutationResultPair<TokenResponseDTO, unknown, {
|
18
|
-
lastName?: string;
|
19
|
-
firstName?: string;
|
20
|
-
id_token: string;
|
21
|
-
}, unknown>;
|
22
|
-
useRegister: ({ onSuccess, }: {
|
23
|
-
onSuccess?: () => void;
|
24
|
-
}) => MutationResultPair<TokenResponseDTO, unknown, RegisterRequestDTO, unknown>;
|
25
|
-
useResetPassword: ({ onSuccess, }: {
|
26
|
-
onSuccess?: () => void;
|
27
|
-
}) => MutationResultPair<CustomerDTO, unknown, PasswordResetDTO, unknown>;
|
28
|
-
useRequestResetPasswordToken: ({ onSuccess, }: {
|
29
|
-
onSuccess?: () => void;
|
30
|
-
}) => MutationResultPair<void, unknown, PasswordTokenDTO, unknown>;
|
31
|
-
useLogout: () => Function;
|
32
|
-
};
|
33
|
-
export declare const AuthApiFactory: {
|
34
|
-
getInstance: () => AuthApiType;
|
35
|
-
};
|
36
|
-
export declare const authApi: AuthApiType;
|
37
|
-
export {};
|