@edgestore/server 0.1.5-alpha.4 → 0.1.5-alpha.6

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 (47) hide show
  1. package/adapters/express/index.d.ts +1 -0
  2. package/adapters/express/index.js +1 -0
  3. package/dist/adapters/next/app/index.d.ts +5 -3
  4. package/dist/adapters/next/app/index.d.ts.map +1 -1
  5. package/dist/adapters/next/app/index.js +38 -15
  6. package/dist/adapters/next/app/index.mjs +37 -14
  7. package/dist/adapters/next/pages/index.d.ts +5 -3
  8. package/dist/adapters/next/pages/index.d.ts.map +1 -1
  9. package/dist/adapters/next/pages/index.js +32 -12
  10. package/dist/adapters/next/pages/index.mjs +31 -11
  11. package/dist/adapters/shared.d.ts.map +1 -1
  12. package/dist/core/client/index.d.ts +75 -7
  13. package/dist/core/client/index.d.ts.map +1 -1
  14. package/dist/core/index.d.ts +2 -0
  15. package/dist/core/index.d.ts.map +1 -1
  16. package/dist/core/index.js +32 -6
  17. package/dist/core/index.mjs +33 -8
  18. package/dist/core/sdk/index.d.ts.map +1 -1
  19. package/dist/{index-50ab9e08.js → index-7cb3a3f3.mjs} +41 -5
  20. package/dist/{index-f33a00fb.js → index-9eb6248c.js} +37 -2
  21. package/dist/{index-30a3741e.mjs → index-e25c8209.js} +48 -2
  22. package/dist/libs/errors/EdgeStoreApiClientError.d.ts +8 -0
  23. package/dist/libs/errors/EdgeStoreApiClientError.d.ts.map +1 -0
  24. package/dist/libs/errors/EdgeStoreError.d.ts +36 -4
  25. package/dist/libs/errors/EdgeStoreError.d.ts.map +1 -1
  26. package/dist/libs/logger.d.ts +13 -0
  27. package/dist/libs/logger.d.ts.map +1 -0
  28. package/dist/logger-0f08f252.mjs +40 -0
  29. package/dist/logger-623f2833.js +42 -0
  30. package/dist/logger-8f098618.js +33 -0
  31. package/dist/providers/edgestore/index.d.ts.map +1 -1
  32. package/dist/providers/edgestore/index.js +10 -3
  33. package/dist/providers/edgestore/index.mjs +10 -3
  34. package/dist/{shared-5d1e7f43.js → shared-53cb59dd.js} +72 -51
  35. package/dist/{shared-30b7a2ab.mjs → shared-b14a84ee.mjs} +65 -42
  36. package/dist/{shared-88655ba7.js → shared-f8ddbf7c.js} +62 -36
  37. package/package.json +2 -2
  38. package/src/adapters/next/app/index.ts +51 -19
  39. package/src/adapters/next/pages/index.ts +42 -14
  40. package/src/adapters/shared.ts +61 -29
  41. package/src/core/client/index.ts +103 -12
  42. package/src/core/index.ts +6 -0
  43. package/src/core/sdk/index.ts +7 -1
  44. package/src/libs/errors/EdgeStoreApiClientError.ts +14 -0
  45. package/src/libs/errors/EdgeStoreError.ts +76 -7
  46. package/src/libs/logger.ts +44 -0
  47. package/src/providers/edgestore/index.ts +9 -2
@@ -0,0 +1 @@
1
+ export * from '../../dist/adapters/express';
@@ -0,0 +1 @@
1
+ module.exports = require('../../dist/adapters/express');
@@ -1,17 +1,19 @@
1
1
  import { type NextRequest } from 'next/server';
2
2
  import { type EdgeStoreRouter } from '../../../core/internals/bucketBuilder';
3
+ import { type LogLevel } from '../../../libs/logger';
3
4
  import { type Provider } from '../../../providers/types';
4
5
  import { type MaybePromise } from '../../../types';
5
6
  export type CreateContextOptions = {
6
7
  req: NextRequest;
7
8
  };
