@edgestore/server 0.0.0-alpha.12

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 (83) hide show
  1. package/README.md +86 -0
  2. package/adapters/next/app/index.d.ts +1 -0
  3. package/adapters/next/app/index.js +1 -0
  4. package/adapters/next/index.d.ts +1 -0
  5. package/adapters/next/index.js +1 -0
  6. package/adapters/next/pages/index.d.ts +1 -0
  7. package/adapters/next/pages/index.js +1 -0
  8. package/core/index.d.ts +1 -0
  9. package/core/index.js +1 -0
  10. package/dist/adapters/imageTypes.d.ts +2 -0
  11. package/dist/adapters/imageTypes.d.ts.map +1 -0
  12. package/dist/adapters/next/app/index.d.ts +14 -0
  13. package/dist/adapters/next/app/index.d.ts.map +1 -0
  14. package/dist/adapters/next/app/index.js +95 -0
  15. package/dist/adapters/next/app/index.mjs +91 -0
  16. package/dist/adapters/next/pages/index.d.ts +15 -0
  17. package/dist/adapters/next/pages/index.d.ts.map +1 -0
  18. package/dist/adapters/next/pages/index.js +69 -0
  19. package/dist/adapters/next/pages/index.mjs +65 -0
  20. package/dist/adapters/shared.d.ts +79 -0
  21. package/dist/adapters/shared.d.ts.map +1 -0
  22. package/dist/core/client/index.d.ts +81 -0
  23. package/dist/core/client/index.d.ts.map +1 -0
  24. package/dist/core/index.d.ts +6 -0
  25. package/dist/core/index.d.ts.map +1 -0
  26. package/dist/core/index.js +96 -0
  27. package/dist/core/index.mjs +91 -0
  28. package/dist/core/internals/bucketBuilder.d.ts +199 -0
  29. package/dist/core/internals/bucketBuilder.d.ts.map +1 -0
  30. package/dist/core/internals/createPathParamProxy.d.ts +21 -0
  31. package/dist/core/internals/createPathParamProxy.d.ts.map +1 -0
  32. package/dist/core/sdk/index.d.ts +200 -0
  33. package/dist/core/sdk/index.d.ts.map +1 -0
  34. package/dist/index-3999aae6.js +187 -0
  35. package/dist/index-3cc4d530.js +183 -0
  36. package/dist/index-ca41982b.mjs +183 -0
  37. package/dist/index.d.ts +2 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +213 -0
  40. package/dist/index.mjs +209 -0
  41. package/dist/libs/errors/EdgeStoreCredentialsError.d.ts +5 -0
  42. package/dist/libs/errors/EdgeStoreCredentialsError.d.ts.map +1 -0
  43. package/dist/libs/errors/EdgeStoreError.d.ts +16 -0
  44. package/dist/libs/errors/EdgeStoreError.d.ts.map +1 -0
  45. package/dist/providers/aws/index.d.ts +9 -0
  46. package/dist/providers/aws/index.d.ts.map +1 -0
  47. package/dist/providers/aws/index.js +81 -0
  48. package/dist/providers/aws/index.mjs +77 -0
  49. package/dist/providers/edgestore/index.d.ts +8 -0
  50. package/dist/providers/edgestore/index.d.ts.map +1 -0
  51. package/dist/providers/edgestore/index.js +121 -0
  52. package/dist/providers/edgestore/index.mjs +117 -0
  53. package/dist/providers/index.d.ts +3 -0
  54. package/dist/providers/index.d.ts.map +1 -0
  55. package/dist/providers/types.d.ts +91 -0
  56. package/dist/providers/types.d.ts.map +1 -0
  57. package/dist/shared-43667670.mjs +232 -0
  58. package/dist/shared-6bef8919.js +227 -0
  59. package/dist/shared-f7607e44.js +239 -0
  60. package/dist/types.d.ts +88 -0
  61. package/dist/types.d.ts.map +1 -0
  62. package/package.json +96 -0
  63. package/providers/aws/index.d.ts +1 -0
  64. package/providers/aws/index.js +1 -0
  65. package/providers/edgestore/index.d.ts +1 -0
  66. package/providers/edgestore/index.js +1 -0
  67. package/src/adapters/imageTypes.ts +10 -0
  68. package/src/adapters/next/app/index.ts +111 -0
  69. package/src/adapters/next/pages/index.ts +84 -0
  70. package/src/adapters/shared.ts +306 -0
  71. package/src/core/client/index.ts +202 -0
  72. package/src/core/index.ts +10 -0
  73. package/src/core/internals/bucketBuilder.ts +462 -0
  74. package/src/core/internals/createPathParamProxy.ts +40 -0
  75. package/src/core/sdk/index.ts +381 -0
  76. package/src/index.ts +1 -0
  77. package/src/libs/errors/EdgeStoreCredentialsError.ts +12 -0
  78. package/src/libs/errors/EdgeStoreError.ts +25 -0
  79. package/src/providers/aws/index.ts +109 -0
  80. package/src/providers/edgestore/index.ts +140 -0
  81. package/src/providers/index.ts +2 -0
  82. package/src/providers/types.ts +107 -0
  83. package/src/types.ts +139 -0
