@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.
- package/dist/adapters/next/app/index.d.ts +4 -1
- package/dist/adapters/next/app/index.d.ts.map +1 -1
- package/dist/adapters/next/app/index.js +24 -4
- package/dist/adapters/next/app/index.mjs +24 -4
- package/dist/adapters/next/pages/index.d.ts +4 -1
- package/dist/adapters/next/pages/index.d.ts.map +1 -1
- package/dist/adapters/next/pages/index.js +18 -4
- package/dist/adapters/next/pages/index.mjs +18 -4
- package/dist/adapters/shared.d.ts +4 -3
- package/dist/adapters/shared.d.ts.map +1 -1
- package/dist/core/client/index.d.ts +19 -9
- package/dist/core/client/index.d.ts.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +21 -3
- package/dist/core/index.mjs +22 -4
- package/dist/core/internals/bucketBuilder.d.ts +98 -29
- package/dist/core/internals/bucketBuilder.d.ts.map +1 -1
- package/dist/core/sdk/index.d.ts +4 -4
- package/dist/core/sdk/index.d.ts.map +1 -1
- package/dist/{index-3cc4d530.js → index-0a168903.js} +4 -2
- package/dist/{index-ca41982b.mjs → index-579b8015.mjs} +4 -2
- package/dist/{index-3999aae6.js → index-62d969e5.js} +4 -2
- package/dist/index.js +18 -9
- package/dist/index.mjs +18 -9
- package/dist/providers/edgestore/index.d.ts +0 -1
- package/dist/providers/edgestore/index.d.ts.map +1 -1
- package/dist/providers/edgestore/index.js +4 -3
- package/dist/providers/edgestore/index.mjs +4 -3
- package/dist/providers/types.d.ts +2 -4
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/{shared-43667670.mjs → shared-2a9c8307.mjs} +34 -3
- package/dist/{shared-f7607e44.js → shared-ae739a04.js} +34 -3
- package/dist/{shared-6bef8919.js → shared-fac1b0a0.js} +35 -3
- package/package.json +7 -5
- package/src/adapters/next/app/index.ts +37 -6
- package/src/adapters/next/pages/index.ts +33 -6
- package/src/adapters/shared.ts +41 -9
- package/src/core/client/index.ts +50 -17
- package/src/core/index.ts +1 -0
- package/src/core/internals/bucketBuilder.ts +129 -41
- package/src/core/sdk/index.ts +8 -6
- package/src/providers/edgestore/index.ts +3 -4
- 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;
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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;
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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:
|
|
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:
|
|
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:
|
|
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,
|
|
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":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACpB,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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/client/index.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -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
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -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"}
|
package/dist/core/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var index = require('../index-
|
|
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;
|
package/dist/core/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { i as initEdgeStoreSdk } from '../index-
|
|
2
|
-
export { e as edgeStoreRawSdk, i as initEdgeStoreSdk } from '../index-
|
|
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 };
|