naystack 1.4.2 → 1.4.4

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.
Files changed (43) hide show
  1. package/dist/auth/constants.cjs.js +30 -0
  2. package/dist/auth/constants.d.mts +3 -0
  3. package/dist/auth/constants.d.ts +3 -0
  4. package/dist/auth/constants.esm.js +5 -0
  5. package/dist/auth/email/index.cjs.js +11 -4
  6. package/dist/auth/email/index.esm.js +11 -4
  7. package/dist/auth/email/routes/delete.cjs.js +10 -3
  8. package/dist/auth/email/routes/delete.esm.js +10 -3
  9. package/dist/auth/email/routes/get.cjs.js +8 -3
  10. package/dist/auth/email/routes/get.esm.js +8 -3
  11. package/dist/auth/email/routes/post.cjs.js +9 -2
  12. package/dist/auth/email/routes/post.esm.js +9 -2
  13. package/dist/auth/email/routes/put.cjs.js +9 -2
  14. package/dist/auth/email/routes/put.esm.js +9 -2
  15. package/dist/auth/email/token.cjs.js +18 -2
  16. package/dist/auth/email/token.d.mts +2 -1
  17. package/dist/auth/email/token.d.ts +2 -1
  18. package/dist/auth/email/token.esm.js +17 -2
  19. package/dist/auth/email/utils.cjs.js +8 -1
  20. package/dist/auth/email/utils.esm.js +8 -1
  21. package/dist/auth/google/get.cjs.js +25 -17
  22. package/dist/auth/google/get.d.mts +3 -1
  23. package/dist/auth/google/get.d.ts +3 -1
  24. package/dist/auth/google/get.esm.js +25 -17
  25. package/dist/auth/google/index.cjs.js +25 -17
  26. package/dist/auth/google/index.d.mts +6 -4
  27. package/dist/auth/google/index.d.ts +6 -4
  28. package/dist/auth/google/index.esm.js +25 -17
  29. package/dist/auth/index.cjs.js +29 -21
  30. package/dist/auth/index.esm.js +29 -21
  31. package/dist/auth/instagram/index.cjs.js +2 -0
  32. package/dist/auth/instagram/index.esm.js +2 -0
  33. package/dist/auth/instagram/route.cjs.js +2 -0
  34. package/dist/auth/instagram/route.esm.js +2 -0
  35. package/dist/file/index.cjs.js +8 -1
  36. package/dist/file/index.esm.js +8 -1
  37. package/dist/file/put.cjs.js +8 -1
  38. package/dist/file/put.esm.js +8 -1
  39. package/dist/file/setup.cjs.js +8 -1
  40. package/dist/file/setup.esm.js +8 -1
  41. package/dist/graphql/server.cjs.js +2 -2
  42. package/dist/graphql/server.esm.js +2 -2
  43. package/package.json +1 -1
@@ -4,7 +4,14 @@ import { verify as verify2 } from "jsonwebtoken";
4
4
  // src/auth/email/token.ts
5
5
  import { compare } from "bcryptjs";
6
6
  import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
7
+ import { cookies } from "next/headers";
8
+ import { redirect } from "next/navigation";
7
9
  import { NextResponse } from "next/server";