package/README.md ADDED
@@ -0,0 +1,86 @@
1
+ # Getting Started
2
+
3
+ ### Next.js Setup
4
+
5
+ #### Install
6
+
7
+ ```bash
8
+ npm install @edgestore/react
9
+ ```
10
+
11
+ #### Environment Variables
12
+
13
+ ```bash
14
+ # .env
15
+ EDGE_STORE_ACCESS_KEY=your-access-key
16
+ EDGE_STORE_SECRET_KEY=your-secret-key
17
+ ```
18
+
19
+ #### API Route
20
+
21
+ ```jsx
22
+ // pages/api/edgestore/[...edgestore].js
23
+ import EdgeStore from '@edgestore/react/next';
24
+
25
+ export default EdgeStore();
26
+ ```
27
+
28
+ #### Provider
29
+
30
+ ```jsx
31
+ // pages/_app.jsx
32
+ import { EdgeStoreProvider } from '@edgestore/react';
33
+
34
+ export default function App({ Component, pageProps }) {
35
+ return (
36
+ <EdgeStoreProvider>
37
+ <Component {...pageProps} />
38
+ </EdgeStoreProvider>
39
+ );
40
+ }
41
+ ```
42
+
43
+ ### Upload image
44
+
45
+ ```jsx
46
+ import { useEdgeStore } from '@edgestore/react';
47
+
48
+ const Page = () => {
49
+ const [file, setFile] = useState(null);
50
+ const { upload } = useEdgeStore();
51
+
52
+ return (
53
+ <div>
54
+ <input type="file" onChange={(e) => setFile(e.target.files[0])} />
55
+ <button
56
+ onClick={async () => {
57
+ await upload({
58
+ file,
59
+ key: 'path/to/image.jpg',
60
+ });
61
+ }}
62
+ >
63
+ Upload
64
+ </button>
65
+ </div>
66
+ );
67
+ };
68
+
69
+ export default Page;
70
+ ```
71
+
72
+ ### Show image
73
+
74
+ ```jsx
75
+ import { useEdgeStore } from '@edgestore/react';
76
+
77
+ const Page = () => {
78
+ const { getImgSrc } = useEdgeStore();
79
+
80
+ return (
81
+ <div>
82
+ <img src={getImgSrc('path/to/image.jpg')} />
83
+ </div>
84
+ );
85
+ };
86
+ ```
@@ -0,0 +1 @@
1
+ export * from '../../../dist/adapters/next/app';
@@ -0,0 +1 @@
1
+ module.exports = require('../../../dist/adapters/next/app');
@@ -0,0 +1 @@
1
+ export * from '../../dist/adapters/next';
@@ -0,0 +1 @@
1
+ module.exports = require('../../dist/adapters/next');
@@ -0,0 +1 @@
1
+ export * from '../../../dist/adapters/next/pages';
@@ -0,0 +1 @@
1
+ module.exports = require('../../../dist/adapters/next/pages');
@@ -0,0 +1 @@
1
+ export * from '../dist/core';
package/core/index.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('../dist/core');
@@ -0,0 +1,2 @@
1
+ export declare const IMAGE_MIME_TYPES: string[];
2
+ //# sourceMappingURL=imageTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageTypes.d.ts","sourceRoot":"","sources":["../../src/adapters/imageTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,UAS5B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { NextRequest } from 'next/server';
2
+ import { EdgeStoreRouter } from '../../../core/internals/bucketBuilder';
3
+ import { Provider } from '../../../providers/types';
4
+ import { MaybePromise } from '../../../types';
5
+ export type CreateContextOptions = {
6
+ req: NextRequest;
7
+ };
8
+ export type Config<TCtx> = {
9
+ provider?: Provider;
10
+ router: EdgeStoreRouter<TCtx>;
11
+ createContext: (opts: CreateContextOptions) => MaybePromise<TCtx>;
12
+ };
13
+ export declare function createEdgeStoreNextHandler<TCtx>(config: Config<TCtx>): (req: NextRequest) => Promise<Response>;
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,95 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var shared = require('../../../shared-f7607e44.js');
6
+ var providers_edgestore_index = require('../../../providers/edgestore/index.js');
7
+ require('@panva/hkdf');
8
+ require('cookie');
9
+ require('jose');
10
+ require('uuid');
11
+ require('@swc/helpers/_/_define_property');
12
+ require('../../../index-3999aae6.js');
13
+
14
+ function createEdgeStoreNextHandler(config) {
15
+ const { provider = providers_edgestore_index.EdgeStoreProvider() } = config;
16
+ return async (req)=>{
17
+ try {
18
+ if (req.nextUrl.pathname === '/api/edgestore/init') {
19
+ const ctx = await config.createContext({
20
+ req
21
+ });
22
+ const { newCookies, token, baseUrl } = await shared.init({
23
+ ctx,
24
+ provider,
25
+ router: config.router
26
+ });
27
+ return new Response(JSON.stringify({
28
+ token,
29
+ baseUrl
30
+ }), {
31
+ status: 200,
32
+ headers: {
33
+ 'Content-Type': 'application/json',
34
+ 'Set-Cookie': newCookies.join('; ')
35
+ }
36
+ });
37
+ } else if (req.nextUrl.pathname === '/api/edgestore/request-upload') {
38
+ const res = await shared.requestUpload({
39
+ provider,
40
+ router: config.router,
41
+ body: await req.json(),
42
+ ctxToken: req.cookies.get('edgestore-ctx')?.value
43
+ });
44
+ return new Response(JSON.stringify(res), {
45
+ status: 200,
46
+ headers: {
47
+ 'Content-Type': 'application/json'
48
+ }
49
+ });
50
+ } else if (req.nextUrl.pathname === '/api/edgestore/request-upload-parts') {
51
+ const res = await shared.requestUploadParts({
52
+ provider,
53
+ router: config.router,
54
+ body: await req.json(),
55
+ ctxToken: req.cookies.get('edgestore-ctx')?.value
56
+ });
57
+ return new Response(JSON.stringify(res), {
58
+ status: 200,
59
+ headers: {
60
+ 'Content-Type': 'application/json'
61
+ }
62
+ });
63
+ } else if (req.nextUrl.pathname === '/api/edgestore/delete-file') {
64
+ await shared.deleteFile({
65
+ provider,
66
+ router: config.router,
67
+ body: await req.json(),
68
+ ctxToken: req.cookies.get('edgestore-ctx')?.value
69
+ });
70
+ return new Response(null, {
71
+ status: 200
72
+ });
73
+ } else {
74
+ return new Response(null, {
75
+ status: 404
76
+ });
77
+ }
78
+ } catch (err) {
79
+ if (err instanceof shared.EdgeStoreError) {
80
+ return new Response(err.message, {
81
+ status: shared.EDGE_STORE_ERROR_CODES[err.code]
82
+ });
83
+ } else if (err instanceof Error) {
84
+ return new Response(err.message, {
85
+ status: 500
86
+ });
87
+ }
88
+ return new Response('Internal server error', {
89
+ status: 500
90
+ });
91
+ }
92
+ };
93
+ }
94
+
95
+ exports.createEdgeStoreNextHandler = createEdgeStoreNextHandler;
@@ -0,0 +1,91 @@
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';
2
+ import { EdgeStoreProvider } from '../../../providers/edgestore/index.mjs';
3
+ import '@panva/hkdf';
4
+ import 'cookie';
5
+ import 'jose';
6
+ import 'uuid';
7
+ import '@swc/helpers/_/_define_property';
8
+ import '../../../index-ca41982b.mjs';
9
+
10
+ function createEdgeStoreNextHandler(config) {
11
+ const { provider = EdgeStoreProvider() } = config;
12
+ return async (req)=>{
13
+ try {
14
+ if (req.nextUrl.pathname === '/api/edgestore/init') {
15
+ const ctx = await config.createContext({
16
+ req
17
+ });
18
+ const { newCookies, token, baseUrl } = await init({
19
+ ctx,
20
+ provider,
21
+ router: config.router
22
+ });
23
+ return new Response(JSON.stringify({
24
+ token,
25
+ baseUrl
26
+ }), {
27
+ status: 200,
28
+ headers: {
29
+ 'Content-Type': 'application/json',
30
+ 'Set-Cookie': newCookies.join('; ')
31
+ }
32
+ });
33
+ } else if (req.nextUrl.pathname === '/api/edgestore/request-upload') {
34
+ const res = await requestUpload({
35
+ provider,
36
+ router: config.router,
37
+ body: await req.json(),
38
+ ctxToken: req.cookies.get('edgestore-ctx')?.value
39
+ });
40
+ return new Response(JSON.stringify(res), {
41
+ status: 200,
42
+ headers: {
43
+ 'Content-Type': 'application/json'
44
+ }
45
+ });
46
+ } else if (req.nextUrl.pathname === '/api/edgestore/request-upload-parts') {
47
+ const res = await requestUploadParts({
48
+ provider,
49
+ router: config.router,
50
+ body: await req.json(),
51
+ ctxToken: req.cookies.get('edgestore-ctx')?.value
52
+ });
53
+ return new Response(JSON.stringify(res), {
54
+ status: 200,
55
+ headers: {
56
+ 'Content-Type': 'application/json'
57
+ }
58
+ });
59
+ } else if (req.nextUrl.pathname === '/api/edgestore/delete-file') {
60
+ await deleteFile({
61
+ provider,
62
+ router: config.router,
63
+ body: await req.json(),
64
+ ctxToken: req.cookies.get('edgestore-ctx')?.value
65
+ });
66
+ return new Response(null, {
67
+ status: 200
68
+ });
69
+ } else {
70
+ return new Response(null, {
71
+ status: 404
72
+ });
73
+ }
74
+ } catch (err) {
75
+ if (err instanceof EdgeStoreError) {
76
+ return new Response(err.message, {
77
+ status: EDGE_STORE_ERROR_CODES[err.code]
78
+ });
79
+ } else if (err instanceof Error) {
80
+ return new Response(err.message, {
81
+ status: 500
82
+ });
83
+ }
84
+ return new Response('Internal server error', {
85
+ status: 500
86
+ });
87
+ }
88
+ };
89
+ }
90
+
91
+ export { createEdgeStoreNextHandler };
@@ -0,0 +1,15 @@
1
+ import { NextApiRequest, NextApiResponse } from 'next/types';
2
+ import { EdgeStoreRouter } from '../../../core/internals/bucketBuilder';
3
+ import { Provider } from '../../../providers/types';
4
+ import { MaybePromise } from '../../../types';
5
+ export type CreateContextOptions = {
6
+ req: NextApiRequest;
7
+ res: NextApiResponse;
8
+ };
9
+ export type Config<TCtx> = {
10
+ provider?: Provider;
11
+ router: EdgeStoreRouter<TCtx>;
12
+ createContext: (opts: CreateContextOptions) => MaybePromise<TCtx>;
13
+ };
14
+ export declare function createEdgeStoreNextHandler<TCtx>(config: Config<TCtx>): (req: NextApiRequest, res: NextApiResponse) => Promise<void>;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,69 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var shared = require('../../../shared-f7607e44.js');
6
+ var providers_edgestore_index = require('../../../providers/edgestore/index.js');
7
+ require('@panva/hkdf');
8
+ require('cookie');
9
+ require('jose');
10
+ require('uuid');
11
+ require('@swc/helpers/_/_define_property');
12
+ require('../../../index-3999aae6.js');
13
+
14
+ function createEdgeStoreNextHandler(config) {
15
+ const { provider = providers_edgestore_index.EdgeStoreProvider() } = config;
16
+ return async (req, res)=>{
17
+ try {
18
+ if (req.url === '/api/edgestore/init') {
19
+ const ctx = await config.createContext({
20
+ req,
21
+ res
22
+ });
23
+ const { newCookies, token, baseUrl } = await shared.init({
24
+ ctx,
25
+ provider,
26
+ router: config.router
27
+ });
28
+ res.setHeader('Set-Cookie', newCookies);
29
+ res.json({
30
+ token,
31
+ baseUrl
32
+ });
33
+ } else if (req.url === '/api/edgestore/request-upload') {
34
+ res.json(await shared.requestUpload({
35
+ provider,
36
+ router: config.router,
37
+ body: req.body,
38
+ ctxToken: req.cookies['edgestore-ctx']
39
+ }));
40
+ } else if (req.url === '/api/edgestore/request-upload-parts') {
41
+ res.json(await shared.requestUploadParts({
42
+ provider,
43
+ router: config.router,
44
+ body: req.body,
45
+ ctxToken: req.cookies['edgestore-ctx']
46
+ }));
47
+ } else if (req.url === '/api/edgestore/delete-file') {
48
+ await shared.deleteFile({
49
+ provider,
50
+ router: config.router,
51
+ body: req.body,
52
+ ctxToken: req.cookies['edgestore-ctx']
53
+ });
54
+ res.status(200).end();
55
+ } else {
56
+ res.status(404).end();
57
+ }
58
+ } catch (err) {
59
+ if (err instanceof shared.EdgeStoreError) {
60
+ res.status(shared.EDGE_STORE_ERROR_CODES[err.code]).send(err.message);
61
+ } else if (err instanceof Error) {
62
+ res.status(500).send(err.message);
63
+ }
64
+ res.status(500).send('Internal server error');
65
+ }
66
+ };
67
+ }
68
+
69
+ exports.createEdgeStoreNextHandler = createEdgeStoreNextHandler;
@@ -0,0 +1,65 @@
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';
2
+ import { EdgeStoreProvider } from '../../../providers/edgestore/index.mjs';
3
+ import '@panva/hkdf';
4
+ import 'cookie';
5
+ import 'jose';
6
+ import 'uuid';
7
+ import '@swc/helpers/_/_define_property';
8
+ import '../../../index-ca41982b.mjs';
9
+
10
+ function createEdgeStoreNextHandler(config) {
11
+ const { provider = EdgeStoreProvider() } = config;
12
+ return async (req, res)=>{
13
+ try {
14
+ if (req.url === '/api/edgestore/init') {
15
+ const ctx = await config.createContext({
16
+ req,
17
+ res
18
+ });
19
+ const { newCookies, token, baseUrl } = await init({
20
+ ctx,
21
+ provider,
22
+ router: config.router
23
+ });
24
+ res.setHeader('Set-Cookie', newCookies);
25
+ res.json({
26
+ token,
27
+ baseUrl
28
+ });
29
+ } else if (req.url === '/api/edgestore/request-upload') {
30
+ res.json(await requestUpload({
31
+ provider,
32
+ router: config.router,
33
+ body: req.body,
34
+ ctxToken: req.cookies['edgestore-ctx']
35
+ }));
36
+ } else if (req.url === '/api/edgestore/request-upload-parts') {
37
+ res.json(await requestUploadParts({
38
+ provider,
39
+ router: config.router,
40
+ body: req.body,
41
+ ctxToken: req.cookies['edgestore-ctx']
42
+ }));
43
+ } else if (req.url === '/api/edgestore/delete-file') {
44
+ await deleteFile({
45
+ provider,
46
+ router: config.router,
47
+ body: req.body,
48
+ ctxToken: req.cookies['edgestore-ctx']
49
+ });
50
+ res.status(200).end();
51
+ } else {
52
+ res.status(404).end();
53
+ }
54
+ } catch (err) {
55
+ if (err instanceof EdgeStoreError) {
56
+ res.status(EDGE_STORE_ERROR_CODES[err.code]).send(err.message);
57
+ } else if (err instanceof Error) {
58
+ res.status(500).send(err.message);
59
+ }
60
+ res.status(500).send('Internal server error');
61
+ }
62
+ };
63
+ }
64
+
65
+ export { createEdgeStoreNextHandler };
@@ -0,0 +1,79 @@
1
+ import { EdgeStoreRouter } from '../core/internals/bucketBuilder';
2
+ import { Provider } from '../providers/types';
3
+ export declare function init<TCtx>(params: {
4
+ provider: Provider;
5
+ router: EdgeStoreRouter<TCtx>;
6
+ ctx: TCtx;
7
+ }): Promise<{
8
+ newCookies: string[];
9
+ token: string | undefined;
10
+ baseUrl: import("../types").MaybePromise<string>;
11
+ }>;
12
+ export type RequestUploadBody = {
13
+ bucketName: string;
14
+ input: any;
15
+ fileInfo: {
16
+ size: number;
17
+ type: string;
18
+ extension: string;
19
+ replaceTargetUrl?: string;
20
+ };
21
+ };
22
+ export declare function requestUpload<TCtx>(params: {
23
+ provider: Provider;
24
+ router: EdgeStoreRouter<TCtx>;
25
+ ctxToken: string | undefined;
26
+ body: RequestUploadBody;
27
+ }): Promise<{
28
+ size: number;
29
+ uploadedAt: string;
30
+ path: {
31
+ key: string;
32
+ value: string;
33
+ }[];
34
+ metadata: any;
35
+ uploadUrl: string;
36
+ accessUrl: string;
37
+ } | {
38
+ size: number;
39
+ uploadedAt: string;
40
+ path: {
41
+ key: string;
42
+ value: string;
43
+ }[];
44
+ metadata: any;
45
+ multipart: {
46
+ uploadId: string;
47
+ partSize: number;
48
+ totalParts: number;
49
+ parts: {
50
+ partNumber: number;
51
+ uploadUrl: string;
52
+ }[];
53
+ };
54
+ accessUrl: string;
55
+ }>;
56
+ export type RequestUploadPartsParams = {
57
+ multipart: {
58
+ uploadId: string;
59
+ parts: number[];
60
+ };
61
+ path: string;
62
+ };
63
+ export declare function requestUploadParts<TCtx>(params: {
64
+ provider: Provider;
65
+ router: EdgeStoreRouter<TCtx>;
66
+ ctxToken: string | undefined;
67
+ body: RequestUploadPartsParams;
68
+ }): Promise<import("../providers/types").RequestUploadPartsRes>;
69
+ export type DeleteFileBody = {
70
+ bucketName: string;
71
+ url: string;
72
+ };
73
+ export declare function deleteFile<TCtx>(params: {
74
+ provider: Provider;
75
+ router: EdgeStoreRouter<TCtx>;
76
+ ctxToken: string | undefined;
77
+ body: DeleteFileBody;
78
+ }): Promise<void>;
79
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,81 @@
1
+ import { AnyRouter, Comparison } from '..';
2
+ import { Simplify } from '../../types';
3
+ import { AnyBuilder, InferBucketPathKeys, InferMetadataObject } from '../internals/bucketBuilder';
4
+ export type GetFileRes<TBucket extends AnyBuilder> = {
5
+ url: string;
6
+ size: number;
7
+ uploadedAt: Date;
8
+ metadata: InferMetadataObject<TBucket>;
9
+ path: {
10
+ [TKey in InferBucketPathKeys<TBucket>]: string;
11
+ };
12
+ };
13
+ type Filter<TBucket extends AnyBuilder> = {
14
+ AND?: Filter<TBucket>[];
15
+ OR?: Filter<TBucket>[];
16
+ uploadedAt?: Comparison<Date>;
17
+ path?: {
18
+ [K in InferBucketPathKeys<TBucket>]?: Comparison;
19
+ };
20
+ metadata?: {
21
+ [K in keyof InferMetadataObject<TBucket>]?: Comparison;
22
+ };
23
+ };
24
+ export type ListFilesRequest<TBucket extends AnyBuilder> = {
25
+ filter?: Filter<TBucket>;
26
+ pagination?: {
27
+ currentPage: number;
28
+ pageSize: number;
29
+ };
30
+ };
31
+ export type ListFilesResponse<TBucket extends AnyBuilder> = {
32
+ data: {
33
+ url: string;
34
+ thumbnailUrl: TBucket['_def']['type'] extends 'IMAGE' ? string | null : never;
35
+ size: number;
36
+ uploadedAt: Date;
37
+ metadata: InferMetadataObject<TBucket>;
38
+ path: {
39
+ [TKey in InferBucketPathKeys<TBucket>]: string;
40
+ };
41
+ }[];
42
+ pagination: {
43
+ currentPage: number;
44
+ totalPages: number;
45
+ totalCount: number;
46
+ };
47
+ };
48
+ type EdgeStoreClient<TRouter extends AnyRouter> = {
49
+ [K in keyof TRouter['buckets']]: {
50
+ getFile: (params: {
51
+ url: string;
52
+ }) => Promise<GetFileRes<TRouter['buckets'][K]>>;
53
+ /**
54
+ * Programmatically delete a file.
55
+ */
56
+ deleteFile: (params: {
57
+ url: string;
58
+ }) => Promise<{
59
+ success: boolean;
60
+ }>;
61
+ /**
62
+ * List files in a bucket.
63
+ *
64
+ * You can also filter the results by passing a filter object.
65
+ * The results are paginated.
66
+ */
67
+ listFiles: (params?: ListFilesRequest<TRouter['buckets'][K]>) => Promise<ListFilesResponse<TRouter['buckets'][K]>>;
68
+ };
69
+ };
70
+ export declare function initEdgeStoreClient<TRouter extends AnyRouter>(config: {
71
+ router: TRouter;
72
+ accessKey?: string;
73
+ secretKey?: string;
74
+ }): EdgeStoreClient<TRouter>;
75
+ export type InferClientResponse<TRouter extends AnyRouter> = {
76
+ [TBucketName in keyof TRouter['buckets']]: {
77
+ [TClienFn in keyof EdgeStoreClient<TRouter>[TBucketName]]: Simplify<Awaited<ReturnType<EdgeStoreClient<TRouter>[TBucketName][TClienFn]>>>;
78
+ };
79
+ };
80
+ export {};
81
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/client/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { EdgeStoreRouter } from './internals/bucketBuilder';
2
+ export * from './client';
3
+ export * from './sdk';
4
+ export type { InferBucketPathKeys, InferMetadataObject, } from './internals/bucketBuilder';
5
+ export type AnyRouter = EdgeStoreRouter<any>;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}