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
@@ -12,6 +12,13 @@ import { cookies } from "next/headers";
12
12
  import { redirect } from "next/navigation";
13
13
  import { NextResponse } from "next/server";
14
14
 
15
+ // src/env.ts
16
+ function getEnv(key, skipCheck) {
17
+ const value = process.env[key];
18
+ if (!skipCheck && !value) throw new Error(`${key} is not defined`);
19
+ return value;
20
+ }
21
+
15
22
  // src/auth/constants.ts
16
23
  var REFRESH_COOKIE_NAME = "refresh";
17
24
 
@@ -33,17 +40,20 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
33
40
  import { NextResponse as NextResponse2 } from "next/server";
34
41
 
35
42
  // src/auth/email/utils.ts
36
- var getContext = (keys, req) => {
43
+ var getContext = (req) => {
37
44
  const bearer = req.headers.get("authorization");
38
45
  if (!bearer) {
39
46
  const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
40
- const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
47
+ const userId = getUserIdFromRefreshToken(
48
+ getEnv("REFRESH_KEY" /* REFRESH_KEY */),
49
+ refresh
50
+ );
41
51
  if (userId) return { userId, isRefreshID: true };
42
52
  return { userId: null };
43
53
  }
44
54
  const token = bearer.slice(7);
45
55
  try {
46
- const res = verify2(token, keys.signing);
56
+ const res = verify2(token, getEnv("SIGNING_KEY" /* SIGNING_KEY */));
47
57
  if (typeof res === "string") {
48
58
  return { userId: null };
49
59
  }
@@ -62,29 +72,31 @@ import {
62
72
  S3Client
63
73
  } from "@aws-sdk/client-s3";
64
74
  import { getSignedUrl } from "@aws-sdk/s3-request-presigner";
65
- var getS3Client = (options) => new S3Client({
66
- region: options.region,
75
+ var getS3Client = () => new S3Client({
76
+ region: getEnv("AWS_REGION" /* AWS_REGION */),
67
77
  credentials: {
68
- accessKeyId: options.awsKey,
69
- secretAccessKey: options.awsSecret
78
+ accessKeyId: getEnv("AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */),
79
+ secretAccessKey: getEnv("AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */)
70
80
  }
71
81
  });
72
- var getURLPrefix = (options) => `https://${options.bucket}.s3.${options.region}.amazonaws.com/`;
82
+ var URL_PREFIX = `https://${getEnv("AWS_BUCKET" /* AWS_BUCKET */)}.s3.${getEnv(
83
+ "AWS_REGION" /* AWS_REGION */
84
+ )}.amazonaws.com/`;
73
85
  function getKey(keys) {
74
86
  return typeof keys === "string" ? keys : keys.join("/");
75
87
  }
76
- var getUploadURL = (client, Bucket) => (keys) => {
88
+ var getUploadURL = (client) => (keys) => {
77
89
  const command = new PutObjectCommand({
78
- Bucket,
90
+ Bucket: getEnv("AWS_BUCKET" /* AWS_BUCKET */),
79
91
  Key: getKey(keys),
80
92
  ACL: "public-read"
81
93
  });
82
94
  return getSignedUrl(client, command, { expiresIn: 300 });
83
95
  };
84
- var getDownloadURL = (options) => (keys) => {
85
- return `${getURLPrefix(options)}${getKey(keys)}`;
96
+ var getDownloadURL = (keys) => {
97
+ return `${URL_PREFIX}${getKey(keys)}`;
86
98
  };
87
- var uploadFile = (client, options) => async (keys, {
99
+ var uploadFile = (client) => async (keys, {
88
100
  url,
89
101
  blob
90
102
  }) => {
@@ -92,18 +104,18 @@ var uploadFile = (client, options) => async (keys, {
92
104
  const fileBlob = blob || await fetch(url).then((file) => file.blob());
93
105
  if (fileBlob) {
94
106
  const key = getKey(keys);
95
- await uploadBlob(client, options.bucket)(fileBlob, key);
96
- return getDownloadURL(options)(key);
107
+ await uploadBlob(client)(fileBlob, key);
108
+ return getDownloadURL(key);
97
109
  }
98
110
  return null;
99
111
  };
100
- var deleteFile = (client, options) => async (url) => {
101
- const key = url.split(getURLPrefix(options))[1];
112
+ var deleteFile = (client) => async (url) => {
113
+ const key = url.split(URL_PREFIX)[1];
102
114
  if (key) {
103
115
  try {
104
116
  await client.send(
105
117
  new DeleteObjectCommand({
106
- Bucket: options.bucket,
118
+ Bucket: getEnv("AWS_BUCKET" /* AWS_BUCKET */),
107
119
  Key: key
108
120
  })
109
121
  );
@@ -114,11 +126,11 @@ var deleteFile = (client, options) => async (url) => {
114
126
  }
115
127
  return false;
116
128
  };
117
- var uploadBlob = (client, Bucket) => async (file, key) => {
129
+ var uploadBlob = (client) => async (file, key) => {
118
130
  const fileBuffer = await file.arrayBuffer();
119
131
  return client.send(
120
132
  new PutObjectCommand({
121
- Bucket,
133
+ Bucket: getEnv("AWS_BUCKET" /* AWS_BUCKET */),
122
134
  Key: key,
123
135
  ACL: "public-read",
124
136
  Body: Buffer.from(fileBuffer),
@@ -130,7 +142,7 @@ var uploadBlob = (client, Bucket) => async (file, key) => {
130
142
 
131
143
  // src/file/put.ts
132
144
  var getFileUploadPutRoute = (options, client) => async (req) => {
133
- const ctx = getContext(options.keys, req);
145
+ const ctx = getContext(req);
134
146
  if (!ctx?.userId || ctx.isRefreshID)
135
147
  return NextResponse3.json({ error: "unauthorized" }, { status: 401 });
136
148
  const formData = await req.formData();
@@ -143,8 +155,8 @@ var getFileUploadPutRoute = (options, client) => async (req) => {
143
155
  data: typeof data === "string" ? JSON.parse(data) : void 0
144
156
  };
145
157
  const fileKey = options.getKey ? await options.getKey(inputData) : v4();
146
- const url = getDownloadURL(options)(fileKey);
147
- await uploadBlob(client, options.bucket)(file, fileKey);
158
+ const url = getDownloadURL(fileKey);
159
+ await uploadBlob(client)(file, fileKey);
148
160
  const onUploadResponse = await options.onUpload({
149
161
  ...inputData,
150
162
  url
@@ -157,13 +169,13 @@ var getFileUploadPutRoute = (options, client) => async (req) => {
157
169
 
158
170
  // src/file/setup.ts
159
171
  function setupFileUpload(options) {
160
- const client = getS3Client(options);
172
+ const client = getS3Client();
161
173
  return {
162
174
  PUT: getFileUploadPutRoute(options, client),
163
- uploadFile: uploadFile(client, options),
164
- deleteFile: deleteFile(client, options),
165
- getUploadURL: getUploadURL(client, options.bucket),
166
- getDownloadURL: getDownloadURL(options)
175
+ uploadFile: uploadFile(client),
176
+ deleteFile: deleteFile(client),
177
+ getUploadURL: getUploadURL(client),
178
+ getDownloadURL
167
179
  };
168
180
  }
169
181
  export {
@@ -36,6 +36,13 @@ var import_headers = require("next/headers");
36
36
  var import_navigation = require("next/navigation");
37
37
  var import_server = require("next/server");
38
38
 
39
+ // src/env.ts
40
+ function getEnv(key, skipCheck) {
41
+ const value = process.env[key];
42
+ if (!skipCheck && !value) throw new Error(`${key} is not defined`);
43
+ return value;
44
+ }
45
+
39
46
  // src/auth/constants.ts
40
47
  var REFRESH_COOKIE_NAME = "refresh";
41
48
 
@@ -57,17 +64,20 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
57
64
  var import_server2 = require("next/server");
58
65
 
59
66
  // src/auth/email/utils.ts
60
- var getContext = (keys, req) => {
67
+ var getContext = (req) => {
61
68
  const bearer = req.headers.get("authorization");
62
69
  if (!bearer) {
63
70
  const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
64
- const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
71
+ const userId = getUserIdFromRefreshToken(
72
+ getEnv("REFRESH_KEY" /* REFRESH_KEY */),
73
+ refresh
74
+ );
65
75
  if (userId) return { userId, isRefreshID: true };
66
76
  return { userId: null };
67
77
  }
68
78
  const token = bearer.slice(7);
69
79
  try {
70
- const res = (0, import_jsonwebtoken2.verify)(token, keys.signing);
80
+ const res = (0, import_jsonwebtoken2.verify)(token, getEnv("SIGNING_KEY" /* SIGNING_KEY */));
71
81
  if (typeof res === "string") {
72
82
  return { userId: null };
73
83
  }
@@ -82,18 +92,20 @@ var getContext = (keys, req) => {
82
92
  // src/file/utils.ts
83
93
  var import_client_s3 = require("@aws-sdk/client-s3");
84
94
  var import_s3_request_presigner = require("@aws-sdk/s3-request-presigner");
85
- var getURLPrefix = (options) => `https://${options.bucket}.s3.${options.region}.amazonaws.com/`;
95
+ var URL_PREFIX = `https://${getEnv("AWS_BUCKET" /* AWS_BUCKET */)}.s3.${getEnv(
96
+ "AWS_REGION" /* AWS_REGION */
97
+ )}.amazonaws.com/`;
86
98
  function getKey(keys) {
87
99
  return typeof keys === "string" ? keys : keys.join("/");
88
100
  }
89
- var getDownloadURL = (options) => (keys) => {
90
- return `${getURLPrefix(options)}${getKey(keys)}`;
101
+ var getDownloadURL = (keys) => {
102
+ return `${URL_PREFIX}${getKey(keys)}`;
91
103
  };
92
- var uploadBlob = (client, Bucket) => async (file, key) => {
104
+ var uploadBlob = (client) => async (file, key) => {
93
105
  const fileBuffer = await file.arrayBuffer();
94
106
  return client.send(
95
107
  new import_client_s3.PutObjectCommand({
96
- Bucket,
108
+ Bucket: getEnv("AWS_BUCKET" /* AWS_BUCKET */),
97
109
  Key: key,
98
110
  ACL: "public-read",
99
111
  Body: Buffer.from(fileBuffer),
@@ -105,7 +117,7 @@ var uploadBlob = (client, Bucket) => async (file, key) => {
105
117
 
106
118
  // src/file/put.ts
107
119
  var getFileUploadPutRoute = (options, client) => async (req) => {
108
- const ctx = getContext(options.keys, req);
120
+ const ctx = getContext(req);
109
121
  if (!ctx?.userId || ctx.isRefreshID)
110
122
  return import_server3.NextResponse.json({ error: "unauthorized" }, { status: 401 });
111
123
  const formData = await req.formData();
@@ -118,8 +130,8 @@ var getFileUploadPutRoute = (options, client) => async (req) => {
118
130
  data: typeof data === "string" ? JSON.parse(data) : void 0
119
131
  };
120
132
  const fileKey = options.getKey ? await options.getKey(inputData) : (0, import_uuid.v4)();
121
- const url = getDownloadURL(options)(fileKey);
122
- await uploadBlob(client, options.bucket)(file, fileKey);
133
+ const url = getDownloadURL(fileKey);
134
+ await uploadBlob(client)(file, fileKey);
123
135
  const onUploadResponse = await options.onUpload({
124
136
  ...inputData,
125
137
  url
@@ -1,8 +1,6 @@
1
1
  import { S3Client } from '@aws-sdk/client-s3';
2
2
  import { NextRequest, NextResponse } from 'next/server';
3
3
  import { SetupFileUploadOptions } from './setup.mjs';
4
- import '../auth/email/types.mjs';
5
- import '../auth/types.mjs';
6
4
 
7
5
  declare const getFileUploadPutRoute: (options: SetupFileUploadOptions, client: S3Client) => (req: NextRequest) => Promise<NextResponse<{
8
6
  error: string;
@@ -1,8 +1,6 @@
1
1
  import { S3Client } from '@aws-sdk/client-s3';
2
2
  import { NextRequest, NextResponse } from 'next/server';
3
3
  import { SetupFileUploadOptions } from './setup.js';
4
- import '../auth/email/types.js';
5
- import '../auth/types.js';
6
4
 
7
5
  declare const getFileUploadPutRoute: (options: SetupFileUploadOptions, client: S3Client) => (req: NextRequest) => Promise<NextResponse<{
8
6
  error: string;
@@ -12,6 +12,13 @@ import { cookies } from "next/headers";
12
12
  import { redirect } from "next/navigation";
13
13
  import { NextResponse } from "next/server";
14
14
 
15
+ // src/env.ts
16
+ function getEnv(key, skipCheck) {
17
+ const value = process.env[key];
18
+ if (!skipCheck && !value) throw new Error(`${key} is not defined`);
19
+ return value;
20
+ }
21
+
15
22
  // src/auth/constants.ts
16
23
  var REFRESH_COOKIE_NAME = "refresh";
17
24
 
@@ -33,17 +40,20 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
33
40
  import { NextResponse as NextResponse2 } from "next/server";
34
41
 
35
42
  // src/auth/email/utils.ts
36
- var getContext = (keys, req) => {
43
+ var getContext = (req) => {
37
44
  const bearer = req.headers.get("authorization");
38
45
  if (!bearer) {
39
46
  const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
40
- const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
47
+ const userId = getUserIdFromRefreshToken(
48
+ getEnv("REFRESH_KEY" /* REFRESH_KEY */),
49
+ refresh
50
+ );
41
51
  if (userId) return { userId, isRefreshID: true };
42
52
  return { userId: null };
43
53
  }
44
54
  const token = bearer.slice(7);
45
55
  try {
46
- const res = verify2(token, keys.signing);
56
+ const res = verify2(token, getEnv("SIGNING_KEY" /* SIGNING_KEY */));
47
57
  if (typeof res === "string") {
48
58
  return { userId: null };
49
59
  }
@@ -62,18 +72,20 @@ import {
62
72
  S3Client
63
73
  } from "@aws-sdk/client-s3";
64
74
  import { getSignedUrl } from "@aws-sdk/s3-request-presigner";
65
- var getURLPrefix = (options) => `https://${options.bucket}.s3.${options.region}.amazonaws.com/`;
75
+ var URL_PREFIX = `https://${getEnv("AWS_BUCKET" /* AWS_BUCKET */)}.s3.${getEnv(
76
+ "AWS_REGION" /* AWS_REGION */
77
+ )}.amazonaws.com/`;
66
78
  function getKey(keys) {
67
79
  return typeof keys === "string" ? keys : keys.join("/");
68
80
  }
69
- var getDownloadURL = (options) => (keys) => {
70
- return `${getURLPrefix(options)}${getKey(keys)}`;
81
+ var getDownloadURL = (keys) => {
82
+ return `${URL_PREFIX}${getKey(keys)}`;
71
83
  };
72
- var uploadBlob = (client, Bucket) => async (file, key) => {
84
+ var uploadBlob = (client) => async (file, key) => {
73
85
  const fileBuffer = await file.arrayBuffer();
74
86
  return client.send(
75
87
  new PutObjectCommand({
76
- Bucket,
88
+ Bucket: getEnv("AWS_BUCKET" /* AWS_BUCKET */),
77
89
  Key: key,
78
90
  ACL: "public-read",
79
91
  Body: Buffer.from(fileBuffer),
@@ -85,7 +97,7 @@ var uploadBlob = (client, Bucket) => async (file, key) => {
85
97
 
86
98
  // src/file/put.ts
87
99
  var getFileUploadPutRoute = (options, client) => async (req) => {
88
- const ctx = getContext(options.keys, req);
100
+ const ctx = getContext(req);
89
101
  if (!ctx?.userId || ctx.isRefreshID)
90
102
  return NextResponse3.json({ error: "unauthorized" }, { status: 401 });
91
103
  const formData = await req.formData();
@@ -98,8 +110,8 @@ var getFileUploadPutRoute = (options, client) => async (req) => {
98
110
  data: typeof data === "string" ? JSON.parse(data) : void 0
99
111
  };
100
112
  const fileKey = options.getKey ? await options.getKey(inputData) : v4();
101
- const url = getDownloadURL(options)(fileKey);
102
- await uploadBlob(client, options.bucket)(file, fileKey);
113
+ const url = getDownloadURL(fileKey);
114
+ await uploadBlob(client)(file, fileKey);
103
115
  const onUploadResponse = await options.onUpload({
104
116
  ...inputData,
105
117
  url
@@ -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,13 +1,6 @@
1
1
  import * as next_server from 'next/server';
2
- import { AuthKeys } from '../auth/email/types.mjs';
3
- import '../auth/types.mjs';
4
2
 
5
3
  interface SetupFileUploadOptions {
6
- keys: AuthKeys;
7
- region: string;
8
- bucket: string;
9
- awsSecret: string;
10
- awsKey: string;
11
4
  getKey?: (data: {
12
5
  type: string;
13
6
  userId: number;
@@ -1,13 +1,6 @@
1
1
  import * as next_server from 'next/server';
2
- import { AuthKeys } from '../auth/email/types.js';
3
- import '../auth/types.js';
4
2
 
5
3
  interface SetupFileUploadOptions {
6
- keys: AuthKeys;
7
- region: string;
8
- bucket: string;
9
- awsSecret: string;
10
- awsKey: string;
11
4
  getKey?: (data: {
12
5
  type: string;
13
6
  userId: number;