naystack 1.8.3 → 1.8.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 (47) hide show
  1. package/dist/auth/client.cjs.js +51 -8
  2. package/dist/auth/client.d.mts +1 -0
  3. package/dist/auth/client.d.ts +1 -0
  4. package/dist/auth/client.esm.js +48 -8
  5. package/dist/auth/email/client.cjs.js +51 -8
  6. package/dist/auth/email/client.d.mts +1 -0
  7. package/dist/auth/email/client.d.ts +1 -0
  8. package/dist/auth/email/client.esm.js +48 -8
  9. package/dist/auth/email/index.cjs.js +4 -2
  10. package/dist/auth/email/index.d.mts +1 -0
  11. package/dist/auth/email/index.d.ts +1 -0
  12. package/dist/auth/email/index.esm.js +4 -2
  13. package/dist/auth/email/next.d.mts +1 -0
  14. package/dist/auth/email/next.d.ts +1 -0
  15. package/dist/auth/email/routes/delete.cjs.js +4 -2
  16. package/dist/auth/email/routes/delete.esm.js +4 -2
  17. package/dist/auth/email/routes/get.cjs.js +4 -2
  18. package/dist/auth/email/routes/get.esm.js +4 -2
  19. package/dist/auth/email/routes/post.cjs.js +4 -2
  20. package/dist/auth/email/routes/post.esm.js +4 -2
  21. package/dist/auth/email/routes/put.cjs.js +4 -2
  22. package/dist/auth/email/routes/put.esm.js +4 -2
  23. package/dist/auth/email/token.cjs.js +4 -2
  24. package/dist/auth/email/token.d.mts +2 -2
  25. package/dist/auth/email/token.d.ts +2 -2
  26. package/dist/auth/email/token.esm.js +4 -2
  27. package/dist/auth/google/get.cjs.js +3 -1
  28. package/dist/auth/google/get.esm.js +3 -1
  29. package/dist/auth/google/index.cjs.js +3 -1
  30. package/dist/auth/google/index.esm.js +3 -1
  31. package/dist/auth/index.cjs.js +4 -2
  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 +4 -2
  35. package/dist/auth/token-store.cjs.js +120 -0
  36. package/dist/auth/token-store.d.mts +42 -0
  37. package/dist/auth/token-store.d.ts +42 -0
  38. package/dist/auth/token-store.esm.js +90 -0
  39. package/dist/graphql/client.cjs.js +109 -35
  40. package/dist/graphql/client.esm.js +102 -29
  41. package/dist/graphql/links.cjs.js +154 -0
  42. package/dist/graphql/links.d.mts +14 -0
  43. package/dist/graphql/links.d.ts +14 -0
  44. package/dist/graphql/links.esm.js +129 -0
  45. package/dist/graphql/next.cjs.js +95 -21
  46. package/dist/graphql/next.esm.js +95 -21
  47. package/package.json +1 -1
