naystack 1.4.16 → 1.4.21
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/dist/auth/email/client.cjs.js +69 -12
- package/dist/auth/email/client.esm.js +69 -12
- package/dist/auth/email/index.cjs.js +74 -15
- package/dist/auth/email/index.esm.js +74 -15
- package/dist/auth/email/routes/delete.cjs.js +56 -4
- package/dist/auth/email/routes/delete.esm.js +56 -4
- package/dist/auth/email/routes/get.cjs.js +54 -2
- package/dist/auth/email/routes/get.esm.js +54 -2
- package/dist/auth/email/routes/post.cjs.js +59 -6
- package/dist/auth/email/routes/post.esm.js +59 -6
- package/dist/auth/email/routes/put.cjs.js +54 -4
- package/dist/auth/email/routes/put.esm.js +54 -4
- package/dist/auth/email/token.cjs.js +51 -2
- package/dist/auth/email/token.esm.js +51 -2
- package/dist/auth/email/types.d.mts +1 -7
- package/dist/auth/email/types.d.ts +1 -7
- package/dist/auth/email/utils.cjs.js +58 -5
- package/dist/auth/email/utils.d.mts +2 -2
- package/dist/auth/email/utils.d.ts +2 -2
- package/dist/auth/email/utils.esm.js +58 -5
- package/dist/auth/google/get.cjs.js +57 -7
- package/dist/auth/google/get.d.mts +1 -3
- package/dist/auth/google/get.d.ts +1 -3
- package/dist/auth/google/get.esm.js +57 -7
- package/dist/auth/google/index.cjs.js +57 -7
- package/dist/auth/google/index.d.mts +0 -5
- package/dist/auth/google/index.d.ts +0 -5
- package/dist/auth/google/index.esm.js +57 -7
- package/dist/auth/index.cjs.js +89 -31
- package/dist/auth/index.esm.js +89 -31
- package/dist/auth/instagram/client.cjs.js +54 -1
- package/dist/auth/instagram/client.d.mts +1 -1
- package/dist/auth/instagram/client.d.ts +1 -1
- package/dist/auth/instagram/client.esm.js +52 -1
- package/dist/auth/instagram/index.cjs.js +58 -9
- package/dist/auth/instagram/index.d.mts +0 -2
- package/dist/auth/instagram/index.d.ts +0 -2
- package/dist/auth/instagram/index.esm.js +58 -9
- package/dist/auth/instagram/route.cjs.js +58 -9
- package/dist/auth/instagram/route.d.mts +1 -1
- package/dist/auth/instagram/route.d.ts +1 -1
- package/dist/auth/instagram/route.esm.js +58 -9
- package/dist/auth/instagram/utils.cjs.js +52 -1
- package/dist/auth/instagram/utils.esm.js +50 -1
- package/dist/client/index.cjs.js +50 -1
- package/dist/client/index.esm.js +50 -1
- package/dist/client/seo.cjs.js +52 -1
- package/dist/client/seo.esm.js +50 -1
- package/dist/env.cjs.js +101 -0
- package/dist/env.d.mts +24 -0
- package/dist/env.d.ts +24 -0
- package/dist/env.esm.js +74 -0
- package/dist/file/client.cjs.js +52 -1
- package/dist/file/client.esm.js +52 -1
- package/dist/file/index.cjs.js +82 -28
- package/dist/file/index.d.mts +0 -2
- package/dist/file/index.d.ts +0 -2
- package/dist/file/index.esm.js +82 -28
- package/dist/file/put.cjs.js +65 -11
- package/dist/file/put.d.mts +0 -2
- package/dist/file/put.d.ts +0 -2
- package/dist/file/put.esm.js +65 -11
- package/dist/file/setup.cjs.js +82 -28
- package/dist/file/setup.d.mts +0 -7
- package/dist/file/setup.d.ts +0 -7
- package/dist/file/setup.esm.js +82 -28
- package/dist/file/utils.cjs.js +70 -17
- package/dist/file/utils.d.mts +6 -10
- package/dist/file/utils.d.ts +6 -10
- package/dist/file/utils.esm.js +70 -17
- package/dist/graphql/client.cjs.js +57 -3
- package/dist/graphql/client.d.mts +1 -1
- package/dist/graphql/client.d.ts +1 -1
- package/dist/graphql/client.esm.js +57 -3
- package/dist/graphql/index.cjs.js +107 -3
- package/dist/graphql/index.d.mts +1 -0
- package/dist/graphql/index.d.ts +1 -0
- package/dist/graphql/index.esm.js +107 -3
- package/dist/graphql/init.cjs.js +53 -2
- package/dist/graphql/init.esm.js +53 -2
- package/dist/graphql/server.cjs.js +52 -1
- package/dist/graphql/server.esm.js +52 -1
- package/dist/graphql/utils.cjs.js +54 -1
- package/dist/graphql/utils.d.mts +10 -3
- package/dist/graphql/utils.d.ts +10 -3
- package/dist/graphql/utils.esm.js +54 -1
- package/package.json +1 -1
package/dist/file/utils.esm.js
CHANGED
|
@@ -5,29 +5,82 @@ import {
|
|
|
5
5
|
S3Client
|
|
6
6
|
} from "@aws-sdk/client-s3";
|
|
7
7
|
import { getSignedUrl } from "@aws-sdk/s3-request-presigner";
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
|
|
9
|
+
// src/env.ts
|
|
10
|
+
var getEnvValue = (key) => {
|
|
11
|
+
switch (key) {
|
|
12
|
+
case "NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */:
|
|
13
|
+
return process.env.NEXT_PUBLIC_GRAPHQL_ENDPOINT;
|
|
14
|
+
case "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */:
|
|
15
|
+
return process.env.NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT;
|
|
16
|
+
case "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */:
|
|
17
|
+
return process.env.NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT;
|
|
18
|
+
case "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */:
|
|
19
|
+
return process.env.NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT;
|
|
20
|
+
case "NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */:
|
|
21
|
+
return process.env.NEXT_PUBLIC_FILE_ENDPOINT;
|
|
22
|
+
case "NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */:
|
|
23
|
+
return process.env.NEXT_PUBLIC_BASE_URL;
|
|
24
|
+
case "REFRESH_KEY" /* REFRESH_KEY */:
|
|
25
|
+
return process.env.REFRESH_KEY;
|
|
26
|
+
case "SIGNING_KEY" /* SIGNING_KEY */:
|
|
27
|
+
return process.env.SIGNING_KEY;
|
|
28
|
+
case "INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */:
|
|
29
|
+
return process.env.INSTAGRAM_CLIENT_SECRET;
|
|
30
|
+
case "INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */:
|
|
31
|
+
return process.env.INSTAGRAM_CLIENT_ID;
|
|
32
|
+
case "GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */:
|
|
33
|
+
return process.env.GOOGLE_CLIENT_SECRET;
|
|
34
|
+
case "GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */:
|
|
35
|
+
return process.env.GOOGLE_CLIENT_ID;
|
|
36
|
+
case "TURNSTILE_KEY" /* TURNSTILE_KEY */:
|
|
37
|
+
return process.env.TURNSTILE_KEY;
|
|
38
|
+
case "AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */:
|
|
39
|
+
return process.env.AWS_ACCESS_KEY_ID;
|
|
40
|
+
case "AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */:
|
|
41
|
+
return process.env.AWS_ACCESS_KEY_SECRET;
|
|
42
|
+
case "AWS_REGION" /* AWS_REGION */:
|
|
43
|
+
return process.env.AWS_REGION;
|
|
44
|
+
case "AWS_BUCKET" /* AWS_BUCKET */:
|
|
45
|
+
return process.env.AWS_BUCKET;
|
|
46
|
+
case "NODE_ENV" /* NODE_ENV */:
|
|
47
|
+
return process.env.NODE_ENV;
|
|
48
|
+
default:
|
|
49
|
+
return process.env[key];
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
function getEnv(key, skipCheck) {
|
|
53
|
+
const value = getEnvValue(key);
|
|
54
|
+
if (!skipCheck && !value) throw new Error(`${key} is not defined`);
|
|
55
|
+
return value;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// src/file/utils.ts
|
|
59
|
+
var getS3Client = () => new S3Client({
|
|
60
|
+
region: getEnv("AWS_REGION" /* AWS_REGION */),
|
|
10
61
|
credentials: {
|
|
11
|
-
accessKeyId:
|
|
12
|
-
secretAccessKey:
|
|
62
|
+
accessKeyId: getEnv("AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */),
|
|
63
|
+
secretAccessKey: getEnv("AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */)
|
|
13
64
|
}
|
|
14
65
|
});
|
|
15
|
-
var
|
|
66
|
+
var URL_PREFIX = `https://${getEnv("AWS_BUCKET" /* AWS_BUCKET */)}.s3.${getEnv(
|
|
67
|
+
"AWS_REGION" /* AWS_REGION */
|
|
68
|
+
)}.amazonaws.com/`;
|
|
16
69
|
function getKey(keys) {
|
|
17
70
|
return typeof keys === "string" ? keys : keys.join("/");
|
|
18
71
|
}
|
|
19
|
-
var getUploadURL = (client
|
|
72
|
+
var getUploadURL = (client) => (keys) => {
|
|
20
73
|
const command = new PutObjectCommand({
|
|
21
|
-
Bucket,
|
|
74
|
+
Bucket: getEnv("AWS_BUCKET" /* AWS_BUCKET */),
|
|
22
75
|
Key: getKey(keys),
|
|
23
76
|
ACL: "public-read"
|
|
24
77
|
});
|
|
25
78
|
return getSignedUrl(client, command, { expiresIn: 300 });
|
|
26
79
|
};
|
|
27
|
-
var getDownloadURL = (
|
|
28
|
-
return `${
|
|
80
|
+
var getDownloadURL = (keys) => {
|
|
81
|
+
return `${URL_PREFIX}${getKey(keys)}`;
|
|
29
82
|
};
|
|
30
|
-
var uploadFile = (client
|
|
83
|
+
var uploadFile = (client) => async (keys, {
|
|
31
84
|
url,
|
|
32
85
|
blob
|
|
33
86
|
}) => {
|
|
@@ -35,18 +88,18 @@ var uploadFile = (client, options) => async (keys, {
|
|
|
35
88
|
const fileBlob = blob || await fetch(url).then((file) => file.blob());
|
|
36
89
|
if (fileBlob) {
|
|
37
90
|
const key = getKey(keys);
|
|
38
|
-
await uploadBlob(client
|
|
39
|
-
return getDownloadURL(
|
|
91
|
+
await uploadBlob(client)(fileBlob, key);
|
|
92
|
+
return getDownloadURL(key);
|
|
40
93
|
}
|
|
41
94
|
return null;
|
|
42
95
|
};
|
|
43
|
-
var deleteFile = (client
|
|
44
|
-
const key = url.split(
|
|
96
|
+
var deleteFile = (client) => async (url) => {
|
|
97
|
+
const key = url.split(URL_PREFIX)[1];
|
|
45
98
|
if (key) {
|
|
46
99
|
try {
|
|
47
100
|
await client.send(
|
|
48
101
|
new DeleteObjectCommand({
|
|
49
|
-
Bucket:
|
|
102
|
+
Bucket: getEnv("AWS_BUCKET" /* AWS_BUCKET */),
|
|
50
103
|
Key: key
|
|
51
104
|
})
|
|
52
105
|
);
|
|
@@ -57,11 +110,11 @@ var deleteFile = (client, options) => async (url) => {
|
|
|
57
110
|
}
|
|
58
111
|
return false;
|
|
59
112
|
};
|
|
60
|
-
var uploadBlob = (client
|
|
113
|
+
var uploadBlob = (client) => async (file, key) => {
|
|
61
114
|
const fileBuffer = await file.arrayBuffer();
|
|
62
115
|
return client.send(
|
|
63
116
|
new PutObjectCommand({
|
|
64
|
-
Bucket,
|
|
117
|
+
Bucket: getEnv("AWS_BUCKET" /* AWS_BUCKET */),
|
|
65
118
|
Key: key,
|
|
66
119
|
ACL: "public-read",
|
|
67
120
|
Body: Buffer.from(fileBuffer),
|
|
@@ -41,12 +41,66 @@ var import_client = require("@apollo/client");
|
|
|
41
41
|
var import_client_integration_nextjs = require("@apollo/client-integration-nextjs");
|
|
42
42
|
var import_client2 = require("naystack/auth/email/client");
|
|
43
43
|
var import_react = __toESM(require("react"));
|
|
44
|
-
|
|
44
|
+
|
|
45
|
+
// src/env.ts
|
|
46
|
+
var getEnvValue = (key) => {
|
|
47
|
+
switch (key) {
|
|
48
|
+
case "NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */:
|
|
49
|
+
return process.env.NEXT_PUBLIC_GRAPHQL_ENDPOINT;
|
|
50
|
+
case "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */:
|
|
51
|
+
return process.env.NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT;
|
|
52
|
+
case "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */:
|
|
53
|
+
return process.env.NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT;
|
|
54
|
+
case "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */:
|
|
55
|
+
return process.env.NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT;
|
|
56
|
+
case "NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */:
|
|
57
|
+
return process.env.NEXT_PUBLIC_FILE_ENDPOINT;
|
|
58
|
+
case "NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */:
|
|
59
|
+
return process.env.NEXT_PUBLIC_BASE_URL;
|
|
60
|
+
case "REFRESH_KEY" /* REFRESH_KEY */:
|
|
61
|
+
return process.env.REFRESH_KEY;
|
|
62
|
+
case "SIGNING_KEY" /* SIGNING_KEY */:
|
|
63
|
+
return process.env.SIGNING_KEY;
|
|
64
|
+
case "INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */:
|
|
65
|
+
return process.env.INSTAGRAM_CLIENT_SECRET;
|
|
66
|
+
case "INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */:
|
|
67
|
+
return process.env.INSTAGRAM_CLIENT_ID;
|
|
68
|
+
case "GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */:
|
|
69
|
+
return process.env.GOOGLE_CLIENT_SECRET;
|
|
70
|
+
case "GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */:
|
|
71
|
+
return process.env.GOOGLE_CLIENT_ID;
|
|
72
|
+
case "TURNSTILE_KEY" /* TURNSTILE_KEY */:
|
|
73
|
+
return process.env.TURNSTILE_KEY;
|
|
74
|
+
case "AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */:
|
|
75
|
+
return process.env.AWS_ACCESS_KEY_ID;
|
|
76
|
+
case "AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */:
|
|
77
|
+
return process.env.AWS_ACCESS_KEY_SECRET;
|
|
78
|
+
case "AWS_REGION" /* AWS_REGION */:
|
|
79
|
+
return process.env.AWS_REGION;
|
|
80
|
+
case "AWS_BUCKET" /* AWS_BUCKET */:
|
|
81
|
+
return process.env.AWS_BUCKET;
|
|
82
|
+
case "NODE_ENV" /* NODE_ENV */:
|
|
83
|
+
return process.env.NODE_ENV;
|
|
84
|
+
default:
|
|
85
|
+
return process.env[key];
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
function getEnv(key, skipCheck) {
|
|
89
|
+
const value = getEnvValue(key);
|
|
90
|
+
if (!skipCheck && !value) throw new Error(`${key} is not defined`);
|
|
91
|
+
return value;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// src/graphql/client.tsx
|
|
95
|
+
var ApolloWrapper = ({
|
|
96
|
+
children,
|
|
97
|
+
cacheConfig
|
|
98
|
+
}) => {
|
|
45
99
|
function makeClient() {
|
|
46
100
|
return new import_client_integration_nextjs.ApolloClient({
|
|
47
101
|
cache: new import_client_integration_nextjs.InMemoryCache(cacheConfig),
|
|
48
102
|
link: new import_client.HttpLink({
|
|
49
|
-
uri:
|
|
103
|
+
uri: getEnv("NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */)
|
|
50
104
|
})
|
|
51
105
|
});
|
|
52
106
|
}
|
|
@@ -90,7 +144,7 @@ function useAuthMutation(mutation, options) {
|
|
|
90
144
|
const [mutate, result] = (0, import_client.useMutation)(mutation, options);
|
|
91
145
|
const method = (0, import_react.useCallback)(
|
|
92
146
|
(input) => mutate({
|
|
93
|
-
// @ts-
|
|
147
|
+
// @ts-expect-error -- to allow dynamic props
|
|
94
148
|
variables: { input },
|
|
95
149
|
context: tokenContext(token)
|
|
96
150
|
}),
|
|
@@ -3,7 +3,7 @@ import { InMemoryCacheConfig, OperationVariables, MutationHookOptions } from '@a
|
|
|
3
3
|
import { TypedDocumentNode } from '@graphql-typed-document-node/core';
|
|
4
4
|
import React__default, { PropsWithChildren } from 'react';
|
|
5
5
|
|
|
6
|
-
declare const ApolloWrapper: ({ children, cacheConfig }: PropsWithChildren<{
|
|
6
|
+
declare const ApolloWrapper: ({ children, cacheConfig, }: PropsWithChildren<{
|
|
7
7
|
cacheConfig?: InMemoryCacheConfig;
|
|
8
8
|
}>) => React__default.JSX.Element;
|
|
9
9
|
declare const tokenContext: (token?: string | null) => {
|
package/dist/graphql/client.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { InMemoryCacheConfig, OperationVariables, MutationHookOptions } from '@a
|
|
|
3
3
|
import { TypedDocumentNode } from '@graphql-typed-document-node/core';
|
|
4
4
|
import React__default, { PropsWithChildren } from 'react';
|
|
5
5
|
|
|
6
|
-
declare const ApolloWrapper: ({ children, cacheConfig }: PropsWithChildren<{
|
|
6
|
+
declare const ApolloWrapper: ({ children, cacheConfig, }: PropsWithChildren<{
|
|
7
7
|
cacheConfig?: InMemoryCacheConfig;
|
|
8
8
|
}>) => React__default.JSX.Element;
|
|
9
9
|
declare const tokenContext: (token?: string | null) => {
|
|
@@ -17,12 +17,66 @@ import React, {
|
|
|
17
17
|
useEffect,
|
|
18
18
|
useState
|
|
19
19
|
} from "react";
|
|
20
|
-
|
|
20
|
+
|
|
21
|
+
// src/env.ts
|
|
22
|
+
var getEnvValue = (key) => {
|
|
23
|
+
switch (key) {
|
|
24
|
+
case "NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */:
|
|
25
|
+
return process.env.NEXT_PUBLIC_GRAPHQL_ENDPOINT;
|
|
26
|
+
case "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */:
|
|
27
|
+
return process.env.NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT;
|
|
28
|
+
case "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */:
|
|
29
|
+
return process.env.NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT;
|
|
30
|
+
case "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */:
|
|
31
|
+
return process.env.NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT;
|
|
32
|
+
case "NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */:
|
|
33
|
+
return process.env.NEXT_PUBLIC_FILE_ENDPOINT;
|
|
34
|
+
case "NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */:
|
|
35
|
+
return process.env.NEXT_PUBLIC_BASE_URL;
|
|
36
|
+
case "REFRESH_KEY" /* REFRESH_KEY */:
|
|
37
|
+
return process.env.REFRESH_KEY;
|
|
38
|
+
case "SIGNING_KEY" /* SIGNING_KEY */:
|
|
39
|
+
return process.env.SIGNING_KEY;
|
|
40
|
+
case "INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */:
|
|
41
|
+
return process.env.INSTAGRAM_CLIENT_SECRET;
|
|
42
|
+
case "INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */:
|
|
43
|
+
return process.env.INSTAGRAM_CLIENT_ID;
|
|
44
|
+
case "GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */:
|
|
45
|
+
return process.env.GOOGLE_CLIENT_SECRET;
|
|
46
|
+
case "GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */:
|
|
47
|
+
return process.env.GOOGLE_CLIENT_ID;
|
|
48
|
+
case "TURNSTILE_KEY" /* TURNSTILE_KEY */:
|
|
49
|
+
return process.env.TURNSTILE_KEY;
|
|
50
|
+
case "AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */:
|
|
51
|
+
return process.env.AWS_ACCESS_KEY_ID;
|
|
52
|
+
case "AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */:
|
|
53
|
+
return process.env.AWS_ACCESS_KEY_SECRET;
|
|
54
|
+
case "AWS_REGION" /* AWS_REGION */:
|
|
55
|
+
return process.env.AWS_REGION;
|
|
56
|
+
case "AWS_BUCKET" /* AWS_BUCKET */:
|
|
57
|
+
return process.env.AWS_BUCKET;
|
|
58
|
+
case "NODE_ENV" /* NODE_ENV */:
|
|
59
|
+
return process.env.NODE_ENV;
|
|
60
|
+
default:
|
|
61
|
+
return process.env[key];
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
function getEnv(key, skipCheck) {
|
|
65
|
+
const value = getEnvValue(key);
|
|
66
|
+
if (!skipCheck && !value) throw new Error(`${key} is not defined`);
|
|
67
|
+
return value;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// src/graphql/client.tsx
|
|
71
|
+
var ApolloWrapper = ({
|
|
72
|
+
children,
|
|
73
|
+
cacheConfig
|
|
74
|
+
}) => {
|
|
21
75
|
function makeClient() {
|
|
22
76
|
return new ApolloClient({
|
|
23
77
|
cache: new InMemoryCache(cacheConfig),
|
|
24
78
|
link: new HttpLink({
|
|
25
|
-
uri:
|
|
79
|
+
uri: getEnv("NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */)
|
|
26
80
|
})
|
|
27
81
|
});
|
|
28
82
|
}
|
|
@@ -66,7 +120,7 @@ function useAuthMutation(mutation, options) {
|
|
|
66
120
|
const [mutate, result] = useMutation(mutation, options);
|
|
67
121
|
const method = useCallback(
|
|
68
122
|
(input) => mutate({
|
|
69
|
-
// @ts-
|
|
123
|
+
// @ts-expect-error -- to allow dynamic props
|
|
70
124
|
variables: { input },
|
|
71
125
|
context: tokenContext(token)
|
|
72
126
|
}),
|
|
@@ -575,6 +575,57 @@ var import_server = require("@apollo/server");
|
|
|
575
575
|
var import_default = require("@apollo/server/plugin/landingPage/default");
|
|
576
576
|
var import_next = require("@as-integrations/next");
|
|
577
577
|
var import_type_graphql = require("type-graphql");
|
|
578
|
+
|
|
579
|
+
// src/env.ts
|
|
580
|
+
var getEnvValue = (key) => {
|
|
581
|
+
switch (key) {
|
|
582
|
+
case "NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */:
|
|
583
|
+
return process.env.NEXT_PUBLIC_GRAPHQL_ENDPOINT;
|
|
584
|
+
case "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */:
|
|
585
|
+
return process.env.NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT;
|
|
586
|
+
case "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */:
|
|
587
|
+
return process.env.NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT;
|
|
588
|
+
case "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */:
|
|
589
|
+
return process.env.NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT;
|
|
590
|
+
case "NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */:
|
|
591
|
+
return process.env.NEXT_PUBLIC_FILE_ENDPOINT;
|
|
592
|
+
case "NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */:
|
|
593
|
+
return process.env.NEXT_PUBLIC_BASE_URL;
|
|
594
|
+
case "REFRESH_KEY" /* REFRESH_KEY */:
|
|
595
|
+
return process.env.REFRESH_KEY;
|
|
596
|
+
case "SIGNING_KEY" /* SIGNING_KEY */:
|
|
597
|
+
return process.env.SIGNING_KEY;
|
|
598
|
+
case "INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */:
|
|
599
|
+
return process.env.INSTAGRAM_CLIENT_SECRET;
|
|
600
|
+
case "INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */:
|
|
601
|
+
return process.env.INSTAGRAM_CLIENT_ID;
|
|
602
|
+
case "GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */:
|
|
603
|
+
return process.env.GOOGLE_CLIENT_SECRET;
|
|
604
|
+
case "GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */:
|
|
605
|
+
return process.env.GOOGLE_CLIENT_ID;
|
|
606
|
+
case "TURNSTILE_KEY" /* TURNSTILE_KEY */:
|
|
607
|
+
return process.env.TURNSTILE_KEY;
|
|
608
|
+
case "AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */:
|
|
609
|
+
return process.env.AWS_ACCESS_KEY_ID;
|
|
610
|
+
case "AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */:
|
|
611
|
+
return process.env.AWS_ACCESS_KEY_SECRET;
|
|
612
|
+
case "AWS_REGION" /* AWS_REGION */:
|
|
613
|
+
return process.env.AWS_REGION;
|
|
614
|
+
case "AWS_BUCKET" /* AWS_BUCKET */:
|
|
615
|
+
return process.env.AWS_BUCKET;
|
|
616
|
+
case "NODE_ENV" /* NODE_ENV */:
|
|
617
|
+
return process.env.NODE_ENV;
|
|
618
|
+
default:
|
|
619
|
+
return process.env[key];
|
|
620
|
+
}
|
|
621
|
+
};
|
|
622
|
+
function getEnv(key, skipCheck) {
|
|
623
|
+
const value = getEnvValue(key);
|
|
624
|
+
if (!skipCheck && !value) throw new Error(`${key} is not defined`);
|
|
625
|
+
return value;
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
// src/graphql/init.ts
|
|
578
629
|
async function initGraphQLServer({
|
|
579
630
|
authChecker,
|
|
580
631
|
resolvers,
|
|
@@ -590,7 +641,7 @@ async function initGraphQLServer({
|
|
|
590
641
|
typeDefs,
|
|
591
642
|
resolvers: builtResolvers,
|
|
592
643
|
plugins: [
|
|
593
|
-
|
|
644
|
+
getEnv("NODE_ENV" /* NODE_ENV */, true) === "production" ? (0, import_default.ApolloServerPluginLandingPageProductionDefault)() : (0, import_default.ApolloServerPluginLandingPageLocalDefault)(),
|
|
594
645
|
{
|
|
595
646
|
async requestDidStart({ request, contextValue }) {
|
|
596
647
|
if (contextValue.isRefreshID && !request.query?.startsWith("query"))
|
|
@@ -599,7 +650,7 @@ async function initGraphQLServer({
|
|
|
599
650
|
},
|
|
600
651
|
...plugins || []
|
|
601
652
|
],
|
|
602
|
-
introspection:
|
|
653
|
+
introspection: getEnv("NODE_ENV" /* NODE_ENV */, true) !== "production",
|
|
603
654
|
status400ForVariableCoercionErrors: true
|
|
604
655
|
});
|
|
605
656
|
const handler = (0, import_next.startServerAndCreateNextHandler)(server, {
|
|
@@ -612,9 +663,62 @@ async function initGraphQLServer({
|
|
|
612
663
|
}
|
|
613
664
|
|
|
614
665
|
// src/graphql/utils.ts
|
|
666
|
+
var import_cache = require("next/cache");
|
|
667
|
+
var import_headers2 = require("next/headers");
|
|
615
668
|
var import_type_graphql2 = require("type-graphql");
|
|
669
|
+
|
|
670
|
+
// src/auth/constants.ts
|
|
671
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
672
|
+
|
|
673
|
+
// src/auth/email/token.ts
|
|
674
|
+
var import_bcryptjs = require("bcryptjs");
|
|
675
|
+
var import_jsonwebtoken = require("jsonwebtoken");
|
|
676
|
+
var import_headers = require("next/headers");
|
|
677
|
+
var import_navigation = require("next/navigation");
|
|
678
|
+
var import_server2 = require("next/server");
|
|
679
|
+
function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
680
|
+
if (refreshToken)
|
|
681
|
+
try {
|
|
682
|
+
const decoded = (0, import_jsonwebtoken.verify)(refreshToken, refreshKey);
|
|
683
|
+
if (typeof decoded !== "string" && typeof decoded.id === "number")
|
|
684
|
+
return decoded.id;
|
|
685
|
+
} catch (e) {
|
|
686
|
+
if (!(e instanceof import_jsonwebtoken.JsonWebTokenError)) console.error(e, "errors");
|
|
687
|
+
return null;
|
|
688
|
+
}
|
|
689
|
+
return null;
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
// src/graphql/utils.ts
|
|
616
693
|
function query(fn, options) {
|
|
617
|
-
return { ...options, fn };
|
|
694
|
+
return { ...options, fn, call: getCaller(fn, options) };
|
|
695
|
+
}
|
|
696
|
+
var getUserId = async () => {
|
|
697
|
+
const Cookie = await (0, import_headers2.cookies)();
|
|
698
|
+
const refresh = Cookie.get(REFRESH_COOKIE_NAME)?.value;
|
|
699
|
+
return refresh ? getUserIdFromRefreshToken(refresh) : null;
|
|
700
|
+
};
|
|
701
|
+
function getCaller(fn, options) {
|
|
702
|
+
return async (data, config) => {
|
|
703
|
+
if (config?.revalidate) {
|
|
704
|
+
const cachedFn = (data2, config2) => {
|
|
705
|
+
"use cache";
|
|
706
|
+
if (config2?.revalidate) (0, import_cache.cacheLife)(config2.revalidate);
|
|
707
|
+
if (config2?.tags) (0, import_cache.cacheTag)(...config2.tags);
|
|
708
|
+
const ctx2 = {
|
|
709
|
+
userId: null,
|
|
710
|
+
isRefreshID: true
|
|
711
|
+
};
|
|
712
|
+
return fn(ctx2, data2);
|
|
713
|
+
};
|
|
714
|
+
return cachedFn(data, config);
|
|
715
|
+
}
|
|
716
|
+
const ctx = {
|
|
717
|
+
userId: options.authorized ? await getUserId() : null,
|
|
718
|
+
isRefreshID: true
|
|
719
|
+
};
|
|
720
|
+
return fn(ctx, data);
|
|
721
|
+
};
|
|
618
722
|
}
|
|
619
723
|
function field(fn, options) {
|
|
620
724
|
return { ...options, fn };
|
package/dist/graphql/index.d.mts
CHANGED
package/dist/graphql/index.d.ts
CHANGED
|
@@ -562,6 +562,57 @@ import { startServerAndCreateNextHandler } from "@as-integrations/next";
|
|
|
562
562
|
import {
|
|
563
563
|
buildTypeDefsAndResolvers
|
|
564
564
|
} from "type-graphql";
|
|
565
|
+
|
|
566
|
+
// src/env.ts
|
|
567
|
+
var getEnvValue = (key) => {
|
|
568
|
+
switch (key) {
|
|
569
|
+
case "NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */:
|
|
570
|
+
return process.env.NEXT_PUBLIC_GRAPHQL_ENDPOINT;
|
|
571
|
+
case "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */:
|
|
572
|
+
return process.env.NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT;
|
|
573
|
+
case "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */:
|
|
574
|
+
return process.env.NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT;
|
|
575
|
+
case "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */:
|
|
576
|
+
return process.env.NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT;
|
|
577
|
+
case "NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */:
|
|
578
|
+
return process.env.NEXT_PUBLIC_FILE_ENDPOINT;
|
|
579
|
+
case "NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */:
|
|
580
|
+
return process.env.NEXT_PUBLIC_BASE_URL;
|
|
581
|
+
case "REFRESH_KEY" /* REFRESH_KEY */:
|
|
582
|
+
return process.env.REFRESH_KEY;
|
|
583
|
+
case "SIGNING_KEY" /* SIGNING_KEY */:
|
|
584
|
+
return process.env.SIGNING_KEY;
|
|
585
|
+
case "INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */:
|
|
586
|
+
return process.env.INSTAGRAM_CLIENT_SECRET;
|
|
587
|
+
case "INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */:
|
|
588
|
+
return process.env.INSTAGRAM_CLIENT_ID;
|
|
589
|
+
case "GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */:
|
|
590
|
+
return process.env.GOOGLE_CLIENT_SECRET;
|
|
591
|
+
case "GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */:
|
|
592
|
+
return process.env.GOOGLE_CLIENT_ID;
|
|
593
|
+
case "TURNSTILE_KEY" /* TURNSTILE_KEY */:
|
|
594
|
+
return process.env.TURNSTILE_KEY;
|
|
595
|
+
case "AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */:
|
|
596
|
+
return process.env.AWS_ACCESS_KEY_ID;
|
|
597
|
+
case "AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */:
|
|
598
|
+
return process.env.AWS_ACCESS_KEY_SECRET;
|
|
599
|
+
case "AWS_REGION" /* AWS_REGION */:
|
|
600
|
+
return process.env.AWS_REGION;
|
|
601
|
+
case "AWS_BUCKET" /* AWS_BUCKET */:
|
|
602
|
+
return process.env.AWS_BUCKET;
|
|
603
|
+
case "NODE_ENV" /* NODE_ENV */:
|
|
604
|
+
return process.env.NODE_ENV;
|
|
605
|
+
default:
|
|
606
|
+
return process.env[key];
|
|
607
|
+
}
|
|
608
|
+
};
|
|
609
|
+
function getEnv(key, skipCheck) {
|
|
610
|
+
const value = getEnvValue(key);
|
|
611
|
+
if (!skipCheck && !value) throw new Error(`${key} is not defined`);
|
|
612
|
+
return value;
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
// src/graphql/init.ts
|
|
565
616
|
async function initGraphQLServer({
|
|
566
617
|
authChecker,
|
|
567
618
|
resolvers,
|
|
@@ -577,7 +628,7 @@ async function initGraphQLServer({
|
|
|
577
628
|
typeDefs,
|
|
578
629
|
resolvers: builtResolvers,
|
|
579
630
|
plugins: [
|
|
580
|
-
|
|
631
|
+
getEnv("NODE_ENV" /* NODE_ENV */, true) === "production" ? ApolloServerPluginLandingPageProductionDefault() : ApolloServerPluginLandingPageLocalDefault(),
|
|
581
632
|
{
|
|
582
633
|
async requestDidStart({ request, contextValue }) {
|
|
583
634
|
if (contextValue.isRefreshID && !request.query?.startsWith("query"))
|
|
@@ -586,7 +637,7 @@ async function initGraphQLServer({
|
|
|
586
637
|
},
|
|
587
638
|
...plugins || []
|
|
588
639
|
],
|
|
589
|
-
introspection:
|
|
640
|
+
introspection: getEnv("NODE_ENV" /* NODE_ENV */, true) !== "production",
|
|
590
641
|
status400ForVariableCoercionErrors: true
|
|
591
642
|
});
|
|
592
643
|
const handler = startServerAndCreateNextHandler(server, {
|
|
@@ -599,6 +650,8 @@ async function initGraphQLServer({
|
|
|
599
650
|
}
|
|
600
651
|
|
|
601
652
|
// src/graphql/utils.ts
|
|
653
|
+
import { cacheLife, cacheTag } from "next/cache";
|
|
654
|
+
import { cookies as cookies2 } from "next/headers";
|
|
602
655
|
import {
|
|
603
656
|
Arg,
|
|
604
657
|
Authorized,
|
|
@@ -609,8 +662,59 @@ import {
|
|
|
609
662
|
Resolver,
|
|
610
663
|
Root
|
|
611
664
|
} from "type-graphql";
|
|
665
|
+
|
|
666
|
+
// src/auth/constants.ts
|
|
667
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
668
|
+
|
|
669
|
+
// src/auth/email/token.ts
|
|
670
|
+
import { compare } from "bcryptjs";
|
|
671
|
+
import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
|
|
672
|
+
import { cookies } from "next/headers";
|
|
673
|
+
import { redirect } from "next/navigation";
|
|
674
|
+
import { NextResponse } from "next/server";
|
|
675
|
+
function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
676
|
+
if (refreshToken)
|
|
677
|
+
try {
|
|
678
|
+
const decoded = verify(refreshToken, refreshKey);
|
|
679
|
+
if (typeof decoded !== "string" && typeof decoded.id === "number")
|
|
680
|
+
return decoded.id;
|
|
681
|
+
} catch (e) {
|
|
682
|
+
if (!(e instanceof JsonWebTokenError)) console.error(e, "errors");
|
|
683
|
+
return null;
|
|
684
|
+
}
|
|
685
|
+
return null;
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
// src/graphql/utils.ts
|
|
612
689
|
function query(fn, options) {
|
|
613
|
-
return { ...options, fn };
|
|
690
|
+
return { ...options, fn, call: getCaller(fn, options) };
|
|
691
|
+
}
|
|
692
|
+
var getUserId = async () => {
|
|
693
|
+
const Cookie = await cookies2();
|
|
694
|
+
const refresh = Cookie.get(REFRESH_COOKIE_NAME)?.value;
|
|
695
|
+
return refresh ? getUserIdFromRefreshToken(refresh) : null;
|
|
696
|
+
};
|
|
697
|
+
function getCaller(fn, options) {
|
|
698
|
+
return async (data, config) => {
|
|
699
|
+
if (config?.revalidate) {
|
|
700
|
+
const cachedFn = (data2, config2) => {
|
|
701
|
+
"use cache";
|
|
702
|
+
if (config2?.revalidate) cacheLife(config2.revalidate);
|
|
703
|
+
if (config2?.tags) cacheTag(...config2.tags);
|
|
704
|
+
const ctx2 = {
|
|
705
|
+
userId: null,
|
|
706
|
+
isRefreshID: true
|
|
707
|
+
};
|
|
708
|
+
return fn(ctx2, data2);
|
|
709
|
+
};
|
|
710
|
+
return cachedFn(data, config);
|
|
711
|
+
}
|
|
712
|
+
const ctx = {
|
|
713
|
+
userId: options.authorized ? await getUserId() : null,
|
|
714
|
+
isRefreshID: true
|
|
715
|
+
};
|
|
716
|
+
return fn(ctx, data);
|
|
717
|
+
};
|
|
614
718
|
}
|
|
615
719
|
function field(fn, options) {
|
|
616
720
|
return { ...options, fn };
|
package/dist/graphql/init.cjs.js
CHANGED
|
@@ -28,6 +28,57 @@ var import_server = require("@apollo/server");
|
|
|
28
28
|
var import_default = require("@apollo/server/plugin/landingPage/default");
|
|
29
29
|
var import_next = require("@as-integrations/next");
|
|
30
30
|
var import_type_graphql = require("type-graphql");
|
|
31
|
+
|
|
32
|
+
// src/env.ts
|
|
33
|
+
var getEnvValue = (key) => {
|
|
34
|
+
switch (key) {
|
|
35
|
+
case "NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */:
|
|
36
|
+
return process.env.NEXT_PUBLIC_GRAPHQL_ENDPOINT;
|
|
37
|
+
case "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */:
|
|
38
|
+
return process.env.NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT;
|
|
39
|
+
case "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */:
|
|
40
|
+
return process.env.NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT;
|
|
41
|
+
case "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */:
|
|
42
|
+
return process.env.NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT;
|
|
43
|
+
case "NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */:
|
|
44
|
+
return process.env.NEXT_PUBLIC_FILE_ENDPOINT;
|
|
45
|
+
case "NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */:
|
|
46
|
+
return process.env.NEXT_PUBLIC_BASE_URL;
|
|
47
|
+
case "REFRESH_KEY" /* REFRESH_KEY */:
|
|
48
|
+
return process.env.REFRESH_KEY;
|
|
49
|
+
case "SIGNING_KEY" /* SIGNING_KEY */:
|
|
50
|
+
return process.env.SIGNING_KEY;
|
|
51
|
+
case "INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */:
|
|
52
|
+
return process.env.INSTAGRAM_CLIENT_SECRET;
|
|
53
|
+
case "INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */:
|
|
54
|
+
return process.env.INSTAGRAM_CLIENT_ID;
|
|
55
|
+
case "GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */:
|
|
56
|
+
return process.env.GOOGLE_CLIENT_SECRET;
|
|
57
|
+
case "GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */:
|
|
58
|
+
return process.env.GOOGLE_CLIENT_ID;
|
|
59
|
+
case "TURNSTILE_KEY" /* TURNSTILE_KEY */:
|
|
60
|
+
return process.env.TURNSTILE_KEY;
|
|
61
|
+
case "AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */:
|
|
62
|
+
return process.env.AWS_ACCESS_KEY_ID;
|
|
63
|
+
case "AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */:
|
|
64
|
+
return process.env.AWS_ACCESS_KEY_SECRET;
|
|
65
|
+
case "AWS_REGION" /* AWS_REGION */:
|
|
66
|
+
return process.env.AWS_REGION;
|
|
67
|
+
case "AWS_BUCKET" /* AWS_BUCKET */:
|
|
68
|
+
return process.env.AWS_BUCKET;
|
|
69
|
+
case "NODE_ENV" /* NODE_ENV */:
|
|
70
|
+
return process.env.NODE_ENV;
|
|
71
|
+
default:
|
|
72
|
+
return process.env[key];
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
function getEnv(key, skipCheck) {
|
|
76
|
+
const value = getEnvValue(key);
|
|
77
|
+
if (!skipCheck && !value) throw new Error(`${key} is not defined`);
|
|
78
|
+
return value;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// src/graphql/init.ts
|
|
31
82
|
async function initGraphQLServer({
|
|
32
83
|
authChecker,
|
|
33
84
|
resolvers,
|
|
@@ -43,7 +94,7 @@ async function initGraphQLServer({
|
|
|
43
94
|
typeDefs,
|
|
44
95
|
resolvers: builtResolvers,
|
|
45
96
|
plugins: [
|
|
46
|
-
|
|
97
|
+
getEnv("NODE_ENV" /* NODE_ENV */, true) === "production" ? (0, import_default.ApolloServerPluginLandingPageProductionDefault)() : (0, import_default.ApolloServerPluginLandingPageLocalDefault)(),
|
|
47
98
|
{
|
|
48
99
|
async requestDidStart({ request, contextValue }) {
|
|
49
100
|
if (contextValue.isRefreshID && !request.query?.startsWith("query"))
|
|
@@ -52,7 +103,7 @@ async function initGraphQLServer({
|
|
|
52
103
|
},
|
|
53
104
|
...plugins || []
|
|
54
105
|
],
|
|
55
|
-
introspection:
|
|
106
|
+
introspection: getEnv("NODE_ENV" /* NODE_ENV */, true) !== "production",
|
|
56
107
|
status400ForVariableCoercionErrors: true
|
|
57
108
|
});
|
|
58
109
|
const handler = (0, import_next.startServerAndCreateNextHandler)(server, {
|