naystack 1.4.3 → 1.4.5

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 (45) 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 +20 -4
  6. package/dist/auth/email/index.d.mts +1 -0
  7. package/dist/auth/email/index.d.ts +1 -0
  8. package/dist/auth/email/index.esm.js +19 -4
  9. package/dist/auth/email/routes/delete.cjs.js +10 -3
  10. package/dist/auth/email/routes/delete.esm.js +10 -3
  11. package/dist/auth/email/routes/get.cjs.js +8 -3
  12. package/dist/auth/email/routes/get.esm.js +8 -3
  13. package/dist/auth/email/routes/post.cjs.js +9 -2
  14. package/dist/auth/email/routes/post.esm.js +9 -2
  15. package/dist/auth/email/routes/put.cjs.js +9 -2
  16. package/dist/auth/email/routes/put.esm.js +9 -2
  17. package/dist/auth/email/token.cjs.js +18 -2
  18. package/dist/auth/email/token.d.mts +2 -1
  19. package/dist/auth/email/token.d.ts +2 -1
  20. package/dist/auth/email/token.esm.js +17 -2
  21. package/dist/auth/email/utils.cjs.js +8 -1
  22. package/dist/auth/email/utils.esm.js +8 -1
  23. package/dist/auth/google/get.cjs.js +25 -17
  24. package/dist/auth/google/get.d.mts +3 -1
  25. package/dist/auth/google/get.d.ts +3 -1
  26. package/dist/auth/google/get.esm.js +25 -17
  27. package/dist/auth/google/index.cjs.js +25 -17
  28. package/dist/auth/google/index.d.mts +6 -4
  29. package/dist/auth/google/index.d.ts +6 -4
  30. package/dist/auth/google/index.esm.js +25 -17
  31. package/dist/auth/index.cjs.js +38 -21
  32. package/dist/auth/index.d.mts +1 -0
  33. package/dist/auth/index.d.ts +1 -0
  34. package/dist/auth/index.esm.js +37 -21
  35. package/dist/auth/instagram/index.cjs.js +2 -0
  36. package/dist/auth/instagram/index.esm.js +2 -0
  37. package/dist/auth/instagram/route.cjs.js +2 -0
  38. package/dist/auth/instagram/route.esm.js +2 -0
  39. package/dist/file/index.cjs.js +8 -1
  40. package/dist/file/index.esm.js +8 -1
  41. package/dist/file/put.cjs.js +8 -1
  42. package/dist/file/put.esm.js +8 -1
  43. package/dist/file/setup.cjs.js +8 -1
  44. package/dist/file/setup.esm.js +8 -1
  45. package/package.json +1 -1
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/auth/constants.ts
21
+ var constants_exports = {};
22
+ __export(constants_exports, {
23
+ REFRESH_COOKIE_NAME: () => REFRESH_COOKIE_NAME
24
+ });
25
+ module.exports = __toCommonJS(constants_exports);
26
+ var REFRESH_COOKIE_NAME = "refresh";
27
+ // Annotate the CommonJS export names for ESM import in node:
28
+ 0 && (module.exports = {
29
+ REFRESH_COOKIE_NAME
30
+ });
@@ -0,0 +1,3 @@
1
+ declare const REFRESH_COOKIE_NAME = "refresh";
2
+
3
+ export { REFRESH_COOKIE_NAME };
@@ -0,0 +1,3 @@
1
+ declare const REFRESH_COOKIE_NAME = "refresh";
2
+
3
+ export { REFRESH_COOKIE_NAME };
@@ -0,0 +1,5 @@
1
+ // src/auth/constants.ts
2
+ var REFRESH_COOKIE_NAME = "refresh";
3
+ export {
4
+ REFRESH_COOKIE_NAME
5
+ };
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/auth/email/index.ts
21
21
  var email_exports = {};
22
22
  __export(email_exports, {
23
+ checkAuthStatus: () => checkAuthStatus,
23
24
  getEmailAuthRoutes: () => getEmailAuthRoutes
24
25
  });
25
26
  module.exports = __toCommonJS(email_exports);
@@ -30,7 +31,14 @@ var import_jsonwebtoken2 = require("jsonwebtoken");
30
31
  // src/auth/email/token.ts
