naystack 1.4.16 → 1.4.20

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 (87) hide show
  1. package/dist/auth/email/client.cjs.js +27 -12
  2. package/dist/auth/email/client.esm.js +27 -12
  3. package/dist/auth/email/index.cjs.js +32 -15
  4. package/dist/auth/email/index.esm.js +32 -15
  5. package/dist/auth/email/routes/delete.cjs.js +14 -4
  6. package/dist/auth/email/routes/delete.esm.js +14 -4
  7. package/dist/auth/email/routes/get.cjs.js +12 -2
  8. package/dist/auth/email/routes/get.esm.js +12 -2
  9. package/dist/auth/email/routes/post.cjs.js +17 -6
  10. package/dist/auth/email/routes/post.esm.js +17 -6
  11. package/dist/auth/email/routes/put.cjs.js +12 -4
  12. package/dist/auth/email/routes/put.esm.js +12 -4
  13. package/dist/auth/email/token.cjs.js +9 -2
  14. package/dist/auth/email/token.esm.js +9 -2
  15. package/dist/auth/email/types.d.mts +1 -7
  16. package/dist/auth/email/types.d.ts +1 -7
  17. package/dist/auth/email/utils.cjs.js +16 -5
  18. package/dist/auth/email/utils.d.mts +2 -2
  19. package/dist/auth/email/utils.d.ts +2 -2
  20. package/dist/auth/email/utils.esm.js +16 -5
  21. package/dist/auth/google/get.cjs.js +15 -7
  22. package/dist/auth/google/get.d.mts +1 -3
  23. package/dist/auth/google/get.d.ts +1 -3
  24. package/dist/auth/google/get.esm.js +15 -7
  25. package/dist/auth/google/index.cjs.js +15 -7
  26. package/dist/auth/google/index.d.mts +0 -5
  27. package/dist/auth/google/index.d.ts +0 -5
  28. package/dist/auth/google/index.esm.js +15 -7
  29. package/dist/auth/index.cjs.js +47 -31
  30. package/dist/auth/index.esm.js +47 -31
  31. package/dist/auth/instagram/client.cjs.js +12 -1
  32. package/dist/auth/instagram/client.d.mts +1 -1
  33. package/dist/auth/instagram/client.d.ts +1 -1
  34. package/dist/auth/instagram/client.esm.js +10 -1
  35. package/dist/auth/instagram/index.cjs.js +16 -9
  36. package/dist/auth/instagram/index.d.mts +0 -2
  37. package/dist/auth/instagram/index.d.ts +0 -2
  38. package/dist/auth/instagram/index.esm.js +16 -9
  39. package/dist/auth/instagram/route.cjs.js +16 -9
  40. package/dist/auth/instagram/route.d.mts +1 -1
  41. package/dist/auth/instagram/route.d.ts +1 -1
  42. package/dist/auth/instagram/route.esm.js +16 -9
  43. package/dist/auth/instagram/utils.cjs.js +10 -1
  44. package/dist/auth/instagram/utils.esm.js +8 -1
  45. package/dist/client/index.cjs.js +8 -1
  46. package/dist/client/index.esm.js +8 -1
  47. package/dist/client/seo.cjs.js +10 -1
  48. package/dist/client/seo.esm.js +8 -1
  49. package/dist/env.cjs.js +57 -0
  50. package/dist/env.d.mts +23 -0
  51. package/dist/env.d.ts +23 -0
  52. package/dist/env.esm.js +31 -0
  53. package/dist/file/client.cjs.js +10 -1
  54. package/dist/file/client.esm.js +10 -1
  55. package/dist/file/index.cjs.js +40 -28
  56. package/dist/file/index.d.mts +0 -2
  57. package/dist/file/index.d.ts +0 -2
  58. package/dist/file/index.esm.js +40 -28
  59. package/dist/file/put.cjs.js +23 -11
  60. package/dist/file/put.d.mts +0 -2
  61. package/dist/file/put.d.ts +0 -2
  62. package/dist/file/put.esm.js +23 -11
  63. package/dist/file/setup.cjs.js +40 -28
  64. package/dist/file/setup.d.mts +0 -7
  65. package/dist/file/setup.d.ts +0 -7
  66. package/dist/file/setup.esm.js +40 -28
  67. package/dist/file/utils.cjs.js +28 -17
  68. package/dist/file/utils.d.mts +6 -10
  69. package/dist/file/utils.d.ts +6 -10
  70. package/dist/file/utils.esm.js +28 -17
  71. package/dist/graphql/client.cjs.js +15 -3
  72. package/dist/graphql/client.d.mts +1 -1
  73. package/dist/graphql/client.d.ts +1 -1
  74. package/dist/graphql/client.esm.js +15 -3
  75. package/dist/graphql/index.cjs.js +65 -3
  76. package/dist/graphql/index.d.mts +1 -0
  77. package/dist/graphql/index.d.ts +1 -0
  78. package/dist/graphql/index.esm.js +65 -3
  79. package/dist/graphql/init.cjs.js +11 -2
  80. package/dist/graphql/init.esm.js +11 -2
  81. package/dist/graphql/server.cjs.js +10 -1
  82. package/dist/graphql/server.esm.js +10 -1
  83. package/dist/graphql/utils.cjs.js +54 -1
  84. package/dist/graphql/utils.d.mts +10 -3
  85. package/dist/graphql/utils.d.ts +10 -3
  86. package/dist/graphql/utils.esm.js +54 -1
  87. package/package.json +1 -1
