@edgestore/server 0.0.0-alpha.12 → 0.0.0-alpha.14

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 (44) hide show
  1. package/dist/adapters/next/app/index.d.ts +4 -1
  2. package/dist/adapters/next/app/index.d.ts.map +1 -1
  3. package/dist/adapters/next/app/index.js +24 -4
  4. package/dist/adapters/next/app/index.mjs +24 -4
  5. package/dist/adapters/next/pages/index.d.ts +4 -1
  6. package/dist/adapters/next/pages/index.d.ts.map +1 -1
  7. package/dist/adapters/next/pages/index.js +18 -4
  8. package/dist/adapters/next/pages/index.mjs +18 -4
  9. package/dist/adapters/shared.d.ts +4 -3
  10. package/dist/adapters/shared.d.ts.map +1 -1
  11. package/dist/core/client/index.d.ts +19 -9
  12. package/dist/core/client/index.d.ts.map +1 -1
  13. package/dist/core/index.d.ts +1 -1
  14. package/dist/core/index.d.ts.map +1 -1
  15. package/dist/core/index.js +21 -3
  16. package/dist/core/index.mjs +22 -4
  17. package/dist/core/internals/bucketBuilder.d.ts +98 -29
  18. package/dist/core/internals/bucketBuilder.d.ts.map +1 -1
  19. package/dist/core/sdk/index.d.ts +4 -4
  20. package/dist/core/sdk/index.d.ts.map +1 -1
  21. package/dist/{index-3cc4d530.js → index-0a168903.js} +4 -2
  22. package/dist/{index-ca41982b.mjs → index-579b8015.mjs} +4 -2
  23. package/dist/{index-3999aae6.js → index-62d969e5.js} +4 -2
  24. package/dist/index.js +18 -9
  25. package/dist/index.mjs +18 -9
  26. package/dist/providers/edgestore/index.d.ts +0 -1
  27. package/dist/providers/edgestore/index.d.ts.map +1 -1
  28. package/dist/providers/edgestore/index.js +4 -3
  29. package/dist/providers/edgestore/index.mjs +4 -3
  30. package/dist/providers/types.d.ts +2 -4
  31. package/dist/providers/types.d.ts.map +1 -1
  32. package/dist/{shared-43667670.mjs → shared-2a9c8307.mjs} +34 -3
  33. package/dist/{shared-f7607e44.js → shared-ae739a04.js} +34 -3
  34. package/dist/{shared-6bef8919.js → shared-fac1b0a0.js} +35 -3
  35. package/package.json +7 -5
  36. package/src/adapters/next/app/index.ts +37 -6
  37. package/src/adapters/next/pages/index.ts +33 -6
  38. package/src/adapters/shared.ts +41 -9
  39. package/src/core/client/index.ts +50 -17
  40. package/src/core/index.ts +1 -0
  41. package/src/core/internals/bucketBuilder.ts +129 -41
  42. package/src/core/sdk/index.ts +8 -6
  43. package/src/providers/edgestore/index.ts +3 -4
  44. package/src/providers/types.ts +6 -4
@@ -5,7 +5,10 @@ import { MaybePromise } from '../../../types';
5
5
  export type CreateContextOptions = {
6
6
  req: NextRequest;
7
7
  };
