@szymonpiatek/nextwordpress 0.0.15 → 0.0.17

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.
@@ -2,13 +2,13 @@
2
2
 
3
3
  var react = require('react');
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
- var useSWR2 = require('swr');
6
5
  var useSWRMutation = require('swr/mutation');
6
+ var useSWR2 = require('swr');
7
7
 
8
8
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
9
 
10
- var useSWR2__default = /*#__PURE__*/_interopDefault(useSWR2);
11
10
  var useSWRMutation__default = /*#__PURE__*/_interopDefault(useSWRMutation);
11
+ var useSWR2__default = /*#__PURE__*/_interopDefault(useSWR2);
12
12
 
13
13
  var __defProp = Object.defineProperty;
14
14
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
@@ -79,6 +79,8 @@ var defaultMessages = {
79
79
  AUTH_JWT_FAILED: "JWT authentication failed",
80
80
  AUTH_CREDENTIALS_INVALID: "Invalid credentials",
81
81
  AUTH_TOKEN_INVALID: "JWT token is invalid or expired",
82
+ AUTH_PASSWORD_RESET_REQUESTED: "Password reset email sent. Check your inbox.",
83
+ AUTH_PASSWORD_RESET_FAILED: "Password reset failed. The link may be invalid or expired.",
82
84
  CF7_MAIL_SENT: "Thank you for your message.",
83
85
  CF7_MAIL_FAILED: "There was an error trying to send your message.",
84
86
  CF7_VALIDATION_FAILED: "One or more fields have an error. Please check and try again.",
@@ -196,6 +198,174 @@ function useAuth() {
196
198
  if (!ctx) throw new Error("useAuth must be used within an AuthProvider");
197
199
  return ctx;
198
200
  }
201
+
202
+ // src/integrations/wpGraphQL/client/types.ts
203
+ var WPGraphQLError = class extends Error {
204
+ constructor(code, status, endpoint, message, gqlErrors) {
205
+ super(message);
206
+ __publicField(this, "code", code);
207
+ __publicField(this, "status", status);
208
+ __publicField(this, "endpoint", endpoint);
209
+ __publicField(this, "gqlErrors", gqlErrors);
210
+ this.name = "WPGraphQLError";
211
+ }
212
+ };
213
+
214
+ // src/integrations/wpGraphQL/client/fetcher.ts
215
+ var USER_AGENT = "NextWordpress WPGraphQL Client";
216
+ function createWPGraphQLFetcher(config) {
217
+ const url = `${resolveBaseUrl(config)}/graphql`;
218
+ const cacheTTL = config.cacheTTL ?? 300;
219
+ async function gqlFetch(document2, variables, tags = ["wpgraphql"]) {
220
+ const response = await fetch(url, {
221
+ method: "POST",
222
+ headers: {
223
+ "Content-Type": "application/json",
224
+ "User-Agent": USER_AGENT
225
+ },
226
+ body: JSON.stringify({ query: document2, variables }),
227
+ next: { tags, revalidate: cacheTTL }
228
+ });
229
+ if (!response.ok) {
230
+ throw new WPGraphQLError(
231
+ ErrorCode.GQL_REQUEST_FAILED,
232
+ response.status,
233
+ url,
234
+ resolveMessage(ErrorCode.GQL_REQUEST_FAILED, config.errorMessages)
235
+ );
236
+ }
237
+ const parsed = await response.json();
238
+ if (parsed.errors && parsed.errors.length > 0) {
239
+ throw new WPGraphQLError(
240
+ ErrorCode.GQL_ERRORS_IN_RESPONSE,
241
+ 200,
242
+ url,
243
+ resolveMessage(ErrorCode.GQL_ERRORS_IN_RESPONSE, config.errorMessages),
244
+ parsed.errors
245
+ );
246
+ }
247
+ if (parsed.data === void 0) {
248
+ throw new WPGraphQLError(
249
+ ErrorCode.GQL_NO_DATA,
250
+ 200,
251
+ url,
252
+ resolveMessage(ErrorCode.GQL_NO_DATA, config.errorMessages)
253
+ );
254
+ }
255
+ return parsed.data;
256
+ }
257
+ async function gqlFetchGraceful(document2, fallback, variables, tags = ["wpgraphql"]) {
258
+ try {
259
+ return await gqlFetch(document2, variables, tags);
260
+ } catch {
261
+ console.warn(`WPGraphQL fetch failed for query`);
262
+ return fallback;
263
+ }
264
+ }
265
+ async function gqlMutate(document2, variables, authToken) {
266
+ const headers = {
267
+ "Content-Type": "application/json",
268
+ "User-Agent": USER_AGENT
269
+ };
270
+ if (authToken) {
271
+ headers["Authorization"] = authToken;
272
+ }
273
+ const response = await fetch(url, {
274
+ method: "POST",
275
+ headers,
276
+ body: JSON.stringify({ query: document2, variables }),
277
+ cache: "no-store"
278
+ });
279
+ if (!response.ok) {
280
+ throw new WPGraphQLError(
281
+ ErrorCode.GQL_REQUEST_FAILED,
282
+ response.status,
283
+ url,
284
+ resolveMessage(ErrorCode.GQL_REQUEST_FAILED, config.errorMessages)
285
+ );
286
+ }
287
+ const parsed = await response.json();
288
+ if (parsed.errors && parsed.errors.length > 0) {
289
+ throw new WPGraphQLError(
290
+ ErrorCode.GQL_ERRORS_IN_RESPONSE,
291
+ 200,
292
+ url,
293
+ resolveMessage(ErrorCode.GQL_ERRORS_IN_RESPONSE, config.errorMessages),
294
+ parsed.errors
295
+ );
296
+ }
297
+ if (parsed.data === void 0) {
298
+ throw new WPGraphQLError(
299
+ ErrorCode.GQL_NO_DATA,
300
+ 200,
301
+ url,
302
+ resolveMessage(ErrorCode.GQL_NO_DATA, config.errorMessages)
303
+ );
304
+ }
305
+ return parsed.data;
306
+ }
307
+ return { gqlFetch, gqlFetchGraceful, gqlMutate };
308
+ }
309
+
310
+ // src/integrations/wpGraphQL/core/mutations/passwordReset/mutations.ts
311
+ var GQL_SEND_PASSWORD_RESET_EMAIL = `
312
+ mutation SendPasswordResetEmail($input: SendPasswordResetEmailInput!) {
313
+ sendPasswordResetEmail(input: $input) {
314
+ success
315
+ }
316
+ }
317
+ `;
318
+ var GQL_RESET_USER_PASSWORD = `
319
+ mutation ResetUserPassword($input: ResetUserPasswordInput!) {
320
+ resetUserPassword(input: $input) {
321
+ user {
322
+ id
323
+ databaseId
324
+ email
325
+ }
326
+ }
327
+ }
328
+ `;
329
+ function createPasswordResetMutations(fetcher) {
330
+ const { gqlMutate } = fetcher;
331
+ async function sendPasswordResetEmail(input) {
332
+ const data = await gqlMutate(GQL_SEND_PASSWORD_RESET_EMAIL, { input });
333
+ const result = data.sendPasswordResetEmail;
334
+ if (!result.success) {
335
+ throw new WPGraphQLError(ErrorCode.GQL_ERRORS_IN_RESPONSE, 200, "sendPasswordResetEmail", "User not found");
336
+ }
337
+ return result;
338
+ }
339
+ async function resetUserPassword(input) {
340
+ const data = await gqlMutate(GQL_RESET_USER_PASSWORD, { input });
341
+ return data.resetUserPassword;
342
+ }
343
+ return { sendPasswordResetEmail, resetUserPassword };
344
+ }
345
+
346
+ // src/hooks/auth/useSendPasswordResetEmail.ts
347
+ function useSendPasswordResetEmail(config) {
348
+ return useSWRMutation__default.default(
349
+ `send-password-reset:${config.serverURL}`,
350
+ async (_, { arg }) => {
351
+ return createPasswordResetMutations(createWPGraphQLFetcher(config)).sendPasswordResetEmail({
352
+ username: arg.username
353
+ });
354
+ }
355
+ );
356
+ }
357
+ function useResetUserPassword(config) {
358
+ return useSWRMutation__default.default(
359
+ `reset-user-password:${config.serverURL}`,
360
+ async (_, { arg }) => {
361
+ return createPasswordResetMutations(createWPGraphQLFetcher(config)).resetUserPassword({
362
+ key: arg.key,
363
+ login: arg.login,
364
+ password: arg.password
365
+ });
366
+ }
367
+ );
368
+ }
199
369
  function readConsentFromDocument(cookieName) {
200
370
  if (typeof document === "undefined") return null;
201
371
  const match = document.cookie.match(new RegExp(`(?:^|;\\s*)${cookieName}=([^;]*)`));
@@ -261,7 +431,7 @@ function buildUrl(config, path, query) {
261
431
  }
262
432
 
263
433
  // src/integrations/restApi/core/client/fetcher.ts
264
- var USER_AGENT = "NextWordpress Client";
434
+ var USER_AGENT2 = "NextWordpress Client";
265
435
  function resolveWpErrorCode(status) {
266
436
  if (status === 401) return ErrorCode.WP_UNAUTHORIZED;
267
437
  if (status === 403) return ErrorCode.WP_FORBIDDEN;
@@ -287,7 +457,7 @@ function createFetcher(config) {
287
457
  async function wpFetch(path, query, tags = ["wordpress"]) {
288
458
  const url = buildUrl(config, path, query);
289
459
  const res = await doFetch(url, {
290
- headers: { "User-Agent": USER_AGENT },
460
+ headers: { "User-Agent": USER_AGENT2 },
291
461
  next: { tags, revalidate: cacheTtl }
292
462
  });
293
463
  return await res.json();
@@ -303,7 +473,7 @@ function createFetcher(config) {
303
473
  async function wpFetchPaginated(path, query, tags = ["wordpress"]) {
304
474
  const url = buildUrl(config, path, query);
305
475
  const res = await doFetch(url, {
306
- headers: { "User-Agent": USER_AGENT },
476
+ headers: { "User-Agent": USER_AGENT2 },
307
477
  next: { tags, revalidate: cacheTtl }
308
478
  });
309
479
  return {
@@ -327,7 +497,7 @@ function createFetcher(config) {
327
497
  const url = buildUrl(config, path);
328
498
  const headers = {
329
499
  "Content-Type": "application/json",
330
- "User-Agent": USER_AGENT
500
+ "User-Agent": USER_AGENT2
331
501
  };
332
502
  if (authToken) {
333
503
  headers["Authorization"] = authToken.startsWith("Basic ") || authToken.startsWith("Bearer ") ? authToken : `Bearer ${authToken}`;
@@ -347,7 +517,7 @@ function createFetcher(config) {
347
517
  headers: {
348
518
  "Content-Disposition": `attachment; filename="${filename}"`,
349
519
  "Content-Type": mimeType,
350
- "User-Agent": USER_AGENT,
520
+ "User-Agent": USER_AGENT2,
351
521
  "Authorization": authToken.startsWith("Basic ") || authToken.startsWith("Bearer ") ? authToken : `Bearer ${authToken}`
352
522
  },
353
523
  body: file,
@@ -569,7 +739,7 @@ function resolveWooErrorCode(status, upstreamCode) {
569
739
  }
570
740
 
571
741
  // src/integrations/restApi/woocommerce/client/fetcher.ts
572
- var USER_AGENT2 = "NextWordpress WooCommerce Client";
742
+ var USER_AGENT3 = "NextWordpress WooCommerce Client";
573
743
  var DEFAULT_CACHE_TTL = 3600;
574
744
  function toQueryString(params) {
575
745
  const pairs = [];
@@ -607,7 +777,7 @@ function createWooCommerceFetcher(config) {
607
777
  const response = await fetch(url, {
608
778
  ...options,
609
779
  headers: {
610
- "User-Agent": USER_AGENT2,
780
+ "User-Agent": USER_AGENT3,
611
781
  "Content-Type": "application/json",
612
782
  ...options?.headers
613
783
  },
@@ -629,7 +799,7 @@ function createWooCommerceFetcher(config) {
629
799
  async function wcFetchPaginated(path, query, tags = ["woocommerce"]) {
630
800
  const url = buildUrl2(path, query);
631
801
  const response = await fetch(url, {
632
- headers: { "User-Agent": USER_AGENT2 },
802
+ headers: { "User-Agent": USER_AGENT3 },
633
803
  next: { tags, revalidate: cacheTTL }
634
804
  });
635
805
  if (!response.ok) {
@@ -1097,114 +1267,6 @@ function useCustomer() {
1097
1267
  return ctx;
1098
1268
  }
1099
1269
 
1100
- // src/integrations/wpGraphQL/client/types.ts
1101
- var WPGraphQLError = class extends Error {
1102
- constructor(code, status, endpoint, message, gqlErrors) {
1103
- super(message);
1104
- __publicField(this, "code", code);
1105
- __publicField(this, "status", status);
1106
- __publicField(this, "endpoint", endpoint);
1107
- __publicField(this, "gqlErrors", gqlErrors);
1108
- this.name = "WPGraphQLError";
1109
- }
1110
- };
1111
-
1112
- // src/integrations/wpGraphQL/client/fetcher.ts
1113
- var USER_AGENT3 = "NextWordpress WPGraphQL Client";
1114
- function createWPGraphQLFetcher(config) {
1115
- const url = `${resolveBaseUrl(config)}/graphql`;
1116
- const cacheTTL = config.cacheTTL ?? 300;
1117
- async function gqlFetch(document2, variables, tags = ["wpgraphql"]) {
1118
- const response = await fetch(url, {
1119
- method: "POST",
1120
- headers: {
1121
- "Content-Type": "application/json",
1122
- "User-Agent": USER_AGENT3
1123
- },
1124
- body: JSON.stringify({ query: document2, variables }),
1125
- next: { tags, revalidate: cacheTTL }
1126
- });
1127
- if (!response.ok) {
1128
- throw new WPGraphQLError(
1129
- ErrorCode.GQL_REQUEST_FAILED,
1130
- response.status,
1131
- url,
1132
- resolveMessage(ErrorCode.GQL_REQUEST_FAILED, config.errorMessages)
1133
- );
1134
- }
1135
- const parsed = await response.json();
1136
- if (parsed.errors && parsed.errors.length > 0) {
1137
- throw new WPGraphQLError(
1138
- ErrorCode.GQL_ERRORS_IN_RESPONSE,
1139
- 200,
1140
- url,
1141
- resolveMessage(ErrorCode.GQL_ERRORS_IN_RESPONSE, config.errorMessages),
1142
- parsed.errors
1143
- );
1144
- }
1145
- if (parsed.data === void 0) {
1146
- throw new WPGraphQLError(
1147
- ErrorCode.GQL_NO_DATA,
1148
- 200,
1149
- url,
1150
- resolveMessage(ErrorCode.GQL_NO_DATA, config.errorMessages)
1151
- );
1152
- }
1153
- return parsed.data;
1154
- }
1155
- async function gqlFetchGraceful(document2, fallback, variables, tags = ["wpgraphql"]) {
1156
- try {
1157
- return await gqlFetch(document2, variables, tags);
1158
- } catch {
1159
- console.warn(`WPGraphQL fetch failed for query`);
1160
- return fallback;
1161
- }
1162
- }
1163
- async function gqlMutate(document2, variables, authToken) {
1164
- const headers = {
1165
- "Content-Type": "application/json",
1166
- "User-Agent": USER_AGENT3
1167
- };
1168
- if (authToken) {
1169
- headers["Authorization"] = authToken;
1170
- }
1171
- const response = await fetch(url, {
1172
- method: "POST",
1173
- headers,
1174
- body: JSON.stringify({ query: document2, variables }),
1175
- cache: "no-store"
1176
- });
1177
- if (!response.ok) {
1178
- throw new WPGraphQLError(
1179
- ErrorCode.GQL_REQUEST_FAILED,
1180
- response.status,
1181
- url,
1182
- resolveMessage(ErrorCode.GQL_REQUEST_FAILED, config.errorMessages)
1183
- );
1184
- }
1185
- const parsed = await response.json();
1186
- if (parsed.errors && parsed.errors.length > 0) {
1187
- throw new WPGraphQLError(
1188
- ErrorCode.GQL_ERRORS_IN_RESPONSE,
1189
- 200,
1190
- url,
1191
- resolveMessage(ErrorCode.GQL_ERRORS_IN_RESPONSE, config.errorMessages),
1192
- parsed.errors
1193
- );
1194
- }
1195
- if (parsed.data === void 0) {
1196
- throw new WPGraphQLError(
1197
- ErrorCode.GQL_NO_DATA,
1198
- 200,
1199
- url,
1200
- resolveMessage(ErrorCode.GQL_NO_DATA, config.errorMessages)
1201
- );
1202
- }
1203
- return parsed.data;
1204
- }
1205
- return { gqlFetch, gqlFetchGraceful, gqlMutate };
1206
- }
1207
-
1208
1270
  // src/integrations/wpGraphQL/core/posts/queries.ts
1209
1271
  var DEFAULT_FIRST = 10;
1210
1272
  var BATCH_FIRST = 100;
@@ -1542,6 +1604,8 @@ exports.useProduct = useProduct;
1542
1604
  exports.useProductBySlug = useProductBySlug;
1543
1605
  exports.useProducts = useProducts;
1544
1606
  exports.useProductsPaginated = useProductsPaginated;
1607
+ exports.useResetUserPassword = useResetUserPassword;
1608
+ exports.useSendPasswordResetEmail = useSendPasswordResetEmail;
1545
1609
  exports.useWPGraphQL = useWPGraphQL;
1546
1610
  exports.useWPULike = useWPULike;
1547
1611
  exports.useWPULikeCheck = useWPULikeCheck;