naystack 1.7.1 → 1.7.3
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/README.md +6 -6
- package/dist/auth/client.cjs.js +230 -0
- package/dist/auth/client.d.mts +3 -0
- package/dist/auth/client.d.ts +3 -0
- package/dist/auth/client.esm.js +190 -0
- package/dist/auth/email/client.cjs.js +6 -2
- package/dist/auth/email/client.d.mts +17 -12
- package/dist/auth/email/client.d.ts +17 -12
- package/dist/auth/email/client.esm.js +6 -2
- package/dist/auth/email/index.cjs.js +8 -3
- package/dist/auth/email/index.d.mts +2 -1
- package/dist/auth/email/index.d.ts +2 -1
- package/dist/auth/email/index.esm.js +7 -3
- package/dist/auth/email/{server.cjs.js → next.cjs.js} +16 -7
- package/dist/auth/email/next.d.mts +7 -0
- package/dist/auth/email/next.d.ts +7 -0
- package/dist/auth/email/{server.esm.js → next.esm.js} +8 -4
- package/dist/auth/index.cjs.js +13 -13
- package/dist/auth/index.d.mts +2 -1
- package/dist/auth/index.d.ts +2 -1
- package/dist/auth/index.esm.js +3 -3
- package/dist/file/client.cjs.js +1 -1
- package/dist/file/client.esm.js +1 -1
- package/dist/graphql/client.cjs.js +1 -1
- package/dist/graphql/client.esm.js +1 -1
- package/dist/graphql/index.cjs.js +74 -0
- package/dist/graphql/index.d.mts +5 -0
- package/dist/graphql/index.d.ts +5 -0
- package/dist/graphql/index.esm.js +79 -0
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/{client → utils/client}/hooks.cjs.js +1 -1
- package/dist/{client → utils/client}/hooks.esm.js +1 -1
- package/dist/{client → utils/client}/index.cjs.js +3 -3
- package/dist/{client → utils/client}/index.esm.js +2 -2
- package/dist/{client → utils/client}/seo.cjs.js +2 -2
- package/dist/{client → utils/client}/seo.esm.js +1 -1
- package/package.json +17 -32
- package/dist/auth/email/server.d.mts +0 -5
- package/dist/auth/email/server.d.ts +0 -5
- /package/dist/{client → utils/client}/hooks.d.mts +0 -0
- /package/dist/{client → utils/client}/hooks.d.ts +0 -0
- /package/dist/{client → utils/client}/index.d.mts +0 -0
- /package/dist/{client → utils/client}/index.d.ts +0 -0
- /package/dist/{client → utils/client}/seo.d.mts +0 -0
- /package/dist/{client → utils/client}/seo.d.ts +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default, { Dispatch, SetStateAction } from 'react';
|
|
1
|
+
import React__default, { Dispatch, SetStateAction, PropsWithChildren } from 'react';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* React context holding the current access token and setter; used by useToken/useSetToken and auth hooks.
|
|
@@ -8,6 +8,11 @@ declare const TokenContext: React__default.Context<{
|
|
|
8
8
|
token: string | null | undefined;
|
|
9
9
|
setToken: Dispatch<SetStateAction<string | null | undefined>>;
|
|
10
10
|
}>;
|
|
11
|
+
type AuthWrapperProps = PropsWithChildren<{
|
|
12
|
+
onTokenUpdate?: (token: string | null) => void;
|
|
13
|
+
getRefreshToken?: () => Promise<string | null>;
|
|
14
|
+
skipInitialFetch?: boolean;
|
|
15
|
+
}>;
|
|
11
16
|
/**
|
|
12
17
|
* Provider that fetches the current access token from your auth endpoint and exposes it via TokenContext.
|
|
13
18
|
* Wrap your app (or the part that needs auth) so that `useToken()`, `useLogin()`, `useSignUp()`, `useLogout()` work.
|
|
@@ -22,7 +27,7 @@ declare const TokenContext: React__default.Context<{
|
|
|
22
27
|
* @example
|
|
23
28
|
* ```tsx
|
|
24
29
|
* // app/layout.tsx
|
|
25
|
-
* import { AuthWrapper } from "naystack/auth/
|
|
30
|
+
* import { AuthWrapper } from "naystack/auth/client";
|
|
26
31
|
* import { ApolloWrapper } from "naystack/graphql/client";
|
|
27
32
|
*
|
|
28
33
|
* export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
@@ -40,10 +45,7 @@ declare const TokenContext: React__default.Context<{
|
|
|
40
45
|
*
|
|
41
46
|
* @category Auth
|
|
42
47
|
*/
|
|
43
|
-
declare const AuthWrapper: ({ children, onTokenUpdate, }:
|
|
44
|
-
children: React__default.ReactNode;
|
|
45
|
-
onTokenUpdate?: (token: string | null) => void;
|
|
46
|
-
}) => React__default.JSX.Element;
|
|
48
|
+
declare const AuthWrapper: ({ children, onTokenUpdate, getRefreshToken, skipInitialFetch }: AuthWrapperProps) => React__default.JSX.Element;
|
|
47
49
|
/**
|
|
48
50
|
* Fetches the access token on mount by calling the auth endpoint. Stores the result in TokenContext.
|
|
49
51
|
* Used internally by auth setup; prefer `AuthWrapper` for typical usage.
|
|
@@ -52,7 +54,10 @@ declare const AuthWrapper: ({ children, onTokenUpdate, }: {
|
|
|
52
54
|
*
|
|
53
55
|
* @category Auth
|
|
54
56
|
*/
|
|
55
|
-
declare function useAuthFetch(getRefreshToken
|
|
57
|
+
declare function useAuthFetch({ getRefreshToken, skip }: {
|
|
58
|
+
getRefreshToken?: () => Promise<string | null>;
|
|
59
|
+
skip?: boolean;
|
|
60
|
+
}): void;
|
|
56
61
|
/**
|
|
57
62
|
* Component that applies a server-provided access token into TokenContext on mount.
|
|
58
63
|
* Useful for hydrating auth state from server-side rendering.
|
|
@@ -73,7 +78,7 @@ declare function AuthApply({ data }: {
|
|
|
73
78
|
*
|
|
74
79
|
* @example
|
|
75
80
|
* ```tsx
|
|
76
|
-
* import { useToken } from "naystack/auth/
|
|
81
|
+
* import { useToken } from "naystack/auth/client";
|
|
77
82
|
*
|
|
78
83
|
* function Navbar() {
|
|
79
84
|
* const token = useToken();
|
|
@@ -112,7 +117,7 @@ declare function useSetToken(): React__default.Dispatch<React__default.SetStateA
|
|
|
112
117
|
*
|
|
113
118
|
* @example
|
|
114
119
|
* ```tsx
|
|
115
|
-
* import { useSignUp } from "naystack/auth/
|
|
120
|
+
* import { useSignUp } from "naystack/auth/client";
|
|
116
121
|
*
|
|
117
122
|
* function SignUpForm() {
|
|
118
123
|
* const signUp = useSignUp();
|
|
@@ -139,7 +144,7 @@ declare function useSignUp(): (data: object) => Promise<string | null>;
|
|
|
139
144
|
*
|
|
140
145
|
* @example
|
|
141
146
|
* ```tsx
|
|
142
|
-
* import { useLogin } from "naystack/auth/
|
|
147
|
+
* import { useLogin } from "naystack/auth/client";
|
|
143
148
|
*
|
|
144
149
|
* function LoginForm() {
|
|
145
150
|
* const login = useLogin();
|
|
@@ -166,7 +171,7 @@ declare function useLogin(): (data: object) => Promise<string | null>;
|
|
|
166
171
|
*
|
|
167
172
|
* @example
|
|
168
173
|
* ```tsx
|
|
169
|
-
* import { useLogout } from "naystack/auth/
|
|
174
|
+
* import { useLogout } from "naystack/auth/client";
|
|
170
175
|
*
|
|
171
176
|
* function SettingsPage() {
|
|
172
177
|
* const logout = useLogout();
|
|
@@ -184,4 +189,4 @@ declare function useLogin(): (data: object) => Promise<string | null>;
|
|
|
184
189
|
*/
|
|
185
190
|
declare function useLogout(): (data?: object) => Promise<void>;
|
|
186
191
|
|
|
187
|
-
export { AuthApply, AuthWrapper, TokenContext, useAuthFetch, useLogin, useLogout, useSetToken, useSignUp, useToken };
|
|
192
|
+
export { AuthApply, AuthWrapper, type AuthWrapperProps, TokenContext, useAuthFetch, useLogin, useLogout, useSetToken, useSignUp, useToken };
|
|
@@ -69,9 +69,12 @@ var TokenContext = createContext({
|
|
|
69
69
|
});
|
|
70
70
|
var AuthWrapper = ({
|
|
71
71
|
children,
|
|
72
|
-
onTokenUpdate
|
|
72
|
+
onTokenUpdate,
|
|
73
|
+
getRefreshToken,
|
|
74
|
+
skipInitialFetch
|
|
73
75
|
}) => {
|
|
74
76
|
const [token, setToken] = useState();
|
|
77
|
+
useAuthFetch({ getRefreshToken, skip: skipInitialFetch });
|
|
75
78
|
useEffect(() => {
|
|
76
79
|
if (onTokenUpdate && token !== void 0) {
|
|
77
80
|
onTokenUpdate(token);
|
|
@@ -79,7 +82,7 @@ var AuthWrapper = ({
|
|
|
79
82
|
}, [token]);
|
|
80
83
|
return /* @__PURE__ */ React.createElement(TokenContext.Provider, { value: { token, setToken } }, children);
|
|
81
84
|
};
|
|
82
|
-
function useAuthFetch(getRefreshToken) {
|
|
85
|
+
function useAuthFetch({ getRefreshToken, skip }) {
|
|
83
86
|
const setToken = useSetToken();
|
|
84
87
|
const fetchToken = async () => {
|
|
85
88
|
const token = getRefreshToken ? await getRefreshToken() : null;
|
|
@@ -91,6 +94,7 @@ function useAuthFetch(getRefreshToken) {
|
|
|
91
94
|
}).then((res) => res.json()).then((data) => setToken(data.accessToken || null));
|
|
92
95
|
};
|
|
93
96
|
useEffect(() => {
|
|
97
|
+
if (skip) return;
|
|
94
98
|
fetchToken();
|
|
95
99
|
}, []);
|
|
96
100
|
}
|
|
@@ -31,6 +31,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
31
31
|
var email_exports = {};
|
|
32
32
|
__export(email_exports, {
|
|
33
33
|
AuthFetch: () => AuthFetch,
|
|
34
|
+
AuthWrapper: () => AuthWrapper,
|
|
34
35
|
checkAuthStatus: () => checkAuthStatus,
|
|
35
36
|
getContext: () => getContext,
|
|
36
37
|
setupEmailAuth: () => setupEmailAuth
|
|
@@ -343,8 +344,8 @@ var getPutRoute = (options) => async (req) => {
|
|
|
343
344
|
return handleError(403, "Invalid password", options.onError);
|
|
344
345
|
};
|
|
345
346
|
|
|
346
|
-
// src/auth/email/
|
|
347
|
-
var import_client2 = require("naystack/auth/
|
|
347
|
+
// src/auth/email/next.tsx
|
|
348
|
+
var import_client2 = require("naystack/auth/client");
|
|
348
349
|
var import_headers3 = require("next/headers");
|
|
349
350
|
var import_react3 = __toESM(require("react"));
|
|
350
351
|
|
|
@@ -378,7 +379,7 @@ var { query: gqlQuery } = (0, import_client_integration_nextjs.registerApolloCli
|
|
|
378
379
|
});
|
|
379
380
|
});
|
|
380
381
|
|
|
381
|
-
// src/auth/email/
|
|
382
|
+
// src/auth/email/next.tsx
|
|
382
383
|
function AuthFetch() {
|
|
383
384
|
return /* @__PURE__ */ import_react3.default.createElement(
|
|
384
385
|
Injector,
|
|
@@ -398,6 +399,9 @@ function AuthFetch() {
|
|
|
398
399
|
}
|
|
399
400
|
);
|
|
400
401
|
}
|
|
402
|
+
function AuthWrapper({ children, getRefreshToken, onTokenUpdate, skipInitialFetch }) {
|
|
403
|
+
return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_client2.AuthWrapper, { skipInitialFetch: true, getRefreshToken, onTokenUpdate }, !skipInitialFetch && /* @__PURE__ */ import_react3.default.createElement(AuthFetch, null), children));
|
|
404
|
+
}
|
|
401
405
|
|
|
402
406
|
// src/auth/email/index.ts
|
|
403
407
|
function setupEmailAuth(options) {
|
|
@@ -424,6 +428,7 @@ function setupEmailAuth(options) {
|
|
|
424
428
|
// Annotate the CommonJS export names for ESM import in node:
|
|
425
429
|
0 && (module.exports = {
|
|
426
430
|
AuthFetch,
|
|
431
|
+
AuthWrapper,
|
|
427
432
|
checkAuthStatus,
|
|
428
433
|
getContext,
|
|
429
434
|
setupEmailAuth
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { NextRequest, NextResponse } from 'next/server';
|
|
2
2
|
import { SetupEmailAuthOptions } from './types.mjs';
|
|
3
|
-
export {
|
|
3
|
+
export { AuthFetch, AuthWrapper } from './next.mjs';
|
|
4
4
|
export { checkAuthStatus } from './token.mjs';
|
|
5
5
|
export { getContext } from './utils.mjs';
|
|
6
6
|
import '../types.mjs';
|
|
7
7
|
import 'react';
|
|
8
|
+
import './client.mjs';
|
|
8
9
|
import '../../graphql/types.mjs';
|
|
9
10
|
|
|
10
11
|
/**
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { NextRequest, NextResponse } from 'next/server';
|
|
2
2
|
import { SetupEmailAuthOptions } from './types.js';
|
|
3
|
-
export {
|
|
3
|
+
export { AuthFetch, AuthWrapper } from './next.js';
|
|
4
4
|
export { checkAuthStatus } from './token.js';
|
|
5
5
|
export { getContext } from './utils.js';
|
|
6
6
|
import '../types.js';
|
|
7
7
|
import 'react';
|
|
8
|
+
import './client.js';
|
|
8
9
|
import '../../graphql/types.js';
|
|
9
10
|
|
|
10
11
|
/**
|
|
@@ -306,8 +306,8 @@ var getPutRoute = (options) => async (req) => {
|
|
|
306
306
|
return handleError(403, "Invalid password", options.onError);
|
|
307
307
|
};
|
|
308
308
|
|
|
309
|
-
// src/auth/email/
|
|
310
|
-
import { AuthApply } from "naystack/auth/
|
|
309
|
+
// src/auth/email/next.tsx
|
|
310
|
+
import { AuthApply, AuthWrapper as AuthWrapperClient } from "naystack/auth/client";
|
|
311
311
|
import { cookies as cookies3 } from "next/headers";
|
|
312
312
|
import React2 from "react";
|
|
313
313
|
|
|
@@ -345,7 +345,7 @@ var { query: gqlQuery } = registerApolloClient(() => {
|
|
|
345
345
|
});
|
|
346
346
|
});
|
|
347
347
|
|
|
348
|
-
// src/auth/email/
|
|
348
|
+
// src/auth/email/next.tsx
|
|
349
349
|
function AuthFetch() {
|
|
350
350
|
return /* @__PURE__ */ React2.createElement(
|
|
351
351
|
Injector,
|
|
@@ -365,6 +365,9 @@ function AuthFetch() {
|
|
|
365
365
|
}
|
|
366
366
|
);
|
|
367
367
|
}
|
|
368
|
+
function AuthWrapper({ children, getRefreshToken, onTokenUpdate, skipInitialFetch }) {
|
|
369
|
+
return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(AuthWrapperClient, { skipInitialFetch: true, getRefreshToken, onTokenUpdate }, !skipInitialFetch && /* @__PURE__ */ React2.createElement(AuthFetch, null), children));
|
|
370
|
+
}
|
|
368
371
|
|
|
369
372
|
// src/auth/email/index.ts
|
|
370
373
|
function setupEmailAuth(options) {
|
|
@@ -390,6 +393,7 @@ function setupEmailAuth(options) {
|
|
|
390
393
|
}
|
|
391
394
|
export {
|
|
392
395
|
AuthFetch,
|
|
396
|
+
AuthWrapper,
|
|
393
397
|
checkAuthStatus,
|
|
394
398
|
getContext,
|
|
395
399
|
setupEmailAuth
|
|
@@ -27,13 +27,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
|
|
30
|
-
// src/auth/email/
|
|
31
|
-
var
|
|
32
|
-
__export(
|
|
33
|
-
|
|
30
|
+
// src/auth/email/next.tsx
|
|
31
|
+
var next_exports = {};
|
|
32
|
+
__export(next_exports, {
|
|
33
|
+
AuthFetch: () => AuthFetch,
|
|
34
|
+
AuthWrapper: () => AuthWrapper
|
|
34
35
|
});
|
|
35
|
-
module.exports = __toCommonJS(
|
|
36
|
-
var import_client2 = require("naystack/auth/
|
|
36
|
+
module.exports = __toCommonJS(next_exports);
|
|
37
|
+
var import_client2 = require("naystack/auth/client");
|
|
37
38
|
var import_headers2 = require("next/headers");
|
|
38
39
|
var import_react3 = __toESM(require("react"));
|
|
39
40
|
|
|
@@ -120,7 +121,7 @@ var { query: gqlQuery } = (0, import_client_integration_nextjs.registerApolloCli
|
|
|
120
121
|
});
|
|
121
122
|
});
|
|
122
123
|
|
|
123
|
-
// src/auth/email/
|
|
124
|
+
// src/auth/email/next.tsx
|
|
124
125
|
function AuthFetch() {
|
|
125
126
|
return /* @__PURE__ */ import_react3.default.createElement(
|
|
126
127
|
Injector,
|
|
@@ -140,3 +141,11 @@ function AuthFetch() {
|
|
|
140
141
|
}
|
|
141
142
|
);
|
|
142
143
|
}
|
|
144
|
+
function AuthWrapper({ children, getRefreshToken, onTokenUpdate, skipInitialFetch }) {
|
|
145
|
+
return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_client2.AuthWrapper, { skipInitialFetch: true, getRefreshToken, onTokenUpdate }, !skipInitialFetch && /* @__PURE__ */ import_react3.default.createElement(AuthFetch, null), children));
|
|
146
|
+
}
|
|
147
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
148
|
+
0 && (module.exports = {
|
|
149
|
+
AuthFetch,
|
|
150
|
+
AuthWrapper
|
|
151
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { AuthWrapperProps } from './client.mjs';
|
|
3
|
+
|
|
4
|
+
declare function AuthFetch(): React__default.JSX.Element;
|
|
5
|
+
declare function AuthWrapper({ children, getRefreshToken, onTokenUpdate, skipInitialFetch }: AuthWrapperProps): React__default.JSX.Element;
|
|
6
|
+
|
|
7
|
+
export { AuthFetch, AuthWrapper };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { AuthWrapperProps } from './client.js';
|
|
3
|
+
|
|
4
|
+
declare function AuthFetch(): React__default.JSX.Element;
|
|
5
|
+
declare function AuthWrapper({ children, getRefreshToken, onTokenUpdate, skipInitialFetch }: AuthWrapperProps): React__default.JSX.Element;
|
|
6
|
+
|
|
7
|
+
export { AuthFetch, AuthWrapper };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// src/auth/email/
|
|
2
|
-
import { AuthApply } from "naystack/auth/
|
|
1
|
+
// src/auth/email/next.tsx
|
|
2
|
+
import { AuthApply, AuthWrapper as AuthWrapperClient } from "naystack/auth/client";
|
|
3
3
|
import { cookies as cookies2 } from "next/headers";
|
|
4
4
|
import React2 from "react";
|
|
5
5
|
|
|
@@ -90,7 +90,7 @@ var { query: gqlQuery } = registerApolloClient(() => {
|
|
|
90
90
|
});
|
|
91
91
|
});
|
|
92
92
|
|
|
93
|
-
// src/auth/email/
|
|
93
|
+
// src/auth/email/next.tsx
|
|
94
94
|
function AuthFetch() {
|
|
95
95
|
return /* @__PURE__ */ React2.createElement(
|
|
96
96
|
Injector,
|
|
@@ -110,6 +110,10 @@ function AuthFetch() {
|
|
|
110
110
|
}
|
|
111
111
|
);
|
|
112
112
|
}
|
|
113
|
+
function AuthWrapper({ children, getRefreshToken, onTokenUpdate, skipInitialFetch }) {
|
|
114
|
+
return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(AuthWrapperClient, { skipInitialFetch: true, getRefreshToken, onTokenUpdate }, !skipInitialFetch && /* @__PURE__ */ React2.createElement(AuthFetch, null), children));
|
|
115
|
+
}
|
|
113
116
|
export {
|
|
114
|
-
AuthFetch
|
|
117
|
+
AuthFetch,
|
|
118
|
+
AuthWrapper
|
|
115
119
|
};
|
package/dist/auth/index.cjs.js
CHANGED
|
@@ -361,8 +361,8 @@ var getPutRoute = (options) => async (req) => {
|
|
|
361
361
|
return handleError(403, "Invalid password", options.onError);
|
|
362
362
|
};
|
|
363
363
|
|
|
364
|
-
// src/auth/email/
|
|
365
|
-
var import_client2 = require("naystack/auth/
|
|
364
|
+
// src/auth/email/next.tsx
|
|
365
|
+
var import_client2 = require("naystack/auth/client");
|
|
366
366
|
var import_headers3 = require("next/headers");
|
|
367
367
|
var import_react3 = __toESM(require("react"));
|
|
368
368
|
|
|
@@ -396,7 +396,7 @@ var { query: gqlQuery } = (0, import_client_integration_nextjs.registerApolloCli
|
|
|
396
396
|
});
|
|
397
397
|
});
|
|
398
398
|
|
|
399
|
-
// src/auth/email/
|
|
399
|
+
// src/auth/email/next.tsx
|
|
400
400
|
function AuthFetch() {
|
|
401
401
|
return /* @__PURE__ */ import_react3.default.createElement(
|
|
402
402
|
Injector,
|
|
@@ -442,7 +442,7 @@ function setupEmailAuth(options) {
|
|
|
442
442
|
|
|
443
443
|
// src/auth/google/get.ts
|
|
444
444
|
var import_googleapis = require("googleapis");
|
|
445
|
-
var
|
|
445
|
+
var import_server6 = require("next/server");
|
|
446
446
|
var import_uuid = require("uuid");
|
|
447
447
|
var getGoogleGetRoute = ({
|
|
448
448
|
getUserIdFromEmail,
|
|
@@ -472,7 +472,7 @@ var getGoogleGetRoute = ({
|
|
|
472
472
|
prompt: "consent",
|
|
473
473
|
redirect_uri: url
|
|
474
474
|
});
|
|
475
|
-
const res =
|
|
475
|
+
const res = import_server6.NextResponse.redirect(authorizationUrl);
|
|
476
476
|
res.cookies.set("state", state2, {
|
|
477
477
|
httpOnly: true,
|
|
478
478
|
secure: true
|
|
@@ -481,12 +481,12 @@ var getGoogleGetRoute = ({
|
|
|
481
481
|
}
|
|
482
482
|
const errorURL = errorRedirectURL || redirectURL;
|
|
483
483
|
if (error) {
|
|
484
|
-
return
|
|
484
|
+
return import_server6.NextResponse.redirect(errorURL);
|
|
485
485
|
}
|
|
486
486
|
const state = req.nextUrl.searchParams.get("state") || void 0;
|
|
487
487
|
if (code && state) {
|
|
488
488
|
const localState = req.cookies.get("state")?.value;
|
|
489
|
-
if (localState !== state) return
|
|
489
|
+
if (localState !== state) return import_server6.NextResponse.redirect(errorURL);
|
|
490
490
|
const { tokens } = await oauth2Client.getToken(code);
|
|
491
491
|
oauth2Client.setCredentials(tokens);
|
|
492
492
|
const userInfoRequest = await import_googleapis.google.oauth2({
|
|
@@ -498,7 +498,7 @@ var getGoogleGetRoute = ({
|
|
|
498
498
|
const { data } = JSON.parse(localState);
|
|
499
499
|
const id = await getUserIdFromEmail(user, data);
|
|
500
500
|
if (id) {
|
|
501
|
-
const res =
|
|
501
|
+
const res = import_server6.NextResponse.redirect(redirectURL);
|
|
502
502
|
res.cookies.set(
|
|
503
503
|
REFRESH_COOKIE_NAME,
|
|
504
504
|
generateRefreshToken(id, getEnv("REFRESH_KEY" /* REFRESH_KEY */)),
|
|
@@ -516,7 +516,7 @@ var getGoogleGetRoute = ({
|
|
|
516
516
|
}
|
|
517
517
|
}
|
|
518
518
|
}
|
|
519
|
-
return
|
|
519
|
+
return import_server6.NextResponse.redirect(errorURL);
|
|
520
520
|
};
|
|
521
521
|
};
|
|
522
522
|
|
|
@@ -528,7 +528,7 @@ function setupGoogleAuth(props) {
|
|
|
528
528
|
}
|
|
529
529
|
|
|
530
530
|
// src/auth/instagram/route.ts
|
|
531
|
-
var
|
|
531
|
+
var import_server8 = require("next/server");
|
|
532
532
|
|
|
533
533
|
// src/auth/instagram/utils.ts
|
|
534
534
|
async function getRefreshedInstagramAccessToken(token) {
|
|
@@ -590,7 +590,7 @@ var getInstagramUser = (token, id, fields) => {
|
|
|
590
590
|
};
|
|
591
591
|
|
|
592
592
|
// src/socials/meta-webhook.ts
|
|
593
|
-
var
|
|
593
|
+
var import_server7 = require("next/server");
|
|
594
594
|
|
|
595
595
|
// src/auth/instagram/route.ts
|
|
596
596
|
var getInstagramRoute = ({
|
|
@@ -598,7 +598,7 @@ var getInstagramRoute = ({
|
|
|
598
598
|
errorRedirectURL,
|
|
599
599
|
onUser
|
|
600
600
|
}) => {
|
|
601
|
-
const handleError2 = (message) =>
|
|
601
|
+
const handleError2 = (message) => import_server8.NextResponse.redirect(`${errorRedirectURL}?error=${message}`);
|
|
602
602
|
return async (req) => {
|
|
603
603
|
const accessCode = req.nextUrl.searchParams.get("code");
|
|
604
604
|
const error = req.nextUrl.searchParams.get("error");
|
|
@@ -622,7 +622,7 @@ var getInstagramRoute = ({
|
|
|
622
622
|
instagramData.accessToken
|
|
623
623
|
);
|
|
624
624
|
if (errorMessage) return handleError2(errorMessage);
|
|
625
|
-
return
|
|
625
|
+
return import_server8.NextResponse.redirect(redirectURL);
|
|
626
626
|
};
|
|
627
627
|
};
|
|
628
628
|
|
package/dist/auth/index.d.mts
CHANGED
|
@@ -2,7 +2,7 @@ export { setupEmailAuth } from './email/index.mjs';
|
|
|
2
2
|
export { setupGoogleAuth } from './google/index.mjs';
|
|
3
3
|
export { setupInstagramAuth } from './instagram/index.mjs';
|
|
4
4
|
export { getRefreshToken } from './utils/token.mjs';
|
|
5
|
-
export {
|
|
5
|
+
export { AuthFetch } from './email/next.mjs';
|
|
6
6
|
export { checkAuthStatus } from './email/token.mjs';
|
|
7
7
|
export { getContext } from './email/utils.mjs';
|
|
8
8
|
export { getRefreshedInstagramAccessToken } from './instagram/utils.mjs';
|
|
@@ -12,4 +12,5 @@ import './types.mjs';
|
|
|
12
12
|
import 'googleapis';
|
|
13
13
|
import '../socials/instagram/types.mjs';
|
|
14
14
|
import 'react';
|
|
15
|
+
import './email/client.mjs';
|
|
15
16
|
import '../graphql/types.mjs';
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export { setupEmailAuth } from './email/index.js';
|
|
|
2
2
|
export { setupGoogleAuth } from './google/index.js';
|
|
3
3
|
export { setupInstagramAuth } from './instagram/index.js';
|
|
4
4
|
export { getRefreshToken } from './utils/token.js';
|
|
5
|
-
export {
|
|
5
|
+
export { AuthFetch } from './email/next.js';
|
|
6
6
|
export { checkAuthStatus } from './email/token.js';
|
|
7
7
|
export { getContext } from './email/utils.js';
|
|
8
8
|
export { getRefreshedInstagramAccessToken } from './instagram/utils.js';
|
|
@@ -12,4 +12,5 @@ import './types.js';
|
|
|
12
12
|
import 'googleapis';
|
|
13
13
|
import '../socials/instagram/types.js';
|
|
14
14
|
import 'react';
|
|
15
|
+
import './email/client.js';
|
|
15
16
|
import '../graphql/types.js';
|
package/dist/auth/index.esm.js
CHANGED
|
@@ -318,8 +318,8 @@ var getPutRoute = (options) => async (req) => {
|
|
|
318
318
|
return handleError(403, "Invalid password", options.onError);
|
|
319
319
|
};
|
|
320
320
|
|
|
321
|
-
// src/auth/email/
|
|
322
|
-
import { AuthApply } from "naystack/auth/
|
|
321
|
+
// src/auth/email/next.tsx
|
|
322
|
+
import { AuthApply, AuthWrapper as AuthWrapperClient } from "naystack/auth/client";
|
|
323
323
|
import { cookies as cookies3 } from "next/headers";
|
|
324
324
|
import React2 from "react";
|
|
325
325
|
|
|
@@ -357,7 +357,7 @@ var { query: gqlQuery } = registerApolloClient(() => {
|
|
|
357
357
|
});
|
|
358
358
|
});
|
|
359
359
|
|
|
360
|
-
// src/auth/email/
|
|
360
|
+
// src/auth/email/next.tsx
|
|
361
361
|
function AuthFetch() {
|
|
362
362
|
return /* @__PURE__ */ React2.createElement(
|
|
363
363
|
Injector,
|
package/dist/file/client.cjs.js
CHANGED
|
@@ -23,7 +23,7 @@ __export(client_exports, {
|
|
|
23
23
|
useFileUpload: () => useFileUpload
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(client_exports);
|
|
26
|
-
var import_client = require("naystack/auth/
|
|
26
|
+
var import_client = require("naystack/auth/client");
|
|
27
27
|
|
|
28
28
|
// src/env.ts
|
|
29
29
|
var EXTRA_ENV = globalThis.__NAYSTACK_ENV__ || (globalThis.__NAYSTACK_ENV__ = {});
|
package/dist/file/client.esm.js
CHANGED
|
@@ -38,7 +38,7 @@ __export(client_exports, {
|
|
|
38
38
|
});
|
|
39
39
|
module.exports = __toCommonJS(client_exports);
|
|
40
40
|
var import_client = require("@apollo/client");
|
|
41
|
-
var import_client2 = require("naystack/auth/
|
|
41
|
+
var import_client2 = require("naystack/auth/client");
|
|
42
42
|
var import_react = __toESM(require("react"));
|
|
43
43
|
|
|
44
44
|
// src/env.ts
|
|
@@ -538,10 +538,13 @@ var require_error = __commonJS({
|
|
|
538
538
|
// src/graphql/index.ts
|
|
539
539
|
var graphql_exports = {};
|
|
540
540
|
__export(graphql_exports, {
|
|
541
|
+
ApolloWrapper: () => ApolloWrapper,
|
|
541
542
|
FieldLibrary: () => FieldLibrary,
|
|
542
543
|
GQLError: () => GQLError,
|
|
544
|
+
Injector: () => Injector,
|
|
543
545
|
QueryLibrary: () => QueryLibrary,
|
|
544
546
|
field: () => field,
|
|
547
|
+
query: () => query,
|
|
545
548
|
resolver: () => resolver,
|
|
546
549
|
setupGraphQL: () => setupGraphQL
|
|
547
550
|
});
|
|
@@ -923,12 +926,83 @@ function FieldLibrary(type, queries) {
|
|
|
923
926
|
}
|
|
924
927
|
return GeneratedResolver;
|
|
925
928
|
}
|
|
929
|
+
|
|
930
|
+
// src/graphql/server.tsx
|
|
931
|
+
var import_client = require("@apollo/client");
|
|
932
|
+
var import_client_integration_nextjs = require("@apollo/client-integration-nextjs");
|
|
933
|
+
var import_headers3 = require("next/headers");
|
|
934
|
+
var import_react2 = __toESM(require("react"));
|
|
935
|
+
var import_react3 = require("react");
|
|
936
|
+
function Injector({
|
|
937
|
+
fetch: fetch2,
|
|
938
|
+
Component,
|
|
939
|
+
props
|
|
940
|
+
}) {
|
|
941
|
+
return /* @__PURE__ */ import_react2.default.createElement(import_react3.Suspense, { fallback: /* @__PURE__ */ import_react2.default.createElement(Component, { ...props || {}, loading: true }) }, /* @__PURE__ */ import_react2.default.createElement(InjectorSuspensed, { Component, fetch: fetch2, props }));
|
|
942
|
+
}
|
|
943
|
+
async function InjectorSuspensed({
|
|
944
|
+
fetch: fetch2,
|
|
945
|
+
Component,
|
|
946
|
+
props
|
|
947
|
+
}) {
|
|
948
|
+
const data = await fetch2();
|
|
949
|
+
return /* @__PURE__ */ import_react2.default.createElement(Component, { loading: false, ...props || {}, data });
|
|
950
|
+
}
|
|
951
|
+
var { query: gqlQuery } = (0, import_client_integration_nextjs.registerApolloClient)(() => {
|
|
952
|
+
return new import_client.ApolloClient({
|
|
953
|
+
cache: new import_client.InMemoryCache(),
|
|
954
|
+
link: new import_client.HttpLink({
|
|
955
|
+
uri: getEnv("NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */)
|
|
956
|
+
})
|
|
957
|
+
});
|
|
958
|
+
});
|
|
959
|
+
var query = async (_query, options) => {
|
|
960
|
+
const res = await gqlQuery({
|
|
961
|
+
query: _query,
|
|
962
|
+
variables: options?.variables,
|
|
963
|
+
context: {
|
|
964
|
+
headers: {
|
|
965
|
+
Cookie: options?.noCookie ? void 0 : await (0, import_headers3.cookies)()
|
|
966
|
+
},
|
|
967
|
+
fetchOptions: {
|
|
968
|
+
cache: options?.revalidate ? "force-cache" : void 0,
|
|
969
|
+
next: {
|
|
970
|
+
revalidate: options?.revalidate || 0,
|
|
971
|
+
tags: options?.tags
|
|
972
|
+
}
|
|
973
|
+
}
|
|
974
|
+
}
|
|
975
|
+
});
|
|
976
|
+
return res.data;
|
|
977
|
+
};
|
|
978
|
+
|
|
979
|
+
// src/graphql/next.tsx
|
|
980
|
+
var import_client2 = require("@apollo/client");
|
|
981
|
+
var import_client_integration_nextjs2 = require("@apollo/client-integration-nextjs");
|
|
982
|
+
var import_react4 = __toESM(require("react"));
|
|
983
|
+
function makeClient(cacheConfig) {
|
|
984
|
+
return new import_client_integration_nextjs2.ApolloClient({
|
|
985
|
+
cache: new import_client_integration_nextjs2.InMemoryCache(cacheConfig),
|
|
986
|
+
link: new import_client2.HttpLink({
|
|
987
|
+
uri: getEnv("NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */)
|
|
988
|
+
})
|
|
989
|
+
});
|
|
990
|
+
}
|
|
991
|
+
var ApolloWrapper = ({
|
|
992
|
+
children,
|
|
993
|
+
cacheConfig
|
|
994
|
+
}) => {
|
|
995
|
+
return /* @__PURE__ */ import_react4.default.createElement(import_client_integration_nextjs2.ApolloNextAppProvider, { makeClient: () => makeClient(cacheConfig) }, children);
|
|
996
|
+
};
|
|
926
997
|
// Annotate the CommonJS export names for ESM import in node:
|
|
927
998
|
0 && (module.exports = {
|
|
999
|
+
ApolloWrapper,
|
|
928
1000
|
FieldLibrary,
|
|
929
1001
|
GQLError,
|
|
1002
|
+
Injector,
|
|
930
1003
|
QueryLibrary,
|
|
931
1004
|
field,
|
|
1005
|
+
query,
|
|
932
1006
|
resolver,
|
|
933
1007
|
setupGraphQL
|
|
934
1008
|
});
|
package/dist/graphql/index.d.mts
CHANGED
|
@@ -2,8 +2,13 @@ export { GQLError } from './errors.mjs';
|
|
|
2
2
|
export { setupGraphQL } from './init.mjs';
|
|
3
3
|
export { AuthorizedContext, Context } from './types.mjs';
|
|
4
4
|
export { FieldLibrary, FieldResolverDefinition, FieldResponseType, QueryDefinition, QueryLibrary, QueryResponseType, field, resolver } from './utils.mjs';
|
|
5
|
+
export { Injector, query } from './server.mjs';
|
|
6
|
+
export { ApolloWrapper } from './next.mjs';
|
|
5
7
|
import 'graphql/error';
|
|
6
8
|
import '@apollo/server';
|
|
7
9
|
import 'next/server';
|
|
8
10
|
import 'type-graphql';
|
|
9
11
|
import 'graphql';
|
|
12
|
+
import '@apollo/client';
|
|
13
|
+
import '@graphql-typed-document-node/core';
|
|
14
|
+
import 'react';
|
package/dist/graphql/index.d.ts
CHANGED
|
@@ -2,8 +2,13 @@ export { GQLError } from './errors.js';
|
|
|
2
2
|
export { setupGraphQL } from './init.js';
|
|
3
3
|
export { AuthorizedContext, Context } from './types.js';
|
|
4
4
|
export { FieldLibrary, FieldResolverDefinition, FieldResponseType, QueryDefinition, QueryLibrary, QueryResponseType, field, resolver } from './utils.js';
|
|
5
|
+
export { Injector, query } from './server.js';
|
|
6
|
+
export { ApolloWrapper } from './next.js';
|
|
5
7
|
import 'graphql/error';
|
|
6
8
|
import '@apollo/server';
|
|
7
9
|
import 'next/server';
|
|
8
10
|
import 'type-graphql';
|
|
9
11
|
import 'graphql';
|
|
12
|
+
import '@apollo/client';
|
|
13
|
+
import '@graphql-typed-document-node/core';
|
|
14
|
+
import 'react';
|