8
- export type Config<TCtx> = {
8
+ export type Config<TCtx> = TCtx extends Record<string, never> ? {
9
+ provider?: Provider;
10
+ router: EdgeStoreRouter<TCtx>;
11
+ } : {
9
12
  provider?: Provider;
10
13
  router: EdgeStoreRouter<TCtx>;
11
14
  createContext: (opts: CreateContextOptions) => MaybePromise<TCtx>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/next/app/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAKxE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAW9C,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,WAAW,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,IAAI,IAAI;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,aAAa,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CACnE,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAEhD,WAAW,uBAgF/B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/next/app/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAKxE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAW9C,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,WAAW,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,IAAI,IAAI,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACzD;IACE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;CAC/B,GACD;IACE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,aAAa,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CACnE,CAAC;AAEN,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAEhD,WAAW,uBA0G/B"}
@@ -2,23 +2,23 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var shared = require('../../../shared-f7607e44.js');
5
+ var shared = require('../../../shared-ae739a04.js');
6
6
  var providers_edgestore_index = require('../../../providers/edgestore/index.js');
7
7
  require('@panva/hkdf');
8
8
  require('cookie');
9
9
  require('jose');
10
10
  require('uuid');
11
11
  require('@swc/helpers/_/_define_property');
12
- require('../../../index-3999aae6.js');
12
+ require('../../../index-62d969e5.js');
13
13
 
14
14
  function createEdgeStoreNextHandler(config) {
15
15
  const { provider = providers_edgestore_index.EdgeStoreProvider() } = config;
16
16
  return async (req)=>{
17
17
  try {
18
18
  if (req.nextUrl.pathname === '/api/edgestore/init') {
19
- const ctx = await config.createContext({
19
+ const ctx = 'createContext' in config ? await config.createContext({
20
20
  req
21
- });
21
+ }) : {};
22
22
  const { newCookies, token, baseUrl } = await shared.init({
23
23
  ctx,
24
24
  provider,
@@ -70,6 +70,26 @@ function createEdgeStoreNextHandler(config) {
70
70
  return new Response(null, {
71
71
  status: 200
72
72
  });
73
+ } else if (req.nextUrl.pathname === '/api/edgestore/proxy-file') {
74
+ const url = req.nextUrl.searchParams.get('url');
75
+ if (typeof url === 'string') {
76
+ const proxyRes = await fetch(url, {
77
+ headers: {
78
+ cookie: req.cookies.toString() ?? ''
79
+ }
80
+ });
81
+ const data = await proxyRes.arrayBuffer();
82
+ return new Response(data, {
83
+ status: proxyRes.status,
84
+ headers: {
85
+ 'Content-Type': proxyRes.headers.get('Content-Type') ?? 'application/octet-stream'
86
+ }
87
+ });
88
+ } else {
89
+ return new Response(null, {
90
+ status: 400
91
+ });
92
+ }
73
93
  } else {
74
94
  return new Response(null, {
75
95
  status: 404
@@ -1,20 +1,20 @@
1
- import { i as init, r as requestUpload, a as requestUploadParts, d as deleteFile, E as EdgeStoreError, b as EDGE_STORE_ERROR_CODES } from '../../../shared-43667670.mjs';
1
+ import { i as init, r as requestUpload, a as requestUploadParts, d as deleteFile, E as EdgeStoreError, b as EDGE_STORE_ERROR_CODES } from '../../../shared-2a9c8307.mjs';
2
2
  import { EdgeStoreProvider } from '../../../providers/edgestore/index.mjs';
3
3
  import '@panva/hkdf';
4
4
  import 'cookie';
5
5
  import 'jose';
6
6
  import 'uuid';
7
7
  import '@swc/helpers/_/_define_property';
8
- import '../../../index-ca41982b.mjs';
8
+ import '../../../index-579b8015.mjs';
9
9
 
10
10
  function createEdgeStoreNextHandler(config) {
11
11
  const { provider = EdgeStoreProvider() } = config;
12
12
  return async (req)=>{
13
13
  try {
14
14
  if (req.nextUrl.pathname === '/api/edgestore/init') {
15
- const ctx = await config.createContext({
15
+ const ctx = 'createContext' in config ? await config.createContext({
16
16
  req
17
- });
17
+ }) : {};
18
18
  const { newCookies, token, baseUrl } = await init({
19
19
  ctx,
20
20
  provider,
@@ -66,6 +66,26 @@ function createEdgeStoreNextHandler(config) {
66
66
  return new Response(null, {
67
67
  status: 200
68
68
  });
69
+ } else if (req.nextUrl.pathname === '/api/edgestore/proxy-file') {
70
+ const url = req.nextUrl.searchParams.get('url');
71
+ if (typeof url === 'string') {
72
+ const proxyRes = await fetch(url, {
73
+ headers: {
74
+ cookie: req.cookies.toString() ?? ''
75
+ }
76
+ });
77
+ const data = await proxyRes.arrayBuffer();
78
+ return new Response(data, {
79
+ status: proxyRes.status,
80
+ headers: {
81
+ 'Content-Type': proxyRes.headers.get('Content-Type') ?? 'application/octet-stream'
82
+ }
83
+ });
84
+ } else {
85
+ return new Response(null, {
86
+ status: 400
87
+ });
88
+ }
69
89
  } else {
70
90
  return new Response(null, {
71
91
  status: 404
@@ -6,7 +6,10 @@ export type CreateContextOptions = {
6
6
  req: NextApiRequest;
7
7
  res: NextApiResponse;
8
8
  };
9
- export type Config<TCtx> = {
9
+ export type Config<TCtx> = TCtx extends Record<string, never> ? {
10
+ provider?: Provider;
11
+ router: EdgeStoreRouter<TCtx>;
12
+ } : {
10
13
  provider?: Provider;
11
14
  router: EdgeStoreRouter<TCtx>;
12
15
  createContext: (opts: CreateContextOptions) => MaybePromise<TCtx>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/next/pages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAKxE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAW9C,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,cAAc,CAAC;IACpB,GAAG,EAAE,eAAe,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,IAAI,IAAI;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,aAAa,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CACnE,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAEhD,cAAc,OAAO,eAAe,mBAoDxD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/next/pages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAKxE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAW9C,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,cAAc,CAAC;IACpB,GAAG,EAAE,eAAe,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,IAAI,IAAI,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACzD;IACE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;CAC/B,GACD;IACE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,aAAa,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CACnE,CAAC;AAEN,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAEhD,cAAc,OAAO,eAAe,mBA0ExD"}
@@ -2,24 +2,24 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var shared = require('../../../shared-f7607e44.js');
5
+ var shared = require('../../../shared-ae739a04.js');
6
6
  var providers_edgestore_index = require('../../../providers/edgestore/index.js');
7
7
  require('@panva/hkdf');
8
8
  require('cookie');
9
9
  require('jose');
10
10
  require('uuid');
11
11
  require('@swc/helpers/_/_define_property');
12
- require('../../../index-3999aae6.js');
12
+ require('../../../index-62d969e5.js');
13
13
 
14
14
  function createEdgeStoreNextHandler(config) {
15
15
  const { provider = providers_edgestore_index.EdgeStoreProvider() } = config;
16
16
  return async (req, res)=>{
17
17
  try {
18
18
  if (req.url === '/api/edgestore/init') {
19
- const ctx = await config.createContext({
19
+ const ctx = 'createContext' in config ? await config.createContext({
20
20
  req,
21
21
  res
22
- });
22
+ }) : {};
23
23
  const { newCookies, token, baseUrl } = await shared.init({
24
24
  ctx,
25
25
  provider,
@@ -52,6 +52,20 @@ function createEdgeStoreNextHandler(config) {
52
52
  ctxToken: req.cookies['edgestore-ctx']
53
53
  });
54
54
  res.status(200).end();
55
+ } else if (req.url?.startsWith('/api/edgestore/proxy-file')) {
56
+ const { url } = req.query;
57
+ if (typeof url === 'string') {
58
+ const proxyRes = await fetch(url, {
59
+ headers: {
60
+ cookie: req.headers.cookie ?? ''
61
+ }
62
+ });
63
+ const data = await proxyRes.arrayBuffer();
64
+ res.setHeader('Content-Type', proxyRes.headers.get('Content-Type') ?? 'application/octet-stream');
65
+ res.end(Buffer.from(data));
66
+ } else {
67
+ res.status(400).end();
68
+ }
55
69
  } else {
56
70
  res.status(404).end();
57
71
  }
@@ -1,21 +1,21 @@
1
- import { i as init, r as requestUpload, a as requestUploadParts, d as deleteFile, E as EdgeStoreError, b as EDGE_STORE_ERROR_CODES } from '../../../shared-43667670.mjs';
1
+ import { i as init, r as requestUpload, a as requestUploadParts, d as deleteFile, E as EdgeStoreError, b as EDGE_STORE_ERROR_CODES } from '../../../shared-2a9c8307.mjs';
2
2
  import { EdgeStoreProvider } from '../../../providers/edgestore/index.mjs';
3
3
  import '@panva/hkdf';
4
4
  import 'cookie';
5
5
  import 'jose';
6
6
  import 'uuid';
7
7
  import '@swc/helpers/_/_define_property';
8
- import '../../../index-ca41982b.mjs';
8
+ import '../../../index-579b8015.mjs';
9
9
 
10
10
  function createEdgeStoreNextHandler(config) {
11
11
  const { provider = EdgeStoreProvider() } = config;
12
12
  return async (req, res)=>{
13
13
  try {
14
14
  if (req.url === '/api/edgestore/init') {
15
- const ctx = await config.createContext({
15
+ const ctx = 'createContext' in config ? await config.createContext({
16
16
  req,
17
17
  res
18
- });
18
+ }) : {};
19
19
  const { newCookies, token, baseUrl } = await init({
20
20
  ctx,
21
21
  provider,
@@ -48,6 +48,20 @@ function createEdgeStoreNextHandler(config) {
48
48
  ctxToken: req.cookies['edgestore-ctx']
49
49
  });
50
50
  res.status(200).end();
51
+ } else if (req.url?.startsWith('/api/edgestore/proxy-file')) {
52
+ const { url } = req.query;
53
+ if (typeof url === 'string') {
54
+ const proxyRes = await fetch(url, {
55
+ headers: {
56
+ cookie: req.headers.cookie ?? ''
57
+ }
58
+ });
59
+ const data = await proxyRes.arrayBuffer();
60
+ res.setHeader('Content-Type', proxyRes.headers.get('Content-Type') ?? 'application/octet-stream');
61
+ res.end(Buffer.from(data));
62
+ } else {
63
+ res.status(400).end();
64
+ }
51
65
  } else {
52
66
  res.status(404).end();
53
67
  }
@@ -7,7 +7,7 @@ export declare function init<TCtx>(params: {
7
7
  }): Promise<{
8
8
  newCookies: string[];
9
9
  token: string | undefined;
10
- baseUrl: import("../types").MaybePromise<string>;
10
+ baseUrl: string;
11
11
  }>;
12
12
  export type RequestUploadBody = {
13
13
  bucketName: string;
@@ -16,6 +16,7 @@ export type RequestUploadBody = {
16
16
  size: number;
17
17
  type: string;
18
18
  extension: string;
19
+ fileName?: string;
19
20
  replaceTargetUrl?: string;
20
21
  };
21
22
  };
@@ -31,7 +32,7 @@ export declare function requestUpload<TCtx>(params: {
31
32
  key: string;
32
33
  value: string;
33
34
  }[];
34
- metadata: any;
35
+ metadata: import("../core/internals/bucketBuilder").AnyMetadata;
35
36
  uploadUrl: string;
36
37
  accessUrl: string;
37
38
  } | {
@@ -41,7 +42,7 @@ export declare function requestUpload<TCtx>(params: {
41
42
  key: string;
42
43
  value: string;
43
44
  }[];
44
- metadata: any;
45
+ metadata: import("../core/internals/bucketBuilder").AnyMetadata;
45
46
  multipart: {
46
47
  uploadId: string;
47
48
  partSize: number;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/adapters/shared.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,eAAe,EAChB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAM9C,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE;IACvC,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,GAAG,EAAE,IAAI,CAAC;CACX;;;;GA4BA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE;IAChD,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,iBAAiB,CAAC;CACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE;IACrD,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,wBAAwB,CAAC;CAChC,+DAsBA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE;IAC7C,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,cAAc,CAAC;CACtB,iBAwCA"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/adapters/shared.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAE9E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAM9C,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE;IACvC,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,GAAG,EAAE,IAAI,CAAC;CACX;;;;GA4BA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE;IAChD,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,iBAAiB,CAAC;CACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuGA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE;IACrD,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,wBAAwB,CAAC;CAChC,+DAsBA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE;IAC7C,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,cAAc,CAAC;CACtB,iBAwCA"}
@@ -1,14 +1,12 @@
1
1
  import { AnyRouter, Comparison } from '..';
2
2
  import { Simplify } from '../../types';
3
- import { AnyBuilder, InferBucketPathKeys, InferMetadataObject } from '../internals/bucketBuilder';
3
+ import { AnyBuilder, InferBucketPathKeys, InferBucketPathObject, InferMetadataObject } from '../internals/bucketBuilder';
4
4
  export type GetFileRes<TBucket extends AnyBuilder> = {
5
5
  url: string;
6
6
  size: number;
7
7
  uploadedAt: Date;
8
8
  metadata: InferMetadataObject<TBucket>;
9
- path: {
10
- [TKey in InferBucketPathKeys<TBucket>]: string;
11
- };
9
+ path: InferBucketPathObject<TBucket>;
12
10
  };
13
11
  type Filter<TBucket extends AnyBuilder> = {
14
12
  AND?: Filter<TBucket>[];
@@ -29,15 +27,19 @@ export type ListFilesRequest<TBucket extends AnyBuilder> = {
29
27
  };
30
28
  };
31
29
  export type ListFilesResponse<TBucket extends AnyBuilder> = {
32
- data: {
30
+ data: TBucket['_def']['type'] extends 'IMAGE' ? {
31
+ url: string;
32
+ thumbnailUrl: string | null;
33
+ size: number;
34
+ uploadedAt: Date;
35
+ metadata: InferMetadataObject<TBucket>;
36
+ path: InferBucketPathObject<TBucket>;
37
+ }[] : {
33
38
  url: string;
34
- thumbnailUrl: TBucket['_def']['type'] extends 'IMAGE' ? string | null : never;
35
39
  size: number;
36
40
  uploadedAt: Date;
37
41
  metadata: InferMetadataObject<TBucket>;
38
- path: {
39
- [TKey in InferBucketPathKeys<TBucket>]: string;
40
- };
42
+ path: InferBucketPathObject<TBucket>;
41
43
  }[];
42
44
  pagination: {
43
45
  currentPage: number;
@@ -71,6 +73,14 @@ export declare function initEdgeStoreClient<TRouter extends AnyRouter>(config: {
71
73
  router: TRouter;
72
74
  accessKey?: string;
73
75
  secretKey?: string;
76
+ /**
77
+ * The base URL of your application.
78
+ *
79
+ * This is only needed for getting protected files on a development environment.
80
+ *
81
+ * @example http://localhost:3000/api/edgestore
82
+ */
83
+ baseUrl?: string;
74
84
  }): EdgeStoreClient<TRouter>;
75
85
  export type InferClientResponse<TRouter extends AnyRouter> = {
76
86
  [TBucketName in keyof TRouter['buckets']]: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/client/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { EdgeStoreRouter } from './internals/bucketBuilder';
2
2
  export * from './client';
3
3
  export * from './sdk';
4
- export type { InferBucketPathKeys, InferMetadataObject, } from './internals/bucketBuilder';
4
+ export type { InferBucketPathKeys, InferBucketPathObject, InferMetadataObject, } from './internals/bucketBuilder';
5
5
  export type AnyRouter = EdgeStoreRouter<any>;
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,YAAY,EACV,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('../index-3999aae6.js');
5
+ var index = require('../index-62d969e5.js');
6
6
 
7
7
  function initEdgeStoreClient(config) {
8
8
  const sdk = index.initEdgeStoreSdk({
@@ -20,7 +20,7 @@ function initEdgeStoreClient(config) {
20
20
  async getFile (params) {
21
21
  const res = await sdk.getFile(params);
22
22
  return {
23
- url: res.url,
23
+ url: getUrl(res.url, config.baseUrl),
24
24
  size: res.size,
25
25
  uploadedAt: new Date(res.uploadedAt),
26
26
  metadata: res.metadata,
@@ -72,7 +72,7 @@ function initEdgeStoreClient(config) {
72
72
  });
73
73
  const files = res.data.map((file)=>{
74
74
  return {
75
- url: file.url,
75
+ url: getUrl(file.url, config.baseUrl),
76
76
  thumbnailUrl: file.thumbnailUrl,
77
77
  size: file.size,
78
78
  uploadedAt: new Date(file.uploadedAt),
@@ -90,6 +90,24 @@ function initEdgeStoreClient(config) {
90
90
  }
91
91
  });
92
92
  }
93
+ /**
94
+ * Protected files need third-party cookies to work.
95
+ * Since third party cookies doesn't work on localhost,
96
+ * we need to proxy the file through the server.
97
+ */ function getUrl(url, baseUrl) {
98
+ if (process.env.NODE_ENV === 'development' && !url.includes('/_public/')) {
99
+ if (!baseUrl) {
100
+ throw new Error('Missing baseUrl. You need to pass the baseUrl to `initEdgeStoreClient` to get protected files in development.');
101
+ }
102
+ const proxyUrl = new URL(baseUrl);
103
+ proxyUrl.pathname = `${proxyUrl.pathname}/proxy-file`;
104
+ proxyUrl.search = new URLSearchParams({
105
+ url
106
+ }).toString();
107
+ return proxyUrl.toString();
108
+ }
109
+ return url;
110
+ }
93
111
 
94
112
  exports.edgeStoreRawSdk = index.edgeStoreRawSdk;
95
113
  exports.initEdgeStoreSdk = index.initEdgeStoreSdk;
@@ -1,5 +1,5 @@
1
- import { i as initEdgeStoreSdk } from '../index-ca41982b.mjs';
2
- export { e as edgeStoreRawSdk, i as initEdgeStoreSdk } from '../index-ca41982b.mjs';
1
+ import { i as initEdgeStoreSdk } from '../index-579b8015.mjs';
2
+ export { e as edgeStoreRawSdk, i as initEdgeStoreSdk } from '../index-579b8015.mjs';
3
3
 
4
4
  function initEdgeStoreClient(config) {
5
5
  const sdk = initEdgeStoreSdk({
@@ -17,7 +17,7 @@ function initEdgeStoreClient(config) {
17
17
  async getFile (params) {
18
18
  const res = await sdk.getFile(params);
19
19
  return {
20
- url: res.url,
20
+ url: getUrl(res.url, config.baseUrl),
21
21
  size: res.size,
22
22
  uploadedAt: new Date(res.uploadedAt),
23
23
  metadata: res.metadata,
@@ -69,7 +69,7 @@ function initEdgeStoreClient(config) {
69
69
  });
70
70
  const files = res.data.map((file)=>{
71
71
  return {
72
- url: file.url,
72
+ url: getUrl(file.url, config.baseUrl),
73
73
  thumbnailUrl: file.thumbnailUrl,
74
74
  size: file.size,
75
75
  uploadedAt: new Date(file.uploadedAt),
@@ -87,5 +87,23 @@ function initEdgeStoreClient(config) {
87
87
  }
88
88
  });
89
89
  }
90
+ /**
91
+ * Protected files need third-party cookies to work.
92
+ * Since third party cookies doesn't work on localhost,
93
+ * we need to proxy the file through the server.
94
+ */ function getUrl(url, baseUrl) {
95
+ if (process.env.NODE_ENV === 'development' && !url.includes('/_public/')) {
96
+ if (!baseUrl) {
97
+ throw new Error('Missing baseUrl. You need to pass the baseUrl to `initEdgeStoreClient` to get protected files in development.');
98
+ }
99
+ const proxyUrl = new URL(baseUrl);
100
+ proxyUrl.pathname = `${proxyUrl.pathname}/proxy-file`;
101
+ proxyUrl.search = new URLSearchParams({
102
+ url
103
+ }).toString();
104
+ return proxyUrl.toString();
105
+ }
106
+ return url;
107
+ }
90
108
 
91
109
  export { initEdgeStoreClient };