@@ -34,6 +34,9 @@ __export(client_exports, {
34
34
  AuthApply: () => AuthApply,
35
35
  AuthWrapper: () => AuthWrapper,
36
36
  TokenContext: () => TokenContext,
37
+ getAccessToken: () => getAccessToken,
38
+ refreshAccessToken: () => refreshAccessToken,
39
+ setAccessToken: () => setAccessToken,
37
40
  useAuthFetch: () => useAuthFetch,
38
41
  useLogin: () => useLogin,
39
42
  useLogout: () => useLogout,
@@ -96,6 +99,41 @@ function getEnv(key, skipCheck) {
96
99
  return value;
97
100
  }
98
101
 
102
+ // src/auth/token-store.ts
103
+ var currentToken;
104
+ var listeners = /* @__PURE__ */ new Set();
105
+ var inFlightRefresh = null;
106
+ function getAccessToken() {
107
+ return currentToken;
108
+ }
109
+ function setAccessToken(token) {
110
+ if (token === currentToken) return;
111
+ currentToken = token;
112
+ listeners.forEach((listener) => listener(token));
113
+ }
114
+ function subscribeToAccessToken(listener) {
115
+ listeners.add(listener);
116
+ return () => {
117
+ listeners.delete(listener);
118
+ };
119
+ }
120
+ function refreshAccessToken() {
121
+ if (inFlightRefresh) return inFlightRefresh;
122
+ inFlightRefresh = (async () => {
123
+ const res = await fetch(
124
+ getEnv("NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */),
125
+ { credentials: "include" }
126
+ );
127
+ if (!res.ok) throw new Error(`Token refresh failed: ${res.status}`);
128
+ const token = await res.text() || null;
129
+ setAccessToken(token);
130
+ return token;
131
+ })().finally(() => {
132
+ inFlightRefresh = null;
133
+ });
134
+ return inFlightRefresh;
135
+ }
136
+
99
137
  // src/auth/email/client.tsx
100
138
  var TokenContext = (0, import_react.createContext)({
101
139
  token: void 0,
@@ -105,7 +143,15 @@ var AuthWrapper = ({
105
143
  children,
106
144
  skipInitialFetch
107
145
  }) => {
108
- const [token, setToken] = (0, import_react.useState)();
146
+ const [token, setTokenState] = (0, import_react.useState)(
147
+ getAccessToken
148
+ );
149
+ (0, import_react.useEffect)(() => subscribeToAccessToken(setTokenState), []);
150
+ const setToken = (0, import_react.useCallback)((action) => {
151
+ setAccessToken(
152
+ typeof action === "function" ? action(getAccessToken()) : action
153
+ );
154
+ }, []);
109
155
  return /* @__PURE__ */ import_react.default.createElement(TokenContext.Provider, { value: { token, setToken } }, !skipInitialFetch && /* @__PURE__ */ import_react.default.createElement(AuthChildComponent, null), children);
110
156
  };
111
157
  function AuthChildComponent() {
@@ -113,15 +159,9 @@ function AuthChildComponent() {
113
159
  return null;
114
160
  }
115
161
  function useAuthFetch({ skip } = {}) {
116
- const setToken = useSetToken();
117
- const fetchToken = async () => {
118
- fetch(getEnv("NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */), {
119
- credentials: "include"
120
- }).then((res) => res.text()).then((accessToken) => setToken(accessToken || null));
121
- };
122
162
  (0, import_react.useEffect)(() => {
123
163
  if (skip) return;
124
- fetchToken();
164
+ void refreshAccessToken().catch(() => null);
125
165
  }, []);
126
166
  }
127
167
  function AuthApply({ data }) {
@@ -204,6 +244,9 @@ function useLogout() {
204
244
  AuthApply,
205
245
  AuthWrapper,
206
246
  TokenContext,
247
+ getAccessToken,
248
+ refreshAccessToken,
249
+ setAccessToken,
207
250
  useAuthFetch,
208
251
  useLogin,
209
252
  useLogout,
@@ -1,2 +1,3 @@
1
1
  export { AuthApply, AuthWrapper, AuthWrapperProps, TokenContext, useAuthFetch, useLogin, useLogout, useSetToken, useSignUp, useToken } from './email/client.mjs';
2
+ export { getAccessToken, refreshAccessToken, setAccessToken } from './token-store.mjs';
2
3
  import 'react';
@@ -1,2 +1,3 @@
1
1
  export { AuthApply, AuthWrapper, AuthWrapperProps, TokenContext, useAuthFetch, useLogin, useLogout, useSetToken, useSignUp, useToken } from './email/client.js';
2
+ export { getAccessToken, refreshAccessToken, setAccessToken } from './token-store.js';
2
3
  import 'react';
@@ -59,6 +59,41 @@ function getEnv(key, skipCheck) {
59
59
  return value;
60
60
  }
61
61
 
62
+ // src/auth/token-store.ts
63
+ var currentToken;
64
+ var listeners = /* @__PURE__ */ new Set();
65
+ var inFlightRefresh = null;
66
+ function getAccessToken() {
67
+ return currentToken;
68
+ }
69
+ function setAccessToken(token) {
70
+ if (token === currentToken) return;
71
+ currentToken = token;
72
+ listeners.forEach((listener) => listener(token));
73
+ }
74
+ function subscribeToAccessToken(listener) {
75
+ listeners.add(listener);
76
+ return () => {
77
+ listeners.delete(listener);
78
+ };
79
+ }
80
+ function refreshAccessToken() {
81
+ if (inFlightRefresh) return inFlightRefresh;
82
+ inFlightRefresh = (async () => {
83
+ const res = await fetch(
84
+ getEnv("NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */),
85
+ { credentials: "include" }
86
+ );
87
+ if (!res.ok) throw new Error(`Token refresh failed: ${res.status}`);
88
+ const token = await res.text() || null;
89
+ setAccessToken(token);
90
+ return token;
91
+ })().finally(() => {
92
+ inFlightRefresh = null;
93
+ });
94
+ return inFlightRefresh;
95
+ }
96
+
62
97
  // src/auth/email/client.tsx
63
98
  var TokenContext = createContext({
64
99
  token: void 0,
@@ -68,7 +103,15 @@ var AuthWrapper = ({
68
103
  children,
69
104
  skipInitialFetch
70
105
  }) => {
71
- const [token, setToken] = useState();
106
+ const [token, setTokenState] = useState(
107
+ getAccessToken
108
+ );
109
+ useEffect(() => subscribeToAccessToken(setTokenState), []);
110
+ const setToken = useCallback((action) => {
111
+ setAccessToken(
112
+ typeof action === "function" ? action(getAccessToken()) : action
113
+ );
114
+ }, []);
72
115
  return /* @__PURE__ */ React.createElement(TokenContext.Provider, { value: { token, setToken } }, !skipInitialFetch && /* @__PURE__ */ React.createElement(AuthChildComponent, null), children);
73
116
  };
74
117
  function AuthChildComponent() {
@@ -76,15 +119,9 @@ function AuthChildComponent() {
76
119
  return null;
77
120
  }
78
121
  function useAuthFetch({ skip } = {}) {
79
- const setToken = useSetToken();
80
- const fetchToken = async () => {
81
- fetch(getEnv("NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */), {
82
- credentials: "include"
83
- }).then((res) => res.text()).then((accessToken) => setToken(accessToken || null));
84
- };
85
122
  useEffect(() => {
86
123
  if (skip) return;
87
- fetchToken();
124
+ void refreshAccessToken().catch(() => null);
88
125
  }, []);
89
126
  }
90
127
  function AuthApply({ data }) {
@@ -166,6 +203,9 @@ export {
166
203
  AuthApply,
167
204
  AuthWrapper,
168
205
  TokenContext,
206
+ getAccessToken,
207
+ refreshAccessToken,
208
+ setAccessToken,
169
209
  useAuthFetch,
170
210
  useLogin,
171
211
  useLogout,
@@ -34,6 +34,9 @@ __export(client_exports, {
34
34
  AuthApply: () => AuthApply,
35
35
  AuthWrapper: () => AuthWrapper,
36
36
  TokenContext: () => TokenContext,
37
+ getAccessToken: () => getAccessToken,
38
+ refreshAccessToken: () => refreshAccessToken,
39
+ setAccessToken: () => setAccessToken,
37
40
  useAuthFetch: () => useAuthFetch,
38
41
  useLogin: () => useLogin,
39
42
  useLogout: () => useLogout,
@@ -94,6 +97,41 @@ function getEnv(key, skipCheck) {
94
97
  return value;
95
98
  }
96
99
 
100
+ // src/auth/token-store.ts
101
+ var currentToken;
102
+ var listeners = /* @__PURE__ */ new Set();
103
+ var inFlightRefresh = null;
104
+ function getAccessToken() {
105
+ return currentToken;
106
+ }
107
+ function setAccessToken(token) {
108
+ if (token === currentToken) return;
109
+ currentToken = token;
110
+ listeners.forEach((listener) => listener(token));
111
+ }
112
+ function subscribeToAccessToken(listener) {
113
+ listeners.add(listener);
114
+ return () => {
115
+ listeners.delete(listener);
116
+ };
117
+ }
118
+ function refreshAccessToken() {
119
+ if (inFlightRefresh) return inFlightRefresh;
120
+ inFlightRefresh = (async () => {
121
+ const res = await fetch(
122
+ getEnv("NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */),
123
+ { credentials: "include" }
124
+ );
125
+ if (!res.ok) throw new Error(`Token refresh failed: ${res.status}`);
126
+ const token = await res.text() || null;
127
+ setAccessToken(token);
128
+ return token;
129
+ })().finally(() => {
130
+ inFlightRefresh = null;
131
+ });
132
+ return inFlightRefresh;
133
+ }
134
+
97
135
  // src/auth/email/client.tsx
98
136
  var TokenContext = (0, import_react.createContext)({
99
137
  token: void 0,
@@ -103,7 +141,15 @@ var AuthWrapper = ({
103
141
  children,
104
142
  skipInitialFetch
105
143
  }) => {
106
- const [token, setToken] = (0, import_react.useState)();
144
+ const [token, setTokenState] = (0, import_react.useState)(
145
+ getAccessToken
146
+ );
147
+ (0, import_react.useEffect)(() => subscribeToAccessToken(setTokenState), []);
148
+ const setToken = (0, import_react.useCallback)((action) => {
149
+ setAccessToken(
150
+ typeof action === "function" ? action(getAccessToken()) : action
151
+ );
152
+ }, []);
107
153
  return /* @__PURE__ */ import_react.default.createElement(TokenContext.Provider, { value: { token, setToken } }, !skipInitialFetch && /* @__PURE__ */ import_react.default.createElement(AuthChildComponent, null), children);
108
154
  };
109
155
  function AuthChildComponent() {
@@ -111,15 +157,9 @@ function AuthChildComponent() {
111
157
  return null;
112
158
  }
113
159
  function useAuthFetch({ skip } = {}) {
114
- const setToken = useSetToken();
115
- const fetchToken = async () => {
116
- fetch(getEnv("NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */), {
117
- credentials: "include"
118
- }).then((res) => res.text()).then((accessToken) => setToken(accessToken || null));
119
- };
120
160
  (0, import_react.useEffect)(() => {
121
161
  if (skip) return;
122
- fetchToken();
162
+ void refreshAccessToken().catch(() => null);
123
163
  }, []);
124
164
  }
125
165
  function AuthApply({ data }) {
@@ -202,6 +242,9 @@ function useLogout() {
202
242
  AuthApply,
203
243
  AuthWrapper,
204
244
  TokenContext,
245
+ getAccessToken,
246
+ refreshAccessToken,
247
+ setAccessToken,
205
248
  useAuthFetch,
206
249
  useLogin,
207
250
  useLogout,
@@ -1,4 +1,5 @@
1
1
  import React__default, { Dispatch, SetStateAction, PropsWithChildren } from 'react';
2
+ export { getAccessToken, refreshAccessToken, setAccessToken } from '../token-store.mjs';
2
3
 
3
4
  /**
4
5
  * React context holding the current access token and setter; used by useToken/useSetToken and auth hooks.
@@ -1,4 +1,5 @@
1
1
  import React__default, { Dispatch, SetStateAction, PropsWithChildren } from 'react';
2
+ export { getAccessToken, refreshAccessToken, setAccessToken } from '../token-store.js';
2
3
 
3
4
  /**
4
5
  * React context holding the current access token and setter; used by useToken/useSetToken and auth hooks.
@@ -59,6 +59,41 @@ function getEnv(key, skipCheck) {
59
59
  return value;
60
60
  }
61
61
 
62
+ // src/auth/token-store.ts
63
+ var currentToken;
64
+ var listeners = /* @__PURE__ */ new Set();
65
+ var inFlightRefresh = null;
66
+ function getAccessToken() {
67
+ return currentToken;
68
+ }
69
+ function setAccessToken(token) {
70
+ if (token === currentToken) return;
71
+ currentToken = token;
72
+ listeners.forEach((listener) => listener(token));
73
+ }
74
+ function subscribeToAccessToken(listener) {
75
+ listeners.add(listener);
76
+ return () => {
77
+ listeners.delete(listener);
78
+ };
79
+ }
80
+ function refreshAccessToken() {
81
+ if (inFlightRefresh) return inFlightRefresh;
82
+ inFlightRefresh = (async () => {
83
+ const res = await fetch(
84
+ getEnv("NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */),
85
+ { credentials: "include" }
86
+ );
87
+ if (!res.ok) throw new Error(`Token refresh failed: ${res.status}`);
88
+ const token = await res.text() || null;
89
+ setAccessToken(token);
90
+ return token;
91
+ })().finally(() => {
92
+ inFlightRefresh = null;
93
+ });
94
+ return inFlightRefresh;
95
+ }
96
+
62
97
  // src/auth/email/client.tsx
63
98
  var TokenContext = createContext({
64
99
  token: void 0,
@@ -68,7 +103,15 @@ var AuthWrapper = ({
68
103
  children,
69
104
  skipInitialFetch
70
105
  }) => {
71
- const [token, setToken] = useState();
106
+ const [token, setTokenState] = useState(
107
+ getAccessToken
108
+ );
109
+ useEffect(() => subscribeToAccessToken(setTokenState), []);
110
+ const setToken = useCallback((action) => {
111
+ setAccessToken(
112
+ typeof action === "function" ? action(getAccessToken()) : action
113
+ );
114
+ }, []);
72
115
  return /* @__PURE__ */ React.createElement(TokenContext.Provider, { value: { token, setToken } }, !skipInitialFetch && /* @__PURE__ */ React.createElement(AuthChildComponent, null), children);
73
116
  };
74
117
  function AuthChildComponent() {
@@ -76,15 +119,9 @@ function AuthChildComponent() {
76
119
  return null;
77
120
  }
78
121
  function useAuthFetch({ skip } = {}) {
79
- const setToken = useSetToken();
80
- const fetchToken = async () => {
81
- fetch(getEnv("NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */), {
82
- credentials: "include"
83
- }).then((res) => res.text()).then((accessToken) => setToken(accessToken || null));
84
- };
85
122
  useEffect(() => {
86
123
  if (skip) return;
87
- fetchToken();
124
+ void refreshAccessToken().catch(() => null);
88
125
  }, []);
89
126
  }
90
127
  function AuthApply({ data }) {
@@ -166,6 +203,9 @@ export {
166
203
  AuthApply,
167
204
  AuthWrapper,
168
205
  TokenContext,
206
+ getAccessToken,
207
+ refreshAccessToken,
208
+ setAccessToken,
169
209
  useAuthFetch,
170
210
  useLogin,
171
211
  useLogout,
@@ -143,11 +143,13 @@ function getEnv(key, skipCheck) {
143
143
  // src/auth/email/token.ts
144
144
  function generateAccessToken(id) {
145
145
  return (0, import_jsonwebtoken.sign)({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
146
- expiresIn: "2h"
146
+ expiresIn: "24h"
147
147
  });
148
148
  }
149
149
  function generateRefreshToken(id) {
150
- return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
150
+ return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
151
+ expiresIn: "365d"
152
+ });
151
153
  }
152
154
  function getTokenizedResponse(id) {
153
155
  const accessToken = id ? generateAccessToken(id) : void 0;
@@ -6,6 +6,7 @@ export { getContext } from './utils.mjs';
6
6
  import '../types.mjs';
7
7
  import 'react';
8
8
  import './client.mjs';
9
+ import '../token-store.mjs';
9
10
  import '../../graphql/types.mjs';
10
11
 
11
12
  /**
@@ -6,6 +6,7 @@ export { getContext } from './utils.js';
6
6
  import '../types.js';
7
7
  import 'react';
8
8
  import './client.js';
9
+ import '../token-store.js';
9
10
  import '../../graphql/types.js';
10
11
 
11
12
  /**
@@ -104,11 +104,13 @@ function getEnv(key, skipCheck) {
104
104
  // src/auth/email/token.ts
105
105
  function generateAccessToken(id) {
106
106
  return sign({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
107
- expiresIn: "2h"
107
+ expiresIn: "24h"
108
108
  });
109
109
  }
110
110
  function generateRefreshToken(id) {
111
- return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
111
+ return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
112
+ expiresIn: "365d"
113
+ });
112
114
  }
113
115
  function getTokenizedResponse(id) {
114
116
  const accessToken = id ? generateAccessToken(id) : void 0;
@@ -1,5 +1,6 @@
1
1
  import React__default from 'react';
2
2
  import { AuthWrapperProps } from './client.mjs';
3
+ import '../token-store.mjs';
3
4
 
4
5
  declare function AuthFetch(): React__default.JSX.Element;
5
6
  declare function AuthWrapper({ children, skipInitialFetch }: AuthWrapperProps): React__default.JSX.Element;
@@ -1,5 +1,6 @@
1
1
  import React__default from 'react';
2
2
  import { AuthWrapperProps } from './client.js';
3
+ import '../token-store.js';
3
4
 
4
5
  declare function AuthFetch(): React__default.JSX.Element;
5
6
  declare function AuthWrapper({ children, skipInitialFetch }: AuthWrapperProps): React__default.JSX.Element;
@@ -87,11 +87,13 @@ var REFRESH_COOKIE_NAME = "refresh";
87
87
  // src/auth/email/token.ts
88
88
  function generateAccessToken(id) {
89
89
  return (0, import_jsonwebtoken.sign)({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
90
- expiresIn: "2h"
90
+ expiresIn: "24h"
91
91
  });
92
92
  }
93
93
  function generateRefreshToken(id) {
94
- return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
94
+ return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
95
+ expiresIn: "365d"
96
+ });
95
97
  }
96
98
  function getTokenizedResponse(id) {
97
99
  const accessToken = id ? generateAccessToken(id) : void 0;
@@ -61,11 +61,13 @@ var REFRESH_COOKIE_NAME = "refresh";
61
61
  // src/auth/email/token.ts
62
62
  function generateAccessToken(id) {
63
63
  return sign({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
64
- expiresIn: "2h"
64
+ expiresIn: "24h"
65
65
  });
66
66
  }
67
67
  function generateRefreshToken(id) {
68
- return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
68
+ return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
69
+ expiresIn: "365d"
70
+ });
69
71
  }
70
72
  function getTokenizedResponse(id) {
71
73
  const accessToken = id ? generateAccessToken(id) : void 0;
@@ -87,11 +87,13 @@ function getEnv(key, skipCheck) {
87
87
  // src/auth/email/token.ts
88
88
  function generateAccessToken(id) {
89
89
  return (0, import_jsonwebtoken.sign)({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
90
- expiresIn: "2h"
90
+ expiresIn: "24h"
91
91
  });
92
92
  }
93
93
  function generateRefreshToken(id) {
94
- return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
94
+ return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
95
+ expiresIn: "365d"
96
+ });
95
97
  }
96
98
  function getTokenizedResponse(id) {
97
99
  const accessToken = id ? generateAccessToken(id) : void 0;
@@ -61,11 +61,13 @@ function getEnv(key, skipCheck) {
61
61
  // src/auth/email/token.ts
62
62
  function generateAccessToken(id) {
63
63
  return sign({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
64
- expiresIn: "2h"
64
+ expiresIn: "24h"
65
65
  });
66
66
  }
67
67
  function generateRefreshToken(id) {
68
- return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
68
+ return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
69
+ expiresIn: "365d"
70
+ });
69
71
  }
70
72
  function getTokenizedResponse(id) {
71
73
  const accessToken = id ? generateAccessToken(id) : void 0;
@@ -96,11 +96,13 @@ var REFRESH_COOKIE_NAME = "refresh";
96
96
  // src/auth/email/token.ts
97
97
  function generateAccessToken(id) {
98
98
  return (0, import_jsonwebtoken.sign)({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
99
- expiresIn: "2h"
99
+ expiresIn: "24h"
100
100
  });
101
101
  }
102
102
  function generateRefreshToken(id) {
103
- return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
103
+ return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
104
+ expiresIn: "365d"
105
+ });
104
106
  }
105
107
  function getTokenizedResponse(id) {
106
108
  const accessToken = id ? generateAccessToken(id) : void 0;
@@ -72,11 +72,13 @@ var REFRESH_COOKIE_NAME = "refresh";
72
72
  // src/auth/email/token.ts
73
73
  function generateAccessToken(id) {
74
74
  return sign({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
75
- expiresIn: "2h"
75
+ expiresIn: "24h"
76
76
  });
77
77
  }
78
78
  function generateRefreshToken(id) {
79
- return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
79
+ return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
80
+ expiresIn: "365d"
81
+ });
80
82
  }
81
83
  function getTokenizedResponse(id) {
82
84
  const accessToken = id ? generateAccessToken(id) : void 0;
@@ -95,11 +95,13 @@ var REFRESH_COOKIE_NAME = "refresh";
95
95
  // src/auth/email/token.ts
96
96
  function generateAccessToken(id) {
97
97
  return (0, import_jsonwebtoken.sign)({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
98
- expiresIn: "2h"
98
+ expiresIn: "24h"
99
99
  });
100
100
  }
101
101
  function generateRefreshToken(id) {
102
- return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
102
+ return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
103
+ expiresIn: "365d"
104
+ });
103
105
  }
104
106
  function getTokenizedResponse(id) {
105
107
  const accessToken = id ? generateAccessToken(id) : void 0;
@@ -69,11 +69,13 @@ var REFRESH_COOKIE_NAME = "refresh";
69
69
  // src/auth/email/token.ts
70
70
  function generateAccessToken(id) {
71
71
  return sign({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
72
- expiresIn: "2h"
72
+ expiresIn: "24h"
73
73
  });
74
74
  }
75
75
  function generateRefreshToken(id) {
76
- return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
76
+ return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
77
+ expiresIn: "365d"
78
+ });
77
79
  }
78
80
  function getTokenizedResponse(id) {
79
81
  const accessToken = id ? generateAccessToken(id) : void 0;
@@ -91,11 +91,13 @@ var REFRESH_COOKIE_NAME = "refresh";
91
91
  // src/auth/email/token.ts
92
92
  function generateAccessToken(id) {
93
93
  return (0, import_jsonwebtoken.sign)({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
94
- expiresIn: "2h"
94
+ expiresIn: "24h"
95
95
  });
96
96
  }
97
97
  function generateRefreshToken(id) {
98
- return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
98
+ return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
99
+ expiresIn: "365d"
100
+ });
99
101
  }
100
102
  function getTokenizedResponse(id) {
101
103
  const accessToken = id ? generateAccessToken(id) : void 0;
@@ -2,14 +2,14 @@ import { NextResponse } from 'next/server';
2
2
  import { UserOutput } from '../types.mjs';
3
3
 
4
4
  /**
5
- * Generates a JWT access token for the user (2-hour expiry).
5
+ * Generates a JWT access token for the user (24-hour expiry).
6
6
  * @param id - User id to encode in the JWT payload.
7
7
  * @returns Signed JWT string.
8
8
  * @category Auth
9
9
  */
10
10
  declare function generateAccessToken(id: number): string;
11
11
  /**
12
- * Generates a JWT refresh token for the user (no expiry persisted in httpOnly cookie).
12
+ * Generates a JWT refresh token for the user (1-year expiry, matching the httpOnly cookie).
13
13
  * @param id - User id to encode in the JWT payload.
14
14
  * @returns Signed JWT string.
15
15
  * @category Auth
@@ -2,14 +2,14 @@ import { NextResponse } from 'next/server';
2
2
  import { UserOutput } from '../types.js';
3
3
 
4
4
  /**
5
- * Generates a JWT access token for the user (2-hour expiry).
5
+ * Generates a JWT access token for the user (24-hour expiry).
6
6
  * @param id - User id to encode in the JWT payload.
7
7
  * @returns Signed JWT string.
8
8
  * @category Auth
9
9
  */
10
10
  declare function generateAccessToken(id: number): string;
11
11
  /**
12
- * Generates a JWT refresh token for the user (no expiry persisted in httpOnly cookie).
12
+ * Generates a JWT refresh token for the user (1-year expiry, matching the httpOnly cookie).
13
13
  * @param id - User id to encode in the JWT payload.
14
14
  * @returns Signed JWT string.
15
15
  * @category Auth
@@ -61,11 +61,13 @@ var REFRESH_COOKIE_NAME = "refresh";
61
61
  // src/auth/email/token.ts
62
62
  function generateAccessToken(id) {
63
63
  return sign({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
64
- expiresIn: "2h"
64
+ expiresIn: "24h"
65
65
  });
66
66
  }
67
67
  function generateRefreshToken(id) {
68
- return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
68
+ return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
69
+ expiresIn: "365d"
70
+ });
69
71
  }
70
72
  function getTokenizedResponse(id) {
71
73
  const accessToken = id ? generateAccessToken(id) : void 0;
@@ -89,7 +89,9 @@ var REFRESH_COOKIE_NAME = "refresh";
89
89
 
90
90
  // src/auth/email/token.ts
91
91
  function generateRefreshToken(id) {
92
- return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
92
+ return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
93
+ expiresIn: "365d"
94
+ });
93
95
  }
94
96
 
95
97
  // src/auth/google/get.ts