next-tinacms-dos 1.1.2 → 1.3.0
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/dos-media-store.d.ts +0 -1
- package/dist/handlers.js +50 -34
- package/dist/index.es.js +54962 -21
- package/dist/index.js +54964 -23
- package/package.json +4 -4
|
@@ -8,7 +8,6 @@ export declare class DOSMediaStore implements MediaStore {
|
|
|
8
8
|
persist(media: MediaUploadOptions[]): Promise<Media[]>;
|
|
9
9
|
delete(media: Media): Promise<void>;
|
|
10
10
|
list(options: MediaListOptions): Promise<MediaList>;
|
|
11
|
-
previewSrc: (publicId: string | Media) => string;
|
|
12
11
|
parse: (img: any) => any;
|
|
13
12
|
private buildQuery;
|
|
14
13
|
}
|
package/dist/handlers.js
CHANGED
|
@@ -4,34 +4,36 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
8
7
|
var __export = (target, all) => {
|
|
9
|
-
__markAsModule(target);
|
|
10
8
|
for (var name in all)
|
|
11
9
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
10
|
};
|
|
13
|
-
var
|
|
14
|
-
if (
|
|
15
|
-
for (let key of __getOwnPropNames(
|
|
16
|
-
if (!__hasOwnProp.call(
|
|
17
|
-
__defProp(
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
16
|
}
|
|
19
|
-
return
|
|
20
|
-
};
|
|
21
|
-
var __toModule = (module2) => {
|
|
22
|
-
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
|
17
|
+
return to;
|
|
23
18
|
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
21
|
+
mod
|
|
22
|
+
));
|
|
23
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
24
24
|
|
|
25
25
|
// src/handlers.ts
|
|
26
|
-
|
|
26
|
+
var handlers_exports = {};
|
|
27
|
+
__export(handlers_exports, {
|
|
27
28
|
createMediaHandler: () => createMediaHandler,
|
|
28
29
|
mediaHandlerConfig: () => mediaHandlerConfig
|
|
29
30
|
});
|
|
30
|
-
|
|
31
|
-
var
|
|
32
|
-
var
|
|
33
|
-
var
|
|
34
|
-
var
|
|
31
|
+
module.exports = __toCommonJS(handlers_exports);
|
|
32
|
+
var import_client_s3 = require("@aws-sdk/client-s3");
|
|
33
|
+
var import_path = __toESM(require("path"));
|
|
34
|
+
var import_fs = __toESM(require("fs"));
|
|
35
|
+
var import_multer = __toESM(require("multer"));
|
|
36
|
+
var import_util = require("util");
|
|
35
37
|
var mediaHandlerConfig = {
|
|
36
38
|
api: {
|
|
37
39
|
bodyParser: false
|
|
@@ -70,16 +72,18 @@ var createMediaHandler = (config, options) => {
|
|
|
70
72
|
};
|
|
71
73
|
};
|
|
72
74
|
async function uploadMedia(req, res, client, bucket, mediaRoot, cdnUrl) {
|
|
73
|
-
const upload = (0, import_util.promisify)(
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
75
|
+
const upload = (0, import_util.promisify)(
|
|
76
|
+
(0, import_multer.default)({
|
|
77
|
+
storage: import_multer.default.diskStorage({
|
|
78
|
+
directory: (req2, file, cb) => {
|
|
79
|
+
cb(null, "/tmp");
|
|
80
|
+
},
|
|
81
|
+
filename: (req2, file, cb) => {
|
|
82
|
+
cb(null, file.originalname);
|
|
83
|
+
}
|
|
84
|
+
})
|
|
85
|
+
}).single("file")
|
|
86
|
+
);
|
|
83
87
|
await upload(req, res);
|
|
84
88
|
const { directory } = req.body;
|
|
85
89
|
let prefix = directory.replace(/^\//, "").replace(/\/$/, "");
|
|
@@ -96,13 +100,18 @@ async function uploadMedia(req, res, client, bucket, mediaRoot, cdnUrl) {
|
|
|
96
100
|
};
|
|
97
101
|
const command = new import_client_s3.PutObjectCommand(params);
|
|
98
102
|
try {
|
|
103
|
+
const src = cdnUrl + prefix + filename;
|
|
99
104
|
await client.send(command);
|
|
100
105
|
res.json({
|
|
101
106
|
type: "file",
|
|
102
107
|
id: prefix + filename,
|
|
103
108
|
filename,
|
|
104
109
|
directory: prefix,
|
|
105
|
-
|
|
110
|
+
thumbnails: {
|
|
111
|
+
"75x75": src,
|
|
112
|
+
"400x400": src,
|
|
113
|
+
"1000x1000": src
|
|
114
|
+
},
|
|
106
115
|
src: cdnUrl + (mediaRoot ? import_path.default.join(mediaRoot, prefix + filename) : prefix + filename)
|
|
107
116
|
});
|
|
108
117
|
} catch (e) {
|
|
@@ -157,10 +166,12 @@ async function listMedia(req, res, client, bucket, mediaRoot, cdnUrl) {
|
|
|
157
166
|
directory: import_path.default.dirname(strippedPrefix)
|
|
158
167
|
});
|
|
159
168
|
});
|
|
160
|
-
items.push(
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
169
|
+
items.push(
|
|
170
|
+
...(response.Contents || []).filter((file) => {
|
|
171
|
+
const strippedKey = stripMediaRoot(mediaRoot, file.Key);
|
|
172
|
+
return strippedKey !== prefix;
|
|
173
|
+
}).map(getDOSToTinaFunc(cdnUrl, mediaRoot))
|
|
174
|
+
);
|
|
164
175
|
res.json({
|
|
165
176
|
items,
|
|
166
177
|
offset: response.NextMarker
|
|
@@ -201,12 +212,17 @@ function getDOSToTinaFunc(cdnUrl, mediaRoot) {
|
|
|
201
212
|
const strippedKey = stripMediaRoot(mediaRoot, file.Key);
|
|
202
213
|
const filename = import_path.default.basename(strippedKey);
|
|
203
214
|
const directory = import_path.default.dirname(strippedKey) + "/";
|
|
215
|
+
const src = cdnUrl + file.Key;
|
|
204
216
|
return {
|
|
205
217
|
id: file.Key,
|
|
206
218
|
filename,
|
|
207
219
|
directory,
|
|
208
|
-
src
|
|
209
|
-
|
|
220
|
+
src,
|
|
221
|
+
thumbnails: {
|
|
222
|
+
"75x75": src,
|
|
223
|
+
"400x400": src,
|
|
224
|
+
"1000x1000": src
|
|
225
|
+
},
|
|
210
226
|
type: "file"
|
|
211
227
|
};
|
|
212
228
|
};
|