8
- export type Config<TCtx> = TCtx extends Record<string, never> ? {
9
+ export type Config<TCtx> = {
9
10
  provider?: Provider;
10
11
  router: EdgeStoreRouter<TCtx>;
11
- } : {
12
+ logLevel?: LogLevel;
13
+ } & (TCtx extends Record<string, never> ? object : {
12
14
  provider?: Provider;
13
15
  router: EdgeStoreRouter<TCtx>;
14
16
  createContext: (opts: CreateContextOptions) => MaybePromise<TCtx>;
15
- };
17
+ });
16
18
  export declare function createEdgeStoreNextHandler<TCtx>(config: Config<TCtx>): (req: NextRequest) => Promise<Response>;
17
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/next/app/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAK7E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAenD,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,uBAqI/B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/next/app/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAK7E,OAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAenD,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,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,GAAG,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACnC,MAAM,GACN;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,CAAC;AAEP,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAGhD,WAAW,uBAiK/B"}
@@ -2,23 +2,38 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var shared = require('../../../shared-5d1e7f43.js');
5
+ var index = require('../../../index-e25c8209.js');
6
+ var logger = require('../../../logger-623f2833.js');
6
7
  var providers_edgestore_index = require('../../../providers/edgestore/index.js');
8
+ var shared = require('../../../shared-53cb59dd.js');
9
+ require('@swc/helpers/_/_define_property');
7
10
  require('@panva/hkdf');
8
11
  require('cookie');
9
12
  require('jose');
10
13
  require('uuid');
11
- require('@swc/helpers/_/_define_property');
12
- require('../../../index-50ab9e08.js');
13
14
 