31
32
  var import_bcryptjs = require("bcryptjs");
32
33
  var import_jsonwebtoken = require("jsonwebtoken");
34
+ var import_headers = require("next/headers");
35
+ var import_navigation = require("next/navigation");
33
36
  var import_server = require("next/server");
37
+
38
+ // src/auth/constants.ts
39
+ var REFRESH_COOKIE_NAME = "refresh";
40
+
41
+ // src/auth/email/token.ts
34
42
  function generateAccessToken(id, signingKey) {
35
43
  return (0, import_jsonwebtoken.sign)({ id }, signingKey, {
36
44
  expiresIn: "2h"
@@ -45,14 +53,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
45
53
  status: 200
46
54
  });
47
55
  if (!accessToken) {
48
- response.cookies.set("refresh", "", {
56
+ response.cookies.set(REFRESH_COOKIE_NAME, "", {
49
57
  secure: false,
50
58
  httpOnly: true,
51
59
  expires: 0
52
60
  });
53
61
  }
54
62
  if (refreshToken !== void 0) {
55
- response.cookies.set("refresh", refreshToken, {
63
+ response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
56
64
  secure: false,
57
65
  httpOnly: true,
58
66
  expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
@@ -76,6 +84,13 @@ function verifyUser(user, password) {
76
84
  if (!user.password) return false;
77
85
  return (0, import_bcryptjs.compare)(password, user.password);
78
86
  }
87
+ async function checkAuthStatus(redirectUnauthorizedURL) {
88
+ const Cookie = await (0, import_headers.cookies)();
89
+ const isAuthorized = !!Cookie.get(REFRESH_COOKIE_NAME)?.value;
90
+ if (!isAuthorized && redirectUnauthorizedURL)
91
+ return (0, import_navigation.redirect)(redirectUnauthorizedURL);
92
+ return isAuthorized;
93
+ }
79
94
 
80
95
  // src/auth/utils/errors.ts
81
96
  var import_server2 = require("next/server");
@@ -133,7 +148,7 @@ async function verifyCaptcha(token, secret) {
133
148
  var getContext = (keys, req) => {
134
149
  const bearer = req.headers.get("authorization");
135
150
  if (!bearer) {
136
- const refresh = req.cookies.get("refresh")?.value;
151
+ const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
137
152
  const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
138
153
  if (userId) return { userId, isRefreshID: true };
139
154
  return { userId: null };
@@ -163,7 +178,7 @@ var getDeleteRoute = (options) => async (req) => {
163
178
 
164
179
  // src/auth/email/routes/get.ts
165
180
  var getGetRoute = (options) => async (req) => {
166
- const refresh = req.cookies.get("refresh")?.value;
181
+ const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
167
182
  const userID = getUserIdFromRefreshToken(options.keys.refresh, refresh);
168
183
  if (userID) {
169
184
  if (options.onRefresh) {
@@ -239,5 +254,6 @@ function getEmailAuthRoutes(options) {
239
254
  }
240
255
  // Annotate the CommonJS export names for ESM import in node:
241
256
  0 && (module.exports = {
257
+ checkAuthStatus,
242
258
  getEmailAuthRoutes
243
259
  });
@@ -2,6 +2,7 @@ import * as next_server from 'next/server';
2
2
  import { NextRequest } from 'next/server';
3
3
  import { Context } from '../../graphql/types.mjs';
4
4
  import { InitRoutesOptions } from './types.mjs';
5
+ export { checkAuthStatus } from './token.mjs';
5
6
  import '../types.mjs';
6
7
 
7
8
  declare function getEmailAuthRoutes(options: InitRoutesOptions): {
@@ -2,6 +2,7 @@ import * as next_server from 'next/server';
2
2
  import { NextRequest } from 'next/server';
3
3
  import { Context } from '../../graphql/types.js';
4
4
  import { InitRoutesOptions } from './types.js';
5
+ export { checkAuthStatus } from './token.js';
5
6
  import '../types.js';
6
7
 
7
8
  declare function getEmailAuthRoutes(options: InitRoutesOptions): {
@@ -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)
@@ -50,6 +57,13 @@ function verifyUser(user, password) {
50
57
  if (!user.password) return false;
51
58
  return compare(password, user.password);
52
59
  }
60
+ async function checkAuthStatus(redirectUnauthorizedURL) {
61
+ const Cookie = await cookies();
62
+ const isAuthorized = !!Cookie.get(REFRESH_COOKIE_NAME)?.value;
63
+ if (!isAuthorized && redirectUnauthorizedURL)
64
+ return redirect(redirectUnauthorizedURL);
65
+ return isAuthorized;
66
+ }
53
67
 
54
68
  // src/auth/utils/errors.ts
55
69
  import { NextResponse as NextResponse2 } from "next/server";
@@ -107,7 +121,7 @@ async function verifyCaptcha(token, secret) {
107
121
  var getContext = (keys, req) => {
108
122
  const bearer = req.headers.get("authorization");
109
123
  if (!bearer) {
110
- const refresh = req.cookies.get("refresh")?.value;
124
+ const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
111
125
  const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
112
126
  if (userId) return { userId, isRefreshID: true };
113
127
  return { userId: null };
@@ -137,7 +151,7 @@ var getDeleteRoute = (options) => async (req) => {
137
151
 
138
152
  // src/auth/email/routes/get.ts
139
153
  var getGetRoute = (options) => async (req) => {
140
- const refresh = req.cookies.get("refresh")?.value;
154
+ const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
141
155
  const userID = getUserIdFromRefreshToken(options.keys.refresh, refresh);
142
156
  if (userID) {
143
157
  if (options.onRefresh) {
@@ -212,5 +226,6 @@ function getEmailAuthRoutes(options) {
212
226
  };
213
227
  }
214
228
  export {
229
+ checkAuthStatus,
215
230
  getEmailAuthRoutes
216
231
  };
@@ -27,21 +27,28 @@ module.exports = __toCommonJS(delete_exports);
27
27
  // src/auth/email/token.ts
28
28
  var import_bcryptjs = require("bcryptjs");
29
29
  var import_jsonwebtoken = require("jsonwebtoken");
30
+ var import_headers = require("next/headers");
31
+ var import_navigation = require("next/navigation");
30
32
  var import_server = require("next/server");
33
+
34
+ // src/auth/constants.ts
35
+ var REFRESH_COOKIE_NAME = "refresh";
36
+
37
+ // src/auth/email/token.ts
31
38
  function getTokenizedResponse(accessToken, refreshToken) {
32
39
  const body = { accessToken, refreshToken };
33
40
  const response = import_server.NextResponse.json(body, {
34
41
  status: 200
35
42
  });
36
43
  if (!accessToken) {
37
- response.cookies.set("refresh", "", {
44
+ response.cookies.set(REFRESH_COOKIE_NAME, "", {
38
45
  secure: false,
39
46
  httpOnly: true,
40
47
  expires: 0
41
48
  });
42
49
  }
43
50
  if (refreshToken !== void 0) {
44
- response.cookies.set("refresh", refreshToken, {
51
+ response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
45
52
  secure: false,
46
53
  httpOnly: true,
47
54
  expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
@@ -72,7 +79,7 @@ var import_server2 = require("next/server");
72
79
  var getContext = (keys, req) => {
73
80
  const bearer = req.headers.get("authorization");
74
81
  if (!bearer) {
75
- const refresh = req.cookies.get("refresh")?.value;
82
+ const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
76
83
  const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
77
84
  if (userId) return { userId, isRefreshID: true };
78
85
  return { userId: null };
@@ -1,21 +1,28 @@
1
1
  // src/auth/email/token.ts
2
2
  import { compare } from "bcryptjs";
3
3
  import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
4
+ import { cookies } from "next/headers";
5
+ import { redirect } from "next/navigation";
4
6
  import { NextResponse } from "next/server";
7
+
8
+ // src/auth/constants.ts
9
+ var REFRESH_COOKIE_NAME = "refresh";
10
+
11
+ // src/auth/email/token.ts
5
12
  function getTokenizedResponse(accessToken, refreshToken) {
6
13
  const body = { accessToken, refreshToken };
7
14
  const response = NextResponse.json(body, {
8
15
  status: 200
9
16
  });
10
17
  if (!accessToken) {
11
- response.cookies.set("refresh", "", {
18
+ response.cookies.set(REFRESH_COOKIE_NAME, "", {
12
19
  secure: false,
13
20
  httpOnly: true,
14
21
  expires: 0
15
22
  });
16
23
  }
17
24
  if (refreshToken !== void 0) {
18
- response.cookies.set("refresh", refreshToken, {
25
+ response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
19
26
  secure: false,
20
27
  httpOnly: true,
21
28
  expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
@@ -46,7 +53,7 @@ import { NextResponse as NextResponse2 } from "next/server";
46
53
  var getContext = (keys, req) => {
47
54
  const bearer = req.headers.get("authorization");
48
55
  if (!bearer) {
49
- const refresh = req.cookies.get("refresh")?.value;
56
+ const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
50
57
  const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
51
58
  if (userId) return { userId, isRefreshID: true };
52
59
  return { userId: null };
@@ -24,9 +24,14 @@ __export(get_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(get_exports);
26
26
 
27
+ // src/auth/constants.ts
28
+ var REFRESH_COOKIE_NAME = "refresh";
29
+
27
30
  // src/auth/email/token.ts
28
31
  var import_bcryptjs = require("bcryptjs");
29
32
  var import_jsonwebtoken = require("jsonwebtoken");
33
+ var import_headers = require("next/headers");
34
+ var import_navigation = require("next/navigation");
30
35
  var import_server = require("next/server");
31
36
  function generateAccessToken(id, signingKey) {
32
37
  return (0, import_jsonwebtoken.sign)({ id }, signingKey, {
@@ -39,14 +44,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
39
44
  status: 200
40
45
  });
41
46
  if (!accessToken) {
42
- response.cookies.set("refresh", "", {
47
+ response.cookies.set(REFRESH_COOKIE_NAME, "", {
43
48
  secure: false,
44
49
  httpOnly: true,
45
50
  expires: 0
46
51
  });
47
52
  }
48
53
  if (refreshToken !== void 0) {
49
- response.cookies.set("refresh", refreshToken, {
54
+ response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
50
55
  secure: false,
51
56
  httpOnly: true,
52
57
  expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
@@ -69,7 +74,7 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
69
74
 
70
75
  // src/auth/email/routes/get.ts
71
76
  var getGetRoute = (options) => async (req) => {
72
- const refresh = req.cookies.get("refresh")?.value;
77
+ const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
73
78
  const userID = getUserIdFromRefreshToken(options.keys.refresh, refresh);
74
79
  if (userID) {
75
80
  if (options.onRefresh) {
@@ -1,6 +1,11 @@
1
+ // src/auth/constants.ts
2
+ var REFRESH_COOKIE_NAME = "refresh";
3
+
1
4
  // src/auth/email/token.ts
2
5
  import { compare } from "bcryptjs";
3
6
  import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
7
+ import { cookies } from "next/headers";
8
+ import { redirect } from "next/navigation";
4
9
  import { NextResponse } from "next/server";
5
10
  function generateAccessToken(id, signingKey) {
6
11
  return sign({ id }, signingKey, {
@@ -13,14 +18,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
13
18
  status: 200
14
19
  });
15
20
  if (!accessToken) {
16
- response.cookies.set("refresh", "", {
21
+ response.cookies.set(REFRESH_COOKIE_NAME, "", {
17
22
  secure: false,
18
23
  httpOnly: true,
19
24
  expires: 0
20
25
  });
21
26
  }
22
27
  if (refreshToken !== void 0) {
23
- response.cookies.set("refresh", refreshToken, {
28
+ response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
24
29
  secure: false,
25
30
  httpOnly: true,
26
31
  expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
@@ -43,7 +48,7 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
43
48
 
44
49
  // src/auth/email/routes/get.ts
45
50
  var getGetRoute = (options) => async (req) => {
46
- const refresh = req.cookies.get("refresh")?.value;
51
+ const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
47
52
  const userID = getUserIdFromRefreshToken(options.keys.refresh, refresh);
48
53
  if (userID) {
49
54
  if (options.onRefresh) {
@@ -36,7 +36,14 @@ function handleError(status, message, onError) {
36
36
  // src/auth/email/token.ts
37
37
  var import_bcryptjs = require("bcryptjs");
38
38
  var import_jsonwebtoken = require("jsonwebtoken");
39
+ var import_headers = require("next/headers");
40
+ var import_navigation = require("next/navigation");
39
41
  var import_server2 = require("next/server");
42
+
43
+ // src/auth/constants.ts
44
+ var REFRESH_COOKIE_NAME = "refresh";
45
+
46
+ // src/auth/email/token.ts
40
47
  function generateAccessToken(id, signingKey) {
41
48
  return (0, import_jsonwebtoken.sign)({ id }, signingKey, {
42
49
  expiresIn: "2h"
@@ -51,14 +58,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
51
58
  status: 200
52
59
  });
53
60
  if (!accessToken) {
54
- response.cookies.set("refresh", "", {
61
+ response.cookies.set(REFRESH_COOKIE_NAME, "", {
55
62
  secure: false,
56
63
  httpOnly: true,
57
64
  expires: 0
58
65
  });
59
66
  }
60
67
  if (refreshToken !== void 0) {
61
- response.cookies.set("refresh", refreshToken, {
68
+ response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
62
69
  secure: false,
63
70
  httpOnly: true,
64
71
  expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
@@ -12,7 +12,14 @@ function handleError(status, message, onError) {
12
12
  // src/auth/email/token.ts
13
13
  import { compare } from "bcryptjs";
14
14
  import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
15
+ import { cookies } from "next/headers";
16
+ import { redirect } from "next/navigation";
15
17
  import { NextResponse as NextResponse2 } from "next/server";
18
+
19
+ // src/auth/constants.ts
20
+ var REFRESH_COOKIE_NAME = "refresh";
21
+
22
+ // src/auth/email/token.ts
16
23
  function generateAccessToken(id, signingKey) {
17
24
  return sign({ id }, signingKey, {
18
25
  expiresIn: "2h"
@@ -27,14 +34,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
27
34
  status: 200
28
35
  });
29
36
  if (!accessToken) {
30
- response.cookies.set("refresh", "", {
37
+ response.cookies.set(REFRESH_COOKIE_NAME, "", {
31
38
  secure: false,
32
39
  httpOnly: true,
33
40
  expires: 0
34
41
  });
35
42
  }
36
43
  if (refreshToken !== void 0) {
37
- response.cookies.set("refresh", refreshToken, {
44
+ response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
38
45
  secure: false,
39
46
  httpOnly: true,
40
47
  expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
@@ -35,7 +35,14 @@ function handleError(status, message, onError) {
35
35
  // src/auth/email/token.ts
36
36
  var import_bcryptjs = require("bcryptjs");
37
37
  var import_jsonwebtoken = require("jsonwebtoken");
38
+ var import_headers = require("next/headers");
39
+ var import_navigation = require("next/navigation");
38
40
  var import_server2 = require("next/server");
41
+
42
+ // src/auth/constants.ts
43
+ var REFRESH_COOKIE_NAME = "refresh";
44
+
45
+ // src/auth/email/token.ts
39
46
  function generateAccessToken(id, signingKey) {
40
47
  return (0, import_jsonwebtoken.sign)({ id }, signingKey, {
41
48
  expiresIn: "2h"
@@ -50,14 +57,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
50
57
  status: 200
51
58
  });
52
59
  if (!accessToken) {
53
- response.cookies.set("refresh", "", {
60
+ response.cookies.set(REFRESH_COOKIE_NAME, "", {
54
61
  secure: false,
55
62
  httpOnly: true,
56
63
  expires: 0
57
64
  });
58
65
  }
59
66
  if (refreshToken !== void 0) {
60
- response.cookies.set("refresh", refreshToken, {
67
+ response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
61
68
  secure: false,
62
69
  httpOnly: true,
63
70
  expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
@@ -9,7 +9,14 @@ function handleError(status, message, onError) {
9
9
  // src/auth/email/token.ts
10
10
  import { compare } from "bcryptjs";
11
11
  import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
12
+ import { cookies } from "next/headers";
13
+ import { redirect } from "next/navigation";
12
14
  import { NextResponse as NextResponse2 } from "next/server";
15
+
16
+ // src/auth/constants.ts
17
+ var REFRESH_COOKIE_NAME = "refresh";
18
+
19
+ // src/auth/email/token.ts
13
20
  function generateAccessToken(id, signingKey) {
14
21
  return sign({ id }, signingKey, {
15
22
  expiresIn: "2h"
@@ -24,14 +31,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
24
31
  status: 200
25
32
  });
26
33
  if (!accessToken) {
27
- response.cookies.set("refresh", "", {
34
+ response.cookies.set(REFRESH_COOKIE_NAME, "", {
28
35
  secure: false,
29
36
  httpOnly: true,
30
37
  expires: 0
31
38
  });
32
39
  }
33
40
  if (refreshToken !== void 0) {
34
- response.cookies.set("refresh", refreshToken, {
41
+ response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
35
42
  secure: false,
36
43
  httpOnly: true,
37
44
  expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/auth/email/token.ts
21
21
  var token_exports = {};
22
22
  __export(token_exports, {
23
+ checkAuthStatus: () => checkAuthStatus,
23
24
  generateAccessToken: () => generateAccessToken,
24
25
  generateRefreshToken: () => generateRefreshToken,
25
26
  getTokenizedResponse: () => getTokenizedResponse,
@@ -30,7 +31,14 @@ __export(token_exports, {
30
31
  module.exports = __toCommonJS(token_exports);
31
32
  var import_bcryptjs = require("bcryptjs");
32
33
  var import_jsonwebtoken = require("jsonwebtoken");
34
+ var import_headers = require("next/headers");
35
+ var import_navigation = require("next/navigation");
33
36
  var import_server = require("next/server");
37
+
38
+ // src/auth/constants.ts
39
+ var REFRESH_COOKIE_NAME = "refresh";
40
+
41
+ // src/auth/email/token.ts
34
42
  function generateAccessToken(id, signingKey) {
35
43
  return (0, import_jsonwebtoken.sign)({ id }, signingKey, {
36
44
  expiresIn: "2h"
@@ -45,14 +53,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
45
53
  status: 200
46
54
  });
47
55
  if (!accessToken) {
48
- response.cookies.set("refresh", "", {
56
+ response.cookies.set(REFRESH_COOKIE_NAME, "", {
49
57
  secure: false,
50
58
  httpOnly: true,
51
59
  expires: 0
52
60
  });
53
61
  }
54
62
  if (refreshToken !== void 0) {
55
- response.cookies.set("refresh", refreshToken, {
63
+ response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
56
64
  secure: false,
57
65
  httpOnly: true,
58
66
  expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
@@ -88,8 +96,16 @@ function verifyUser(user, password) {
88
96
  if (!user.password) return false;
89
97
  return (0, import_bcryptjs.compare)(password, user.password);
90
98
  }
99
+ async function checkAuthStatus(redirectUnauthorizedURL) {
100
+ const Cookie = await (0, import_headers.cookies)();
101
+ const isAuthorized = !!Cookie.get(REFRESH_COOKIE_NAME)?.value;
102
+ if (!isAuthorized && redirectUnauthorizedURL)
103
+ return (0, import_navigation.redirect)(redirectUnauthorizedURL);
104
+ return isAuthorized;
105
+ }
91
106
  // Annotate the CommonJS export names for ESM import in node:
92
107
  0 && (module.exports = {
108
+ checkAuthStatus,
93
109
  generateAccessToken,
94
110
  generateRefreshToken,
95
111
  getTokenizedResponse,
@@ -10,5 +10,6 @@ declare function getTokenizedResponse(accessToken?: string, refreshToken?: strin
10
10
  declare function getUserIdFromRefreshToken(refreshKey: string, refreshToken?: string): number | null;
11
11
  declare function getUserIdFromAccessToken(refreshToken?: string): number | null;
12
12
  declare function verifyUser(user: UserOutput, password: string): false | Promise<boolean>;
13
+ declare function checkAuthStatus(redirectUnauthorizedURL?: string): Promise<boolean>;
13
14
 
14
- export { generateAccessToken, generateRefreshToken, getTokenizedResponse, getUserIdFromAccessToken, getUserIdFromRefreshToken, verifyUser };
15
+ export { checkAuthStatus, generateAccessToken, generateRefreshToken, getTokenizedResponse, getUserIdFromAccessToken, getUserIdFromRefreshToken, verifyUser };
@@ -10,5 +10,6 @@ declare function getTokenizedResponse(accessToken?: string, refreshToken?: strin
10
10
  declare function getUserIdFromRefreshToken(refreshKey: string, refreshToken?: string): number | null;
11
11
  declare function getUserIdFromAccessToken(refreshToken?: string): number | null;
12
12
  declare function verifyUser(user: UserOutput, password: string): false | Promise<boolean>;
13
+ declare function checkAuthStatus(redirectUnauthorizedURL?: string): Promise<boolean>;
13
14
 
14
- export { generateAccessToken, generateRefreshToken, getTokenizedResponse, getUserIdFromAccessToken, getUserIdFromRefreshToken, verifyUser };
15
+ export { checkAuthStatus, generateAccessToken, generateRefreshToken, getTokenizedResponse, getUserIdFromAccessToken, getUserIdFromRefreshToken, verifyUser };
@@ -1,7 +1,14 @@
1
1
  // src/auth/email/token.ts
2
2
  import { compare } from "bcryptjs";
3
3
  import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
4
+ import { cookies } from "next/headers";
5
+ import { redirect } from "next/navigation";
4
6
  import { NextResponse } from "next/server";
7
+
8
+ // src/auth/constants.ts
9
+ var REFRESH_COOKIE_NAME = "refresh";
10
+
11
+ // src/auth/email/token.ts
5
12
  function generateAccessToken(id, signingKey) {
6
13
  return sign({ id }, signingKey, {
7
14
  expiresIn: "2h"
@@ -16,14 +23,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
16
23
  status: 200
17
24
  });
18
25
  if (!accessToken) {
19
- response.cookies.set("refresh", "", {
26
+ response.cookies.set(REFRESH_COOKIE_NAME, "", {
20
27
  secure: false,
21
28
  httpOnly: true,
22
29
  expires: 0
23
30
  });
24
31
  }
25
32
  if (refreshToken !== void 0) {
26
- response.cookies.set("refresh", refreshToken, {
33
+ response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
27
34
  secure: false,
28
35
  httpOnly: true,
29
36
  expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
@@ -59,7 +66,15 @@ function verifyUser(user, password) {
59
66
  if (!user.password) return false;
60
67
  return compare(password, user.password);
61
68
  }
69
+ async function checkAuthStatus(redirectUnauthorizedURL) {
70
+ const Cookie = await cookies();
71
+ const isAuthorized = !!Cookie.get(REFRESH_COOKIE_NAME)?.value;
72
+ if (!isAuthorized && redirectUnauthorizedURL)
73
+ return redirect(redirectUnauthorizedURL);
74
+ return isAuthorized;
75
+ }
62
76
  export {
77
+ checkAuthStatus,
63
78
  generateAccessToken,
64
79
  generateRefreshToken,
65
80
  getTokenizedResponse,
@@ -30,7 +30,14 @@ var import_jsonwebtoken2 = require("jsonwebtoken");
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");
36
+
37
+ // src/auth/constants.ts
38
+ var REFRESH_COOKIE_NAME = "refresh";
39
+
40
+ // src/auth/email/token.ts
34
41
  function getUserIdFromRefreshToken(refreshKey, refreshToken) {
35
42
  if (refreshToken)
36
43
  try {
@@ -100,7 +107,7 @@ async function verifyCaptcha(token, secret) {
100
107
  var getContext = (keys, req) => {
101
108
  const bearer = req.headers.get("authorization");
102
109
  if (!bearer) {
103
- const refresh = req.cookies.get("refresh")?.value;
110
+ const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
104
111
  const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
105
112
  if (userId) return { userId, isRefreshID: true };
106
113
  return { userId: null };