10
+
11
+ // src/auth/constants.ts
12
+ var REFRESH_COOKIE_NAME = "refresh";
13
+
14
+ // src/auth/email/token.ts
8
15
  function generateAccessToken(id, signingKey) {
9
16
  return sign({ id }, signingKey, {
10
17
  expiresIn: "2h"
@@ -19,14 +26,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
19
26
  status: 200
20
27
  });
21
28
  if (!accessToken) {
22
- response.cookies.set("refresh", "", {
29
+ response.cookies.set(REFRESH_COOKIE_NAME, "", {
23
30
  secure: false,
24
31
  httpOnly: true,
25
32
  expires: 0
26
33
  });
27
34
  }
28
35
  if (refreshToken !== void 0) {
29
- response.cookies.set("refresh", refreshToken, {
36
+ response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
30
37
  secure: false,
31
38
  httpOnly: true,
32
39
  expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
@@ -119,7 +126,7 @@ async function verifyCaptcha(token, secret) {
119
126
  var getContext = (keys, req) => {
120
127
  const bearer = req.headers.get("authorization");
121
128
  if (!bearer) {
122
- const refresh = req.cookies.get("refresh")?.value;
129
+ const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
123
130
  const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
124
131
  if (userId) return { userId, isRefreshID: true };
125
132
  return { userId: null };
@@ -149,7 +156,7 @@ var getDeleteRoute = (options) => async (req) => {
149
156
 
150
157
  // src/auth/email/routes/get.ts
151
158
  var getGetRoute = (options) => async (req) => {
152
- const refresh = req.cookies.get("refresh")?.value;
159
+ const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
153
160
  const userID = getUserIdFromRefreshToken(options.keys.refresh, refresh);
154
161
  if (userID) {
155
162
  if (options.onRefresh) {
@@ -230,18 +237,14 @@ import { NextResponse as NextResponse3 } from "next/server";
230
237
  import { v4 } from "uuid";
231
238
  var getGoogleGetRoute = ({
232
239
  getUserIdFromEmail,
233
- successRedirectURL,
240
+ redirectURL,
234
241
  errorRedirectURL,
235
- authRoute,
242
+ url,
236
243
  clientId,
237
244
  clientSecret,
238
- refreshKey
245
+ keys
239
246
  }) => {
240
- const oauth2Client = new google.auth.OAuth2(
241
- clientId,
242
- clientSecret,
243
- authRoute
244
- );
247
+ const oauth2Client = new google.auth.OAuth2(clientId, clientSecret, url);
245
248
  return async (req) => {
246
249
  const code = req.nextUrl.searchParams.get("code");
247
250
  const error = req.nextUrl.searchParams.get("error");
@@ -255,7 +258,7 @@ var getGoogleGetRoute = ({
255
258
  state: state2,
256
259
  include_granted_scopes: true,
257
260
  prompt: "consent",
258
- redirect_uri: authRoute
261
+ redirect_uri: url
259
262
  });
260
263
  const res = NextResponse3.redirect(authorizationUrl);
261
264
  res.cookies.set("state", state2, {
@@ -264,13 +267,14 @@ var getGoogleGetRoute = ({
264
267
  });
265
268
  return res;
266
269
  }
270
+ const errorURL = errorRedirectURL || redirectURL;
267
271
  if (error) {
268
- return NextResponse3.redirect(errorRedirectURL);
272
+ return NextResponse3.redirect(errorURL);
269
273
  }
270
274
  const state = req.nextUrl.searchParams.get("state") || void 0;
271
275
  if (code && state) {
272
276
  const localState = req.cookies.get("state")?.value;
273
- if (localState !== state) return NextResponse3.redirect(errorRedirectURL);
277
+ if (localState !== state) return NextResponse3.redirect(errorURL);
274
278
  const { tokens } = await oauth2Client.getToken(code);
275
279
  oauth2Client.setCredentials(tokens);
276
280
  const userInfoRequest = await google.oauth2({
@@ -280,12 +284,16 @@ var getGoogleGetRoute = ({
280
284
  const user = userInfoRequest.data;
281
285
  if (user.email) {
282
286
  const id = await getUserIdFromEmail(user);
283
- const res = NextResponse3.redirect(successRedirectURL);
287
+ const res = NextResponse3.redirect(redirectURL);
284
288
  if (id) {
285
- res.cookies.set("refresh", generateRefreshToken(id, refreshKey), {
286
- httpOnly: true,
287
- secure: true
288
- });
289
+ res.cookies.set(
290
+ REFRESH_COOKIE_NAME,
291
+ generateRefreshToken(id, keys.refresh),
292
+ {
293
+ httpOnly: true,
294
+ secure: true
295
+ }
296
+ );
289
297
  }
290
298
  res.cookies.set("state", "", {
291
299
  httpOnly: true,
@@ -295,7 +303,7 @@ var getGoogleGetRoute = ({
295
303
  return res;
296
304
  }
297
305
  }
298
- return NextResponse3.redirect(errorRedirectURL);
306
+ return NextResponse3.redirect(errorURL);
299
307
  };
300
308
  };
301
309
 
@@ -30,6 +30,8 @@ var import_server3 = require("next/server");
30
30
  // src/auth/email/token.ts
31
31
  var import_bcryptjs = require("bcryptjs");
32
32
  var import_jsonwebtoken = require("jsonwebtoken");
33
+ var import_headers = require("next/headers");
34
+ var import_navigation = require("next/navigation");
33
35
  var import_server = require("next/server");
34
36
  function getUserIdFromAccessToken(refreshToken) {
35
37
  if (refreshToken && process.env.SIGNING_KEY)
@@ -4,6 +4,8 @@ import { NextResponse as NextResponse3 } from "next/server";
4
4
  // src/auth/email/token.ts
5
5
  import { compare } from "bcryptjs";
6
6
  import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
7
+ import { cookies } from "next/headers";
8
+ import { redirect } from "next/navigation";
7
9
  import { NextResponse } from "next/server";
8
10
  function getUserIdFromAccessToken(refreshToken) {
9
11
  if (refreshToken && process.env.SIGNING_KEY)
@@ -28,6 +28,8 @@ var import_server3 = require("next/server");
28
28
  // src/auth/email/token.ts
29
29
  var import_bcryptjs = require("bcryptjs");
30
30
  var import_jsonwebtoken = require("jsonwebtoken");
31
+ var import_headers = require("next/headers");
32
+ var import_navigation = require("next/navigation");
31
33
  var import_server = require("next/server");
32
34
  function getUserIdFromAccessToken(refreshToken) {
33
35
  if (refreshToken && process.env.SIGNING_KEY)
@@ -4,6 +4,8 @@ import { NextResponse as NextResponse3 } from "next/server";
4
4
  // src/auth/email/token.ts
5
5
  import { compare } from "bcryptjs";
6
6
  import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
7
+ import { cookies } from "next/headers";
8
+ import { redirect } from "next/navigation";
7
9
  import { NextResponse } from "next/server";
8
10
  function getUserIdFromAccessToken(refreshToken) {
9
11
  if (refreshToken && process.env.SIGNING_KEY)
@@ -34,7 +34,14 @@ var import_jsonwebtoken2 = require("jsonwebtoken");
34
34
  // src/auth/email/token.ts
35
35
  var import_bcryptjs = require("bcryptjs");
36
36
  var import_jsonwebtoken = require("jsonwebtoken");
37
+ var import_headers = require("next/headers");
38
+ var import_navigation = require("next/navigation");
37
39
  var import_server = require("next/server");
40
+
41
+ // src/auth/constants.ts
42
+ var REFRESH_COOKIE_NAME = "refresh";
43
+
44
+ // src/auth/email/token.ts
38
45
  function getUserIdFromRefreshToken(refreshKey, refreshToken) {
39
46
  if (refreshToken)
40
47
  try {
@@ -55,7 +62,7 @@ var import_server2 = require("next/server");
55
62
  var getContext = (keys, req) => {
56
63
  const bearer = req.headers.get("authorization");
57
64
  if (!bearer) {
58
- const refresh = req.cookies.get("refresh")?.value;
65
+ const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
59
66
  const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
60
67
  if (userId) return { userId, isRefreshID: true };
61
68
  return { userId: null };
@@ -8,7 +8,14 @@ import { verify as verify2 } from "jsonwebtoken";
8
8
  // src/auth/email/token.ts
9
9
  import { compare } from "bcryptjs";
10
10
  import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
11
+ import { cookies } from "next/headers";
12
+ import { redirect } from "next/navigation";
11
13
  import { NextResponse } from "next/server";
14
+
15
+ // src/auth/constants.ts
16
+ var REFRESH_COOKIE_NAME = "refresh";
17
+
18
+ // src/auth/email/token.ts
12
19
  function getUserIdFromRefreshToken(refreshKey, refreshToken) {
13
20
  if (refreshToken)
14
21
  try {
@@ -29,7 +36,7 @@ import { NextResponse as NextResponse2 } from "next/server";
29
36
  var getContext = (keys, req) => {
30
37
  const bearer = req.headers.get("authorization");
31
38
  if (!bearer) {
32
- const refresh = req.cookies.get("refresh")?.value;
39
+ const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
33
40
  const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
34
41
  if (userId) return { userId, isRefreshID: true };
35
42
  return { userId: null };
@@ -32,7 +32,14 @@ var import_jsonwebtoken2 = require("jsonwebtoken");
32
32
  // src/auth/email/token.ts
33
33
  var import_bcryptjs = require("bcryptjs");
34
34
  var import_jsonwebtoken = require("jsonwebtoken");
35
+ var import_headers = require("next/headers");
36
+ var import_navigation = require("next/navigation");
35
37
  var import_server = require("next/server");
38
+
39
+ // src/auth/constants.ts
40
+ var REFRESH_COOKIE_NAME = "refresh";
41
+
42
+ // src/auth/email/token.ts
36
43
  function getUserIdFromRefreshToken(refreshKey, refreshToken) {
37
44
  if (refreshToken)
38
45
  try {
@@ -53,7 +60,7 @@ var import_server2 = require("next/server");
53
60
  var getContext = (keys, req) => {
54
61
  const bearer = req.headers.get("authorization");
55
62
  if (!bearer) {
56
- const refresh = req.cookies.get("refresh")?.value;
63
+ const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
57
64
  const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
58
65
  if (userId) return { userId, isRefreshID: true };
59
66
  return { userId: null };
@@ -8,7 +8,14 @@ import { verify as verify2 } from "jsonwebtoken";
8
8
  // src/auth/email/token.ts
9
9
  import { compare } from "bcryptjs";
10
10
  import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
11
+ import { cookies } from "next/headers";
12
+ import { redirect } from "next/navigation";
11
13
  import { NextResponse } from "next/server";
14
+
15
+ // src/auth/constants.ts
16
+ var REFRESH_COOKIE_NAME = "refresh";
17
+
18
+ // src/auth/email/token.ts
12
19
  function getUserIdFromRefreshToken(refreshKey, refreshToken) {
13
20
  if (refreshToken)
14
21
  try {
@@ -29,7 +36,7 @@ import { NextResponse as NextResponse2 } from "next/server";
29
36
  var getContext = (keys, req) => {
30
37
  const bearer = req.headers.get("authorization");
31
38
  if (!bearer) {
32
- const refresh = req.cookies.get("refresh")?.value;
39
+ const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
33
40
  const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
34
41
  if (userId) return { userId, isRefreshID: true };
35
42
  return { userId: null };
@@ -34,7 +34,14 @@ var import_jsonwebtoken2 = require("jsonwebtoken");
34
34
  // src/auth/email/token.ts
35
35
  var import_bcryptjs = require("bcryptjs");
36
36
  var import_jsonwebtoken = require("jsonwebtoken");
37
+ var import_headers = require("next/headers");
38
+ var import_navigation = require("next/navigation");
37
39
  var import_server = require("next/server");
40
+
41
+ // src/auth/constants.ts
42
+ var REFRESH_COOKIE_NAME = "refresh";
43
+
44
+ // src/auth/email/token.ts
38
45
  function getUserIdFromRefreshToken(refreshKey, refreshToken) {
39
46
  if (refreshToken)
40
47
  try {
@@ -55,7 +62,7 @@ var import_server2 = require("next/server");
55
62
  var getContext = (keys, req) => {
56
63
  const bearer = req.headers.get("authorization");
57
64
  if (!bearer) {
58
- const refresh = req.cookies.get("refresh")?.value;
65
+ const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
59
66
  const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
60
67
  if (userId) return { userId, isRefreshID: true };
61
68
  return { userId: null };
@@ -8,7 +8,14 @@ import { verify as verify2 } from "jsonwebtoken";
8
8
  // src/auth/email/token.ts
9
9
  import { compare } from "bcryptjs";
10
10
  import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
11
+ import { cookies } from "next/headers";
12
+ import { redirect } from "next/navigation";
11
13
  import { NextResponse } from "next/server";
14
+
15
+ // src/auth/constants.ts
16
+ var REFRESH_COOKIE_NAME = "refresh";
17
+
18
+ // src/auth/email/token.ts
12
19
  function getUserIdFromRefreshToken(refreshKey, refreshToken) {
13
20
  if (refreshToken)
14
21
  try {
@@ -29,7 +36,7 @@ import { NextResponse as NextResponse2 } from "next/server";
29
36
  var getContext = (keys, req) => {
30
37
  const bearer = req.headers.get("authorization");
31
38
  if (!bearer) {
32
- const refresh = req.cookies.get("refresh")?.value;
39
+ const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
33
40
  const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
34
41
  if (userId) return { userId, isRefreshID: true };
35
42
  return { userId: null };
@@ -61,9 +61,9 @@ var getGraphQLQuery = ({ uri }) => {
61
61
  Cookie: options?.noCookie ? void 0 : await (0, import_headers.cookies)()
62
62
  },
63
63
  fetchOptions: {
64
- cache: options?.revalidate === void 0 ? "force-cache" : void 0,
64
+ cache: options?.revalidate ? "force-cache" : void 0,
65
65
  next: {
66
- revalidate: options?.revalidate,
66
+ revalidate: options?.revalidate || 0,
67
67
  tags: options?.tags
68
68
  }
69
69
  }
@@ -40,9 +40,9 @@ var getGraphQLQuery = ({ uri }) => {
40
40
  Cookie: options?.noCookie ? void 0 : await cookies()
41
41
  },
42
42
  fetchOptions: {
43
- cache: options?.revalidate === void 0 ? "force-cache" : void 0,
43
+ cache: options?.revalidate ? "force-cache" : void 0,
44
44
  next: {
45
- revalidate: options?.revalidate,
45
+ revalidate: options?.revalidate || 0,
46
46
  tags: options?.tags
47
47
  }
48
48
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "naystack",
3
- "version": "1.4.2",
3
+ "version": "1.4.4",
4
4
  "description": "A stack built with Next + GraphQL + S3 + Auth",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",