14
15
  function createEdgeStoreNextHandler(config) {
15
16
  const { provider = providers_edgestore_index.EdgeStoreProvider() } = config;
17
+ const log = new logger.Logger(config.logLevel);
16
18
  return async (req)=>{
17
19
  try {
20
+ if (!('nextUrl' in req)) throw new index.EdgeStoreError({
21
+ message: 'Error running the app adapter. Make sure you are importing the correct adapter in your router configuration',
22
+ code: 'SERVER_ERROR'
23
+ });
18
24
  if (req.nextUrl.pathname.endsWith('/init')) {
19
- const ctx = 'createContext' in config ? await config.createContext({
20
- req
21
- }) : {};
25
+ let ctx = {};
26
+ try {
27
+ ctx = 'createContext' in config ? await config.createContext({
28
+ req
29
+ }) : {};
30
+ } catch (err) {
31
+ throw new index.EdgeStoreError({
32
+ message: 'Error creating context',
33
+ code: 'CREATE_CONTEXT_ERROR',
34
+ cause: err instanceof Error ? err : undefined
35
+ });
36
+ }
22
37
  const { newCookies, token, baseUrl } = await shared.init({
23
38
  ctx,
24
39
  provider,
@@ -125,17 +140,25 @@ function createEdgeStoreNextHandler(config) {
125
140
  });
126
141
  }
127
142
  } catch (err) {
128
- if (err instanceof shared.EdgeStoreError) {
129
- return new Response(err.message, {
130
- status: shared.EDGE_STORE_ERROR_CODES[err.code]
131
- });
132
- } else if (err instanceof Error) {
133
- return new Response(err.message, {
134
- status: 500
143
+ if (err instanceof index.EdgeStoreError) {
144
+ log[err.level](err.formattedMessage());
145
+ if (err.cause) log[err.level](err.cause);
146
+ return new Response(JSON.stringify(err.formattedJson()), {
147
+ status: index.EDGE_STORE_ERROR_CODES[err.code],
148
+ headers: {
149
+ 'Content-Type': 'application/json'
150
+ }
135
151
  });
136
152
  }
137
- return new Response('Internal server error', {
138
- status: 500
153
+ log.error(err);
154
+ return new Response(JSON.stringify(new index.EdgeStoreError({
155
+ message: 'Internal server error',
156
+ code: 'SERVER_ERROR'
157
+ }).formattedJson()), {
158
+ status: 500,
159
+ headers: {
160
+ 'Content-Type': 'application/json'
161
+ }
139
162
  });
140
163
  }
141
164
  };
@@ -1,20 +1,35 @@
1
- import { i as init, r as requestUpload, a as requestUploadParts, c as completeMultipartUpload, d as confirmUpload, e as deleteFile, E as EdgeStoreError, f as EDGE_STORE_ERROR_CODES } from '../../../shared-30b7a2ab.mjs';
1
+ import { E as EdgeStoreError, a as EDGE_STORE_ERROR_CODES } from '../../../index-7cb3a3f3.mjs';
2
+ import { L as Logger } from '../../../logger-0f08f252.mjs';
2
3
  import { EdgeStoreProvider } from '../../../providers/edgestore/index.mjs';
4
+ import { i as init, r as requestUpload, a as requestUploadParts, c as completeMultipartUpload, d as confirmUpload, e as deleteFile } from '../../../shared-b14a84ee.mjs';
5
+ import '@swc/helpers/_/_define_property';
3
6
  import '@panva/hkdf';
4
7
  import 'cookie';
5
8
  import 'jose';
6
9
  import 'uuid';
7
- import '@swc/helpers/_/_define_property';
8
- import '../../../index-30a3741e.mjs';
9
10
 
10
11
  function createEdgeStoreNextHandler(config) {
11
12
  const { provider = EdgeStoreProvider() } = config;
13
+ const log = new Logger(config.logLevel);
12
14
  return async (req)=>{
13
15
  try {
16
+ if (!('nextUrl' in req)) throw new EdgeStoreError({
17
+ message: 'Error running the app adapter. Make sure you are importing the correct adapter in your router configuration',
18
+ code: 'SERVER_ERROR'
19
+ });
14
20
  if (req.nextUrl.pathname.endsWith('/init')) {
15
- const ctx = 'createContext' in config ? await config.createContext({
16
- req
17
- }) : {};
21
+ let ctx = {};
22
+ try {
23
+ ctx = 'createContext' in config ? await config.createContext({
24
+ req
25
+ }) : {};
26
+ } catch (err) {
27
+ throw new EdgeStoreError({
28
+ message: 'Error creating context',
29
+ code: 'CREATE_CONTEXT_ERROR',
30
+ cause: err instanceof Error ? err : undefined
31
+ });
32
+ }
18
33
  const { newCookies, token, baseUrl } = await init({
19
34
  ctx,
20
35
  provider,
@@ -122,16 +137,24 @@ function createEdgeStoreNextHandler(config) {
122
137
  }
123
138
  } catch (err) {
124
139
  if (err instanceof EdgeStoreError) {
125
- return new Response(err.message, {
126
- status: EDGE_STORE_ERROR_CODES[err.code]
127
- });
128
- } else if (err instanceof Error) {
129
- return new Response(err.message, {
130
- status: 500
140
+ log[err.level](err.formattedMessage());
141
+ if (err.cause) log[err.level](err.cause);
142
+ return new Response(JSON.stringify(err.formattedJson()), {
143
+ status: EDGE_STORE_ERROR_CODES[err.code],
144
+ headers: {
145
+ 'Content-Type': 'application/json'
146
+ }
131
147
  });
132
148
  }
133
- return new Response('Internal server error', {
134
- status: 500
149
+ log.error(err);
150
+ return new Response(JSON.stringify(new EdgeStoreError({
151
+ message: 'Internal server error',
152
+ code: 'SERVER_ERROR'
153
+ }).formattedJson()), {
154
+ status: 500,
155
+ headers: {
156
+ 'Content-Type': 'application/json'
157
+ }
135
158
  });
136
159
  }
137
160
  };
@@ -1,18 +1,20 @@
1
1
  import { type NextApiRequest, type NextApiResponse } from 'next/types';
2
2
  import { type EdgeStoreRouter } from '../../../core/internals/bucketBuilder';
3
+ import { type LogLevel } from '../../../libs/logger';
3
4
  import { type Provider } from '../../../providers/types';
4
5
  import { type MaybePromise } from '../../../types';
5
6
  export type CreateContextOptions = {
6
7
  req: NextApiRequest;
7
8
  res: NextApiResponse;
8
9
  };
9
- export type Config<TCtx> = TCtx extends Record<string, never> ? {
10
+ export type Config<TCtx> = {
10
11
  provider?: Provider;
11
12
  router: EdgeStoreRouter<TCtx>;
12
- } : {
13
+ logLevel?: LogLevel;
14
+ } & (TCtx extends Record<string, never> ? object : {
13
15
  provider?: Provider;
14
16
  router: EdgeStoreRouter<TCtx>;
15
17
  createContext: (opts: CreateContextOptions) => MaybePromise<TCtx>;
16
- };
18
+ });
17
19
  export declare function createEdgeStoreNextHandler<TCtx>(config: Config<TCtx>): (req: NextApiRequest, res: NextApiResponse) => Promise<void>;
18
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/next/pages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAK7E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAenD,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,mBA4FxD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/next/pages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAK7E,OAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAenD,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,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,GAAG,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACnC,MAAM,GACN;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,CAAC;AAEP,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAGhD,cAAc,OAAO,eAAe,mBAoHxD"}
@@ -2,24 +2,39 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var shared = require('../../../shared-5d1e7f43.js');
5
+ var index = require('../../../index-e25c8209.js');
6
+ var logger = require('../../../logger-623f2833.js');
6
7
  var providers_edgestore_index = require('../../../providers/edgestore/index.js');
8
+ var shared = require('../../../shared-53cb59dd.js');
9
+ require('@swc/helpers/_/_define_property');
7
10
  require('@panva/hkdf');
8
11
  require('cookie');
9
12
  require('jose');
10
13
  require('uuid');
11
- require('@swc/helpers/_/_define_property');
12
- require('../../../index-50ab9e08.js');
13
14
 
14
15
  function createEdgeStoreNextHandler(config) {
15
16
  const { provider = providers_edgestore_index.EdgeStoreProvider() } = config;
17
+ const log = new logger.Logger(config.logLevel);
16
18
  return async (req, res)=>{
17
19
  try {
20
+ if (!('json' in res)) throw new index.EdgeStoreError({
21
+ message: 'Error running the pages adapter. Make sure you are importing the correct adapter in your router configuration',
22
+ code: 'SERVER_ERROR'
23
+ });
18
24
  if (req.url?.includes?.('/init')) {
19
- const ctx = 'createContext' in config ? await config.createContext({
20
- req,
21
- res
22
- }) : {};
25
+ let ctx = {};
26
+ try {
27
+ ctx = 'createContext' in config ? await config.createContext({
28
+ req,
29
+ res
30
+ }) : {};
31
+ } catch (err) {
32
+ throw new index.EdgeStoreError({
33
+ message: 'Error creating context',
34
+ code: 'CREATE_CONTEXT_ERROR',
35
+ cause: err instanceof Error ? err : undefined
36
+ });
37
+ }
23
38
  const { newCookies, token, baseUrl } = await shared.init({
24
39
  ctx,
25
40
  provider,
@@ -84,12 +99,17 @@ function createEdgeStoreNextHandler(config) {
84
99
  res.status(404).end();
85
100
  }
86
101
  } catch (err) {
87
- if (err instanceof shared.EdgeStoreError) {
88
- res.status(shared.EDGE_STORE_ERROR_CODES[err.code]).send(err.message);
89
- } else if (err instanceof Error) {
90
- res.status(500).send(err.message);
102
+ if (err instanceof index.EdgeStoreError) {
103
+ log[err.level](err.formattedMessage());
104
+ if (err.cause) log[err.level](err.cause);
105
+ res.status(index.EDGE_STORE_ERROR_CODES[err.code]).json(err.formattedJson());
106
+ } else {
107
+ log.error(err);
108
+ res.status(500).send(new index.EdgeStoreError({
109
+ message: 'Internal Server Error',
110
+ code: 'SERVER_ERROR'
111
+ }).formattedJson());
91
112
  }
92
- res.status(500).send('Internal server error');
93
113
  }
94
114
  };
95
115
  }
@@ -1,21 +1,36 @@
1
- import { i as init, r as requestUpload, a as requestUploadParts, c as completeMultipartUpload, d as confirmUpload, e as deleteFile, E as EdgeStoreError, f as EDGE_STORE_ERROR_CODES } from '../../../shared-30b7a2ab.mjs';
1
+ import { E as EdgeStoreError, a as EDGE_STORE_ERROR_CODES } from '../../../index-7cb3a3f3.mjs';
2
+ import { L as Logger } from '../../../logger-0f08f252.mjs';
2
3
  import { EdgeStoreProvider } from '../../../providers/edgestore/index.mjs';
4
+ import { i as init, r as requestUpload, a as requestUploadParts, c as completeMultipartUpload, d as confirmUpload, e as deleteFile } from '../../../shared-b14a84ee.mjs';
5
+ import '@swc/helpers/_/_define_property';
3
6
  import '@panva/hkdf';
4
7
  import 'cookie';
5
8
  import 'jose';
6
9
  import 'uuid';
7
- import '@swc/helpers/_/_define_property';
8
- import '../../../index-30a3741e.mjs';
9
10
 
10
11
  function createEdgeStoreNextHandler(config) {
11
12
  const { provider = EdgeStoreProvider() } = config;
13
+ const log = new Logger(config.logLevel);
12
14
  return async (req, res)=>{
13
15
  try {
16
+ if (!('json' in res)) throw new EdgeStoreError({
17
+ message: 'Error running the pages adapter. Make sure you are importing the correct adapter in your router configuration',
18
+ code: 'SERVER_ERROR'
19
+ });
14
20
  if (req.url?.includes?.('/init')) {
15
- const ctx = 'createContext' in config ? await config.createContext({
16
- req,
17
- res
18
- }) : {};
21
+ let ctx = {};
22
+ try {
23
+ ctx = 'createContext' in config ? await config.createContext({
24
+ req,
25
+ res
26
+ }) : {};
27
+ } catch (err) {
28
+ throw new EdgeStoreError({
29
+ message: 'Error creating context',
30
+ code: 'CREATE_CONTEXT_ERROR',
31
+ cause: err instanceof Error ? err : undefined
32
+ });
33
+ }
19
34
  const { newCookies, token, baseUrl } = await init({
20
35
  ctx,
21
36
  provider,
@@ -81,11 +96,16 @@ function createEdgeStoreNextHandler(config) {
81
96
  }
82
97
  } catch (err) {
83
98
  if (err instanceof EdgeStoreError) {
84
- res.status(EDGE_STORE_ERROR_CODES[err.code]).send(err.message);
85
- } else if (err instanceof Error) {
86
- res.status(500).send(err.message);
99
+ log[err.level](err.formattedMessage());
100
+ if (err.cause) log[err.level](err.cause);
101
+ res.status(EDGE_STORE_ERROR_CODES[err.code]).json(err.formattedJson());
102
+ } else {
103
+ log.error(err);
104
+ res.status(500).send(new EdgeStoreError({
105
+ message: 'Internal Server Error',
106
+ code: 'SERVER_ERROR'
107
+ }).formattedJson());
87
108
  }
88
- res.status(500).send('Internal server error');
89
109
  }
90
110
  };
91
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/adapters/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/adapters/shared.ts"],"names":[],"mappings":"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"}
@@ -38,11 +38,45 @@ export type UploadOptions = {
38
38
  */
39
39
  temporary?: boolean;
40
40
  };
41
+ type TextContent = string;
42
+ type BlobContent = {
43
+ blob: Blob;
44
+ extension: string;
45
+ };
46
+ type UrlContent = {
47
+ url: string;
48
+ extension: string;
49
+ };
41
50
  export type UploadFileRequest<TBucket extends AnyBuilder> = {
42
- content: string | {
43
- blob: Blob;
44
- extension: string;
45
- };
51
+ /**
52
+ * Can be a string, a blob or an url.
53
+ *
54
+ * If it's a string, it will be converted to a blob with the type `text/plain`.
55
+ *
56
+ * @example
57
+ * ```ts
58
+ * // string
59
+ * content: "some text"
60
+ * ```
61
+ *
62
+ * @example
63
+ * ```ts
64
+ * // blob
65
+ * content: {
66
+ * blob: new Blob([text], { type: "text/csv" }),
67
+ * extension: "csv",
68
+ * }
69
+ * ```
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * // url
74
+ * content: {
75
+ * url: "https://example.com/my-file.csv",
76
+ * }
77
+ * ```
78
+ */
79
+ content: TextContent | BlobContent | UrlContent;
46
80
  options?: UploadOptions;
47
81
  } & (TBucket['$config']['ctx'] extends Record<string, never> ? {} : {
48
82
  ctx: TBucket['$config']['ctx'];
@@ -100,9 +134,43 @@ type EdgeStoreClient<TRouter extends AnyRouter> = {
100
134
  getFile: (params: {
101
135
  url: string;
102
136
  }) => Promise<GetFileRes<TRouter['buckets'][K]>>;
137
+ /**
138
+ * Use this function to upload a file to the bucket directly from your backend.
139
+ *
140
+ * @example
141
+ * ```ts
142
+ * // simple example
143
+ * await backendClient.myBucket.upload({
144
+ * content: "some text",
145
+ * });
146
+ * ```
147
+ *
148
+ * @example
149
+ * ```ts
150
+ * // complete example
151
+ * await backendClient.myBucket.upload({
152
+ * content: {
153
+ * blob: new Blob([text], { type: "text/csv" }),
154
+ * extension: "csv",
155
+ * },
156
+ * options: {
157
+ * temporary: true,
158
+ * replaceTargetUrl: replaceUrl,
159
+ * manualFileName: "test.csv",
160
+ * },
161
+ * ctx: {
162
+ * userId: "123",
163
+ * userRole: "admin",
164
+ * },
165
+ * input: {
166
+ * type: "post",
167
+ * },
168
+ * });
169
+ * ```
170
+ */
103
171
  upload: (params: UploadFileRequest<TRouter['buckets'][K]>) => Promise<Prettify<UploadFileRes<TRouter['buckets'][K]>>>;
104
172
  /**
105
- * Confirm a temporary file upload.
173
+ * Confirm a temporary file upload directly from your backend.
106
174
  */
107
175
  confirmUpload: (params: {
108
176
  url: string;
@@ -110,7 +178,7 @@ type EdgeStoreClient<TRouter extends AnyRouter> = {
110
178
  success: boolean;
111
179
  }>;
112
180
  /**
113
- * Programmatically delete a file.
181
+ * Programmatically delete a file directly from your backend.
114
182
  */
115
183
  deleteFile: (params: {
116
184
  url: string;
@@ -123,7 +191,7 @@ type EdgeStoreClient<TRouter extends AnyRouter> = {
123
191
  * You can also filter the results by passing a filter object.
124
192
  * The results are paginated.
125
193
  */
126
- listFiles: (params?: ListFilesRequest<TRouter['buckets'][K]>) => Promise<ListFilesResponse<TRouter['buckets'][K]>>;
194
+ listFiles: (params?: ListFilesRequest<TRouter['buckets'][K]>) => Promise<Prettify<ListFilesResponse<TRouter['buckets'][K]>>>;
127
195
  };
128
196
  };
129
197
  export declare function initEdgeStoreClient<TRouter extends AnyRouter>(config: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/client/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,IAAI,CAAC;AAErD,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,MAAM,UAAU,CAAC,OAAO,SAAS,UAAU,IAAI;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,OAAO,SAAS,UAAU,IAAI;IAC1D,OAAO,EACH,MAAM,GACN;QACE,IAAI,EAAE,IAAI,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACN,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACxD,EAAE,GACF;IACE,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;CAChC,CAAC,GACJ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,QAAQ,GACtC,EAAE,GACF;IACE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC1C,CAAC,CAAC;AAET,MAAM,MAAM,aAAa,CAAC,OAAO,SAAS,UAAU,IAAI;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACrC,SAAS,EAAE,CAAC,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;CACrD,CAAC;AAEF,KAAK,MAAM,CAAC,OAAO,SAAS,UAAU,IAAI;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE;SACJ,CAAC,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU;KACjD,CAAC;IACF,QAAQ,CAAC,EAAE;SACR,CAAC,IAAI,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU;KACvD,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,UAAU,IAAI;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,UAAU,CAAC,EAAE;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,OAAO,SAAS,UAAU,IAAI;IAC1D,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,OAAO,GACzC;QACE,GAAG,EAAE,MAAM,CAAC;QACZ,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,IAAI,CAAC;QACjB,QAAQ,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;KACtC,EAAE,GACH;QACE,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,IAAI,CAAC;QACjB,QAAQ,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;KACtC,EAAE,CAAC;IACR,UAAU,EAAE;QACV,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,KAAK,eAAe,CAAC,OAAO,SAAS,SAAS,IAAI;KAC/C,CAAC,IAAI,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG;QAC/B,OAAO,EAAE,CAAC,MAAM,EAAE;YAChB,GAAG,EAAE,MAAM,CAAC;SACb,KAAK,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,EAAE,CACN,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D;;WAEG;QACH,aAAa,EAAE,CAAC,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QAC1E;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC;YAC/C,OAAO,EAAE,OAAO,CAAC;SAClB,CAAC,CAAC;QACH;;;;;WAKG;QACH,SAAS,EAAE,CACT,MAAM,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAC7C,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACxD;CACF,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,OAAO,SAAS,SAAS,EAAE,MAAM,EAAE;IACrE,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,4BA8IA;AAwBD,MAAM,MAAM,mBAAmB,CAAC,OAAO,SAAS,SAAS,IAAI;KAC1D,WAAW,IAAI,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG;SACxC,QAAQ,IAAI,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,GAAG,QAAQ,CACjE,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CACrE;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/client/index.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,7 @@ import { type EdgeStoreRouter } from './internals/bucketBuilder';
2
2
  export * from './client';
3
3
  export * from './sdk';
4
4
  export type { InferBucketPathKeys, InferBucketPathObject, InferMetadataObject, } from './internals/bucketBuilder';
5
+ export type { EdgeStoreErrorCodeKey, EdgeStoreErrorDetails, EdgeStoreJsonResponse, } from '../libs/errors/EdgeStoreError';
6
+ export { EdgeStoreApiClientError } from '../libs/errors/EdgeStoreApiClientError';
5
7
  export type AnyRouter = EdgeStoreRouter<any>;
6
8
  //# 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,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,MAAM,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC"}
@@ -2,14 +2,21 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var shared = require('../shared-5d1e7f43.js');
6
- var index = require('../index-50ab9e08.js');
5
+ var shared = require('../shared-53cb59dd.js');
6
+ var index = require('../index-e25c8209.js');
7
+ var _define_property = require('@swc/helpers/_/_define_property');
7
8
  require('@panva/hkdf');
8
9
  require('cookie');
9
10
  require('jose');
10
11
  require('uuid');
11
- require('@swc/helpers/_/_define_property');
12
12
 
13
+ // type guard for `content`
14
+ function isTextContent(content) {
15
+ return typeof content === 'string';
16
+ }
17
+ function isBlobContent(content) {
18
+ return typeof content !== 'string' && 'blob' in content;
19
+ }
13
20
  function initEdgeStoreClient(config) {
14
21
  const sdk = index.initEdgeStoreSdk({
15
22
  accessKey: config.accessKey,
@@ -27,8 +34,8 @@ function initEdgeStoreClient(config) {
27
34
  const content = params.content;
28
35
  const ctx = 'ctx' in params ? params.ctx : {};
29
36
  const input = 'input' in params ? params.input : {};
30
- const { blob, extension } = (()=>{
31
- if (typeof content === 'string') {
37
+ const { blob, extension } = await (async ()=>{
38
+ if (isTextContent(content)) {
32
39
  return {
33
40
  blob: new Blob([
34
41
  content
@@ -37,11 +44,16 @@ function initEdgeStoreClient(config) {
37
44
  }),
38
45
  extension: 'txt'
39
46
  };
40
- } else {
47
+ } else if (isBlobContent(content)) {
41
48
  return {
42
49
  blob: content.blob,
43
50
  extension: content.extension
44
51
  };
52
+ } else {
53
+ return {
54
+ blob: await getBlobFromUrl(content.url),
55
+ extension: content.extension
56
+ };
45
57
  }
46
58
  })();
47
59
  const path = shared.buildPath({
@@ -158,7 +170,21 @@ function initEdgeStoreClient(config) {
158
170
  }
159
171
  return url;
160
172
  }
173
+ async function getBlobFromUrl(url) {
174
+ const res = await fetch(url);
175
+ return await res.blob();
176
+ }
177
+
178
+ class EdgeStoreApiClientError extends Error {
179
+ constructor(opts){
180
+ super(opts.response.message);
181
+ _define_property._(this, "data", void 0);
182
+ this.name = 'EdgeStoreApiClientError';
183
+ this.data = opts.response;
184
+ }
185
+ }
161
186
 
162
187
  exports.edgeStoreRawSdk = index.edgeStoreRawSdk;
163
188
  exports.initEdgeStoreSdk = index.initEdgeStoreSdk;
189
+ exports.EdgeStoreApiClientError = EdgeStoreApiClientError;
164
190
  exports.initEdgeStoreClient = initEdgeStoreClient;