@@ -7,10 +7,19 @@ import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
7
7
  import { cookies } from "next/headers";
8
8
  import { redirect } from "next/navigation";
9
9
  import { NextResponse } from "next/server";
10
+
11
+ // src/env.ts
12
+ function getEnv(key, skipCheck) {
13
+ const value = process.env[key];
14
+ if (!skipCheck && !value) throw new Error(`${key} is not defined`);
15
+ return value;
16
+ }
17
+
18
+ // src/auth/email/token.ts
10
19
  function getUserIdFromAccessToken(refreshToken) {
11
- if (refreshToken && process.env.SIGNING_KEY)
20
+ if (refreshToken)
12
21
  try {
13
- const decoded = verify(refreshToken, process.env.SIGNING_KEY);
22
+ const decoded = verify(refreshToken, getEnv("SIGNING_KEY" /* SIGNING_KEY */));
14
23
  if (typeof decoded !== "string" && typeof decoded.id === "number")
15
24
  return decoded.id;
16
25
  } catch (e) {
@@ -37,7 +46,7 @@ async function getLongLivedToken(code, redirectURL, clientId, clientSecret) {
37
46
  if (shortResData.access_token) {
38
47
  const shortLivedToken = shortResData.access_token;
39
48
  const longRes = await fetch(
40
- `https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${process.env.INSTAGRAM_CLIENT_SECRET}`
49
+ `https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${getEnv("INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */)}`
41
50
  );
42
51
  if (longRes.ok) {
43
52
  const longResData = await longRes.json();
@@ -79,9 +88,7 @@ import { NextResponse as NextResponse2 } from "next/server";
79
88
  var getInstagramRoute = ({
80
89
  successRedirectURL,
81
90
  errorRedirectURL,
82
- onUser,
83
- clientSecret,
84
- clientId
91
+ onUser
85
92
  }) => {
86
93
  const handleError = (message) => NextResponse3.redirect(`${errorRedirectURL}?error=${message}`);
87
94
  return async (req) => {
@@ -92,9 +99,9 @@ var getInstagramRoute = ({
92
99
  if (!stateToken || !accessCode) return handleError("Invalid request");
93
100
  const instagramData = await getLongLivedToken(
94
101
  accessCode,
95
- process.env.NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT,
96
- clientId,
97
- clientSecret
102
+ getEnv("NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */),
103
+ getEnv("INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */),
104
+ getEnv("INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */)
98
105
  );
99
106
  if (!instagramData?.accessToken)
100
107
  return handleError("Unable to reach Instagram");
@@ -24,6 +24,15 @@ __export(utils_exports, {
24
24
  getRefreshedAccessToken: () => getRefreshedAccessToken
25
25
  });
26
26
  module.exports = __toCommonJS(utils_exports);
27
+
28
+ // src/env.ts
29
+ function getEnv(key, skipCheck) {
30
+ const value = process.env[key];
31
+ if (!skipCheck && !value) throw new Error(`${key} is not defined`);
32
+ return value;
33
+ }
34
+
35
+ // src/auth/instagram/utils.ts
27
36
  async function getRefreshedAccessToken(token) {
28
37
  const request = await fetch(
29
38
  `https://graph.instagram.com/refresh_access_token?grant_type=ig_refresh_token&access_token=${token}`
@@ -47,7 +56,7 @@ async function getLongLivedToken(code, redirectURL, clientId, clientSecret) {
47
56
  if (shortResData.access_token) {
48
57
  const shortLivedToken = shortResData.access_token;
49
58
  const longRes = await fetch(
50
- `https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${process.env.INSTAGRAM_CLIENT_SECRET}`
59
+ `https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${getEnv("INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */)}`
51
60
  );
52
61
  if (longRes.ok) {
53
62
  const longResData = await longRes.json();
@@ -1,3 +1,10 @@
1
+ // src/env.ts
2
+ function getEnv(key, skipCheck) {
3
+ const value = process.env[key];
4
+ if (!skipCheck && !value) throw new Error(`${key} is not defined`);
5
+ return value;
6
+ }
7
+
1
8
  // src/auth/instagram/utils.ts
2
9
  async function getRefreshedAccessToken(token) {
3
10
  const request = await fetch(
@@ -22,7 +29,7 @@ async function getLongLivedToken(code, redirectURL, clientId, clientSecret) {
22
29
  if (shortResData.access_token) {
23
30
  const shortLivedToken = shortResData.access_token;
24
31
  const longRes = await fetch(
25
- `https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${process.env.INSTAGRAM_CLIENT_SECRET}`
32
+ `https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${getEnv("INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */)}`
26
33
  );
27
34
  if (longRes.ok) {
28
35
  const longResData = await longRes.json();
@@ -71,6 +71,13 @@ function useBreakpoint(query) {
71
71
  return matches;
72
72
  }
73
73
 
74
+ // src/env.ts
75
+ function getEnv(key, skipCheck) {
76
+ const value = process.env[key];
77
+ if (!skipCheck && !value) throw new Error(`${key} is not defined`);
78
+ return value;
79
+ }
80
+
74
81
  // src/client/seo.ts
75
82
  var setupSEO = (SEO) => (title, description, image) => ({
76
83
  title: title ? `${title} \u2022 ${SEO.siteName}` : SEO.title,
@@ -87,7 +94,7 @@ var setupSEO = (SEO) => (title, description, image) => ({
87
94
  appleWebApp: {
88
95
  title: title ? title : SEO.title,
89
96
  capable: true,
90
- startupImage: `${process.env.NEXT_PUBLIC_BASE_URL}/apple-icon.png`
97
+ startupImage: `${getEnv("NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */)}/apple-icon.png`
91
98
  },
92
99
  applicationName: SEO.siteName,
93
100
  creator: SEO.siteName,
@@ -43,6 +43,13 @@ function useBreakpoint(query) {
43
43
  return matches;
44
44
  }
45
45
 
46
+ // src/env.ts
47
+ function getEnv(key, skipCheck) {
48
+ const value = process.env[key];
49
+ if (!skipCheck && !value) throw new Error(`${key} is not defined`);
50
+ return value;
51
+ }
52
+
46
53
  // src/client/seo.ts
47
54
  var setupSEO = (SEO) => (title, description, image) => ({
48
55
  title: title ? `${title} \u2022 ${SEO.siteName}` : SEO.title,
@@ -59,7 +66,7 @@ var setupSEO = (SEO) => (title, description, image) => ({
59
66
  appleWebApp: {
60
67
  title: title ? title : SEO.title,
61
68
  capable: true,
62
- startupImage: `${process.env.NEXT_PUBLIC_BASE_URL}/apple-icon.png`
69
+ startupImage: `${getEnv("NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */)}/apple-icon.png`
63
70
  },
64
71
  applicationName: SEO.siteName,
65
72
  creator: SEO.siteName,
@@ -23,6 +23,15 @@ __export(seo_exports, {
23
23
  setupSEO: () => setupSEO
24
24
  });
25
25
  module.exports = __toCommonJS(seo_exports);
26
+
27
+ // src/env.ts
28
+ function getEnv(key, skipCheck) {
29
+ const value = process.env[key];
30
+ if (!skipCheck && !value) throw new Error(`${key} is not defined`);
31
+ return value;
32
+ }
33
+
34
+ // src/client/seo.ts
26
35
  var setupSEO = (SEO) => (title, description, image) => ({
27
36
  title: title ? `${title} \u2022 ${SEO.siteName}` : SEO.title,
28
37
  description: description || SEO.description,
@@ -38,7 +47,7 @@ var setupSEO = (SEO) => (title, description, image) => ({
38
47
  appleWebApp: {
39
48
  title: title ? title : SEO.title,
40
49
  capable: true,
41
- startupImage: `${process.env.NEXT_PUBLIC_BASE_URL}/apple-icon.png`
50
+ startupImage: `${getEnv("NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */)}/apple-icon.png`
42
51
  },
43
52
  applicationName: SEO.siteName,
44
53
  creator: SEO.siteName,
@@ -1,3 +1,10 @@
1
+ // src/env.ts
2
+ function getEnv(key, skipCheck) {
3
+ const value = process.env[key];
4
+ if (!skipCheck && !value) throw new Error(`${key} is not defined`);
5
+ return value;
6
+ }
7
+
1
8
  // src/client/seo.ts
2
9
  var setupSEO = (SEO) => (title, description, image) => ({
3
10
  title: title ? `${title} \u2022 ${SEO.siteName}` : SEO.title,
@@ -14,7 +21,7 @@ var setupSEO = (SEO) => (title, description, image) => ({
14
21
  appleWebApp: {
15
22
  title: title ? title : SEO.title,
16
23
  capable: true,
17
- startupImage: `${process.env.NEXT_PUBLIC_BASE_URL}/apple-icon.png`
24
+ startupImage: `${getEnv("NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */)}/apple-icon.png`
18
25
  },
19
26
  applicationName: SEO.siteName,
20
27
  creator: SEO.siteName,
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/env.ts
21
+ var env_exports = {};
22
+ __export(env_exports, {
23
+ EnvVariable: () => EnvVariable,
24
+ getEnv: () => getEnv
25
+ });
26
+ module.exports = __toCommonJS(env_exports);
27
+ var EnvVariable = /* @__PURE__ */ ((EnvVariable2) => {
28
+ EnvVariable2["NEXT_PUBLIC_GRAPHQL_ENDPOINT"] = "NEXT_PUBLIC_GRAPHQL_ENDPOINT";
29
+ EnvVariable2["NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT"] = "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT";
30
+ EnvVariable2["NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT"] = "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT";
31
+ EnvVariable2["NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT"] = "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT";
32
+ EnvVariable2["NEXT_PUBLIC_FILE_ENDPOINT"] = "NEXT_PUBLIC_FILE_ENDPOINT";
33
+ EnvVariable2["NEXT_PUBLIC_BASE_URL"] = "NEXT_PUBLIC_BASE_URL";
34
+ EnvVariable2["REFRESH_KEY"] = "REFRESH_KEY";
35
+ EnvVariable2["SIGNING_KEY"] = "SIGNING_KEY";
36
+ EnvVariable2["INSTAGRAM_CLIENT_SECRET"] = "INSTAGRAM_CLIENT_SECRET";
37
+ EnvVariable2["INSTAGRAM_CLIENT_ID"] = "INSTAGRAM_CLIENT_ID";
38
+ EnvVariable2["GOOGLE_CLIENT_SECRET"] = "GOOGLE_CLIENT_SECRET";
39
+ EnvVariable2["GOOGLE_CLIENT_ID"] = "GOOGLE_CLIENT_ID";
40
+ EnvVariable2["TURNSTILE_KEY"] = "TURNSTILE_KEY";
41
+ EnvVariable2["AWS_ACCESS_KEY_ID"] = "AWS_ACCESS_KEY_ID";
42
+ EnvVariable2["AWS_ACCESS_KEY_SECRET"] = "AWS_ACCESS_KEY_SECRET";
43
+ EnvVariable2["AWS_REGION"] = "AWS_REGION";
44
+ EnvVariable2["AWS_BUCKET"] = "AWS_BUCKET";
45
+ EnvVariable2["NODE_ENV"] = "NODE_ENV";
46
+ return EnvVariable2;
47
+ })(EnvVariable || {});
48
+ function getEnv(key, skipCheck) {
49
+ const value = process.env[key];
50
+ if (!skipCheck && !value) throw new Error(`${key} is not defined`);
51
+ return value;
52
+ }
53
+ // Annotate the CommonJS export names for ESM import in node:
54
+ 0 && (module.exports = {
55
+ EnvVariable,
56
+ getEnv
57
+ });
package/dist/env.d.mts ADDED
@@ -0,0 +1,23 @@
1
+ declare enum EnvVariable {
2
+ NEXT_PUBLIC_GRAPHQL_ENDPOINT = "NEXT_PUBLIC_GRAPHQL_ENDPOINT",
3
+ NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT = "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT",
4
+ NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT = "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT",
5
+ NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT = "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT",
6
+ NEXT_PUBLIC_FILE_ENDPOINT = "NEXT_PUBLIC_FILE_ENDPOINT",
7
+ NEXT_PUBLIC_BASE_URL = "NEXT_PUBLIC_BASE_URL",
8
+ REFRESH_KEY = "REFRESH_KEY",
9
+ SIGNING_KEY = "SIGNING_KEY",
10
+ INSTAGRAM_CLIENT_SECRET = "INSTAGRAM_CLIENT_SECRET",
11
+ INSTAGRAM_CLIENT_ID = "INSTAGRAM_CLIENT_ID",
12
+ GOOGLE_CLIENT_SECRET = "GOOGLE_CLIENT_SECRET",
13
+ GOOGLE_CLIENT_ID = "GOOGLE_CLIENT_ID",
14
+ TURNSTILE_KEY = "TURNSTILE_KEY",
15
+ AWS_ACCESS_KEY_ID = "AWS_ACCESS_KEY_ID",
16
+ AWS_ACCESS_KEY_SECRET = "AWS_ACCESS_KEY_SECRET",
17
+ AWS_REGION = "AWS_REGION",
18
+ AWS_BUCKET = "AWS_BUCKET",
19
+ NODE_ENV = "NODE_ENV"
20
+ }
21
+ declare function getEnv<T extends boolean = false>(key: EnvVariable, skipCheck?: T): T extends true ? string | undefined : string;
22
+
23
+ export { EnvVariable, getEnv };
package/dist/env.d.ts ADDED
@@ -0,0 +1,23 @@
1
+ declare enum EnvVariable {
2
+ NEXT_PUBLIC_GRAPHQL_ENDPOINT = "NEXT_PUBLIC_GRAPHQL_ENDPOINT",
3
+ NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT = "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT",
4
+ NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT = "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT",
5
+ NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT = "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT",
6
+ NEXT_PUBLIC_FILE_ENDPOINT = "NEXT_PUBLIC_FILE_ENDPOINT",
7
+ NEXT_PUBLIC_BASE_URL = "NEXT_PUBLIC_BASE_URL",
8
+ REFRESH_KEY = "REFRESH_KEY",
9
+ SIGNING_KEY = "SIGNING_KEY",
10
+ INSTAGRAM_CLIENT_SECRET = "INSTAGRAM_CLIENT_SECRET",
11
+ INSTAGRAM_CLIENT_ID = "INSTAGRAM_CLIENT_ID",
12
+ GOOGLE_CLIENT_SECRET = "GOOGLE_CLIENT_SECRET",
13
+ GOOGLE_CLIENT_ID = "GOOGLE_CLIENT_ID",
14
+ TURNSTILE_KEY = "TURNSTILE_KEY",
15
+ AWS_ACCESS_KEY_ID = "AWS_ACCESS_KEY_ID",
16
+ AWS_ACCESS_KEY_SECRET = "AWS_ACCESS_KEY_SECRET",
17
+ AWS_REGION = "AWS_REGION",
18
+ AWS_BUCKET = "AWS_BUCKET",
19
+ NODE_ENV = "NODE_ENV"
20
+ }
21
+ declare function getEnv<T extends boolean = false>(key: EnvVariable, skipCheck?: T): T extends true ? string | undefined : string;
22
+
23
+ export { EnvVariable, getEnv };
@@ -0,0 +1,31 @@
1
+ // src/env.ts
2
+ var EnvVariable = /* @__PURE__ */ ((EnvVariable2) => {
3
+ EnvVariable2["NEXT_PUBLIC_GRAPHQL_ENDPOINT"] = "NEXT_PUBLIC_GRAPHQL_ENDPOINT";
4
+ EnvVariable2["NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT"] = "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT";
5
+ EnvVariable2["NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT"] = "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT";
6
+ EnvVariable2["NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT"] = "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT";
7
+ EnvVariable2["NEXT_PUBLIC_FILE_ENDPOINT"] = "NEXT_PUBLIC_FILE_ENDPOINT";
8
+ EnvVariable2["NEXT_PUBLIC_BASE_URL"] = "NEXT_PUBLIC_BASE_URL";
9
+ EnvVariable2["REFRESH_KEY"] = "REFRESH_KEY";
10
+ EnvVariable2["SIGNING_KEY"] = "SIGNING_KEY";
11
+ EnvVariable2["INSTAGRAM_CLIENT_SECRET"] = "INSTAGRAM_CLIENT_SECRET";
12
+ EnvVariable2["INSTAGRAM_CLIENT_ID"] = "INSTAGRAM_CLIENT_ID";
13
+ EnvVariable2["GOOGLE_CLIENT_SECRET"] = "GOOGLE_CLIENT_SECRET";
14
+ EnvVariable2["GOOGLE_CLIENT_ID"] = "GOOGLE_CLIENT_ID";
15
+ EnvVariable2["TURNSTILE_KEY"] = "TURNSTILE_KEY";
16
+ EnvVariable2["AWS_ACCESS_KEY_ID"] = "AWS_ACCESS_KEY_ID";
17
+ EnvVariable2["AWS_ACCESS_KEY_SECRET"] = "AWS_ACCESS_KEY_SECRET";
18
+ EnvVariable2["AWS_REGION"] = "AWS_REGION";
19
+ EnvVariable2["AWS_BUCKET"] = "AWS_BUCKET";
20
+ EnvVariable2["NODE_ENV"] = "NODE_ENV";
21
+ return EnvVariable2;
22
+ })(EnvVariable || {});
23
+ function getEnv(key, skipCheck) {
24
+ const value = process.env[key];
25
+ if (!skipCheck && !value) throw new Error(`${key} is not defined`);
26
+ return value;
27
+ }
28
+ export {
29
+ EnvVariable,
30
+ getEnv
31
+ };
@@ -24,6 +24,15 @@ __export(client_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(client_exports);
26
26
  var import_client = require("naystack/auth/email/client");
27
+
28
+ // src/env.ts
29
+ function getEnv(key, skipCheck) {
30
+ const value = process.env[key];
31
+ if (!skipCheck && !value) throw new Error(`${key} is not defined`);
32
+ return value;
33
+ }
34
+
35
+ // src/file/client.ts
27
36
  var useFileUpload = () => {
28
37
  const token = (0, import_client.useToken)();
29
38
  return (file, type, data) => {
@@ -31,7 +40,7 @@ var useFileUpload = () => {
31
40
  formData.append("type", type);
32
41
  formData.append("file", file);
33
42
  if (data) formData.append("data", JSON.stringify(data));
34
- return fetch(process.env.NEXT_PUBLIC_FILE_ENDPOINT, {
43
+ return fetch(getEnv("NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */), {
35
44
  method: "PUT",
36
45
  body: formData,
37
46
  headers: {
@@ -1,5 +1,14 @@
1
1
  // src/file/client.ts
2
2
  import { useToken } from "naystack/auth/email/client";
3
+
4
+ // src/env.ts
5
+ function getEnv(key, skipCheck) {
6
+ const value = process.env[key];
7
+ if (!skipCheck && !value) throw new Error(`${key} is not defined`);
8
+ return value;
9
+ }
10
+
11
+ // src/file/client.ts
3
12
  var useFileUpload = () => {
4
13
  const token = useToken();
5
14
  return (file, type, data) => {
@@ -7,7 +16,7 @@ var useFileUpload = () => {
7
16
  formData.append("type", type);
8
17
  formData.append("file", file);
9
18
  if (data) formData.append("data", JSON.stringify(data));
10
- return fetch(process.env.NEXT_PUBLIC_FILE_ENDPOINT, {
19
+ return fetch(getEnv("NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */), {
11
20
  method: "PUT",
12
21
  body: formData,
13
22
  headers: {
@@ -38,6 +38,13 @@ var import_headers = require("next/headers");
38
38
  var import_navigation = require("next/navigation");
39
39
  var import_server = require("next/server");
40
40
 
41
+ // src/env.ts
42
+ function getEnv(key, skipCheck) {
43
+ const value = process.env[key];
44
+ if (!skipCheck && !value) throw new Error(`${key} is not defined`);
45
+ return value;
46
+ }
47
+
41
48
  // src/auth/constants.ts
42
49
  var REFRESH_COOKIE_NAME = "refresh";
43
50
 
@@ -59,17 +66,20 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
59
66
  var import_server2 = require("next/server");
60
67
 
61
68
  // src/auth/email/utils.ts
62
- var getContext = (keys, req) => {
69
+ var getContext = (req) => {
63
70
  const bearer = req.headers.get("authorization");
64
71
  if (!bearer) {
65
72
  const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
66
- const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
73
+ const userId = getUserIdFromRefreshToken(
74
+ getEnv("REFRESH_KEY" /* REFRESH_KEY */),
75
+ refresh
76
+ );
67
77
  if (userId) return { userId, isRefreshID: true };
68
78
  return { userId: null };
69
79
  }
70
80
  const token = bearer.slice(7);
71
81
  try {
72
- const res = (0, import_jsonwebtoken2.verify)(token, keys.signing);
82
+ const res = (0, import_jsonwebtoken2.verify)(token, getEnv("SIGNING_KEY" /* SIGNING_KEY */));
73
83
  if (typeof res === "string") {
74
84
  return { userId: null };
75
85
  }
@@ -84,29 +94,31 @@ var getContext = (keys, req) => {
84
94
  // src/file/utils.ts
85
95
  var import_client_s3 = require("@aws-sdk/client-s3");
86
96
  var import_s3_request_presigner = require("@aws-sdk/s3-request-presigner");
87
- var getS3Client = (options) => new import_client_s3.S3Client({
88
- region: options.region,
97
+ var getS3Client = () => new import_client_s3.S3Client({
98
+ region: getEnv("AWS_REGION" /* AWS_REGION */),
89
99
  credentials: {
90
- accessKeyId: options.awsKey,
91
- secretAccessKey: options.awsSecret
100
+ accessKeyId: getEnv("AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */),
101
+ secretAccessKey: getEnv("AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */)
92
102
  }
93
103
  });
94
- var getURLPrefix = (options) => `https://${options.bucket}.s3.${options.region}.amazonaws.com/`;
104
+ var URL_PREFIX = `https://${getEnv("AWS_BUCKET" /* AWS_BUCKET */)}.s3.${getEnv(
105
+ "AWS_REGION" /* AWS_REGION */
106
+ )}.amazonaws.com/`;
95
107
  function getKey(keys) {
96
108
  return typeof keys === "string" ? keys : keys.join("/");
97
109
  }
98
- var getUploadURL = (client, Bucket) => (keys) => {
110
+ var getUploadURL = (client) => (keys) => {
99
111
  const command = new import_client_s3.PutObjectCommand({
100
- Bucket,
112
+ Bucket: getEnv("AWS_BUCKET" /* AWS_BUCKET */),
101
113
  Key: getKey(keys),
102
114
  ACL: "public-read"
103
115
  });
104
116
  return (0, import_s3_request_presigner.getSignedUrl)(client, command, { expiresIn: 300 });
105
117
  };
106
- var getDownloadURL = (options) => (keys) => {
107
- return `${getURLPrefix(options)}${getKey(keys)}`;
118
+ var getDownloadURL = (keys) => {
119
+ return `${URL_PREFIX}${getKey(keys)}`;
108
120
  };
109
- var uploadFile = (client, options) => async (keys, {
121
+ var uploadFile = (client) => async (keys, {
110
122
  url,
111
123
  blob
112
124
  }) => {
@@ -114,18 +126,18 @@ var uploadFile = (client, options) => async (keys, {
114
126
  const fileBlob = blob || await fetch(url).then((file) => file.blob());
115
127
  if (fileBlob) {
116
128
  const key = getKey(keys);
117
- await uploadBlob(client, options.bucket)(fileBlob, key);
118
- return getDownloadURL(options)(key);
129
+ await uploadBlob(client)(fileBlob, key);
130
+ return getDownloadURL(key);
119
131
  }
120
132
  return null;
121
133
  };
122
- var deleteFile = (client, options) => async (url) => {
123
- const key = url.split(getURLPrefix(options))[1];
134
+ var deleteFile = (client) => async (url) => {
135
+ const key = url.split(URL_PREFIX)[1];
124
136
  if (key) {
125
137
  try {
126
138
  await client.send(
127
139
  new import_client_s3.DeleteObjectCommand({
128
- Bucket: options.bucket,
140
+ Bucket: getEnv("AWS_BUCKET" /* AWS_BUCKET */),
129
141
  Key: key
130
142
  })
131
143
  );
@@ -136,11 +148,11 @@ var deleteFile = (client, options) => async (url) => {
136
148
  }
137
149
  return false;
138
150
  };
139
- var uploadBlob = (client, Bucket) => async (file, key) => {
151
+ var uploadBlob = (client) => async (file, key) => {
140
152
  const fileBuffer = await file.arrayBuffer();
141
153
  return client.send(
142
154
  new import_client_s3.PutObjectCommand({
143
- Bucket,
155
+ Bucket: getEnv("AWS_BUCKET" /* AWS_BUCKET */),
144
156
  Key: key,
145
157
  ACL: "public-read",
146
158
  Body: Buffer.from(fileBuffer),
@@ -152,7 +164,7 @@ var uploadBlob = (client, Bucket) => async (file, key) => {
152
164
 
153
165
  // src/file/put.ts
154
166
  var getFileUploadPutRoute = (options, client) => async (req) => {
155
- const ctx = getContext(options.keys, req);
167
+ const ctx = getContext(req);
156
168
  if (!ctx?.userId || ctx.isRefreshID)
157
169
  return import_server3.NextResponse.json({ error: "unauthorized" }, { status: 401 });
158
170
  const formData = await req.formData();
@@ -165,8 +177,8 @@ var getFileUploadPutRoute = (options, client) => async (req) => {
165
177
  data: typeof data === "string" ? JSON.parse(data) : void 0
166
178
  };
167
179
  const fileKey = options.getKey ? await options.getKey(inputData) : (0, import_uuid.v4)();
168
- const url = getDownloadURL(options)(fileKey);
169
- await uploadBlob(client, options.bucket)(file, fileKey);
180
+ const url = getDownloadURL(fileKey);
181
+ await uploadBlob(client)(file, fileKey);
170
182
  const onUploadResponse = await options.onUpload({
171
183
  ...inputData,
172
184
  url
@@ -179,13 +191,13 @@ var getFileUploadPutRoute = (options, client) => async (req) => {
179
191
 
180
192
  // src/file/setup.ts
181
193
  function setupFileUpload(options) {
182
- const client = getS3Client(options);
194
+ const client = getS3Client();
183
195
  return {
184
196
  PUT: getFileUploadPutRoute(options, client),
185
- uploadFile: uploadFile(client, options),
186
- deleteFile: deleteFile(client, options),
187
- getUploadURL: getUploadURL(client, options.bucket),
188
- getDownloadURL: getDownloadURL(options)
197
+ uploadFile: uploadFile(client),
198
+ deleteFile: deleteFile(client),
199
+ getUploadURL: getUploadURL(client),
200
+ getDownloadURL
189
201
  };
190
202
  }
191
203
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,4 +1,2 @@
1
1
  export { setupFileUpload } from './setup.mjs';
2
2
  import 'next/server';
3
- import '../auth/email/types.mjs';
4
- import '../auth/types.mjs';
@@ -1,4 +1,2 @@
1
1
  export { setupFileUpload } from './setup.js';
2
2
  import 'next/server';
3
- import '../auth/email/types.js';
4
- import '../auth/types.js';