@dudousxd/nestjs-media-dashboard 0.5.0 → 0.6.1
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/client/media-console-client.d.ts +8 -4
- package/dist/client/media-console-client.d.ts.map +1 -1
- package/dist/client/media-console-client.js +8 -4
- package/dist/client/media-console-client.js.map +1 -1
- package/dist/server/index.cjs +78 -22
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.d.cts +19 -7
- package/dist/server/index.d.ts +19 -7
- package/dist/server/index.js +78 -22
- package/dist/server/index.js.map +1 -1
- package/dist/spa/assets/{index-MCHDD-bh.js → index-CCjuiZ1u.js} +1 -1
- package/dist/spa/assets/{preview-DALtkJs5.js → preview-rp64mDIs.js} +1 -1
- package/dist/spa/assets/styles-Bwprsevk.js +80 -0
- package/dist/spa/assets/styles-UKDi41SH.css +1 -0
- package/dist/spa/index.html +3 -3
- package/dist/spa/preview.html +3 -3
- package/package.json +1 -1
- package/dist/spa/assets/styles-Bmw56wTa.css +0 -1
- package/dist/spa/assets/styles-CLZIcwcO.js +0 -80
|
@@ -64,10 +64,14 @@ export declare const mediaConsoleClient: {
|
|
|
64
64
|
}) => Promise<LibraryListResponse>;
|
|
65
65
|
libraryRecord: (id: string) => Promise<LibraryDetailResponse>;
|
|
66
66
|
deleteObject: (disk: string, key: string) => Promise<void>;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
/** Move
|
|
70
|
-
|
|
67
|
+
/** Copy an object to `to` on `toDisk` (same disk, or across buckets when `toDisk` differs). */
|
|
68
|
+
copyObject: (fromDisk: string, from: string, toDisk: string, to: string) => Promise<void>;
|
|
69
|
+
/** Move an object to `to` on `toDisk` (same disk, or across buckets when `toDisk` differs). */
|
|
70
|
+
moveObject: (fromDisk: string, from: string, toDisk: string, to: string) => Promise<void>;
|
|
71
|
+
/** Move a whole folder (recursively) to `to` on `toDisk` (same disk or across buckets). */
|
|
72
|
+
moveFolder: (fromDisk: string, from: string, toDisk: string, to: string) => Promise<void>;
|
|
73
|
+
/** Copy a whole folder (recursively) to `to` on `toDisk` (same disk or across buckets). */
|
|
74
|
+
copyFolder: (fromDisk: string, from: string, toDisk: string, to: string) => Promise<void>;
|
|
71
75
|
abortUpload: (id: string) => Promise<void>;
|
|
72
76
|
deleteLibraryRecord: (id: string) => Promise<void>;
|
|
73
77
|
/** Upload a file to `key` on the disk (raw bytes; MIME preserved via the `type` param). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-console-client.d.ts","sourceRoot":"","sources":["../../src/client/media-console-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,QAAQ,EACR,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB;CACF;AAED,iGAAiG;AACjG,wBAAgB,OAAO,IAAI,MAAM,CAMhC;AA4CD,+FAA+F;AAC/F,MAAM,MAAM,gBAAgB,GACxB;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,GAChF;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAExC,iGAAiG;AACjG,eAAO,MAAM,kBAAkB;IAC7B,6FAA6F;cAC/E,OAAO,CAAC,gBAAgB,CAAC;IAgBvC,kGAAkG;sBAC1E,MAAM,YAAY,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;IAWhE,gCAAgC;kBACd,OAAO,CAAC,IAAI,CAAC;oBAGjB,OAAO,CAAC,QAAQ,CAAC;iBACpB,OAAO,CAAC,gBAAgB,CAAC;oBAE5B,MAAM,WACJ;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAC3D,OAAO,CAAC,kBAAkB,CAAC;mBAEf,MAAM,OAAO,MAAM,KAAG,OAAO,CAAC,oBAAoB,CAAC;IAElE;wGACoG;yBAC/E,MAAM,OAAO,MAAM,KAAG,MAAM;IAEjD;;;uGAGmG;2BAE3F,MAAM,OACP,MAAM,YACD,MAAM,KACf,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IA4B/C,4FAA4F;wBAClE,MAAM,OAAO,MAAM,KAAG,OAAO,CAAC,WAAW,CAAC;uBAOlD;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAQ,OAAO,CAAC,kBAAkB,CAAC;iBAE1E,MAAM,KAAG,OAAO,CAAC,oBAAoB,CAAC;uBAElC,OAAO,CAAC,mBAAmB,CAAC;uBAEnC;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAC9E,OAAO,CAAC,mBAAmB,CAAC;wBACX,MAAM,KAAG,OAAO,CAAC,qBAAqB,CAAC;yBAEtC,MAAM,OAAO,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"media-console-client.d.ts","sourceRoot":"","sources":["../../src/client/media-console-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -136,10 +136,14 @@ export const mediaConsoleClient = {
|
|
|
136
136
|
library: (params = {}) => getJson(withQuery('/library', params)),
|
|
137
137
|
libraryRecord: (id) => getJson(`/library/${encodeURIComponent(id)}`),
|
|
138
138
|
deleteObject: (disk, key) => send('DELETE', withQuery(`/disks/${encodeURIComponent(disk)}/object`, { key })),
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
/** Move
|
|
142
|
-
|
|
139
|
+
/** Copy an object to `to` on `toDisk` (same disk, or across buckets when `toDisk` differs). */
|
|
140
|
+
copyObject: (fromDisk, from, toDisk, to) => send('POST', `/disks/${encodeURIComponent(fromDisk)}/copy`, { from, to, toDisk }),
|
|
141
|
+
/** Move an object to `to` on `toDisk` (same disk, or across buckets when `toDisk` differs). */
|
|
142
|
+
moveObject: (fromDisk, from, toDisk, to) => send('POST', `/disks/${encodeURIComponent(fromDisk)}/move`, { from, to, toDisk }),
|
|
143
|
+
/** Move a whole folder (recursively) to `to` on `toDisk` (same disk or across buckets). */
|
|
144
|
+
moveFolder: (fromDisk, from, toDisk, to) => send('POST', `/disks/${encodeURIComponent(fromDisk)}/move-folder`, { from, to, toDisk }),
|
|
145
|
+
/** Copy a whole folder (recursively) to `to` on `toDisk` (same disk or across buckets). */
|
|
146
|
+
copyFolder: (fromDisk, from, toDisk, to) => send('POST', `/disks/${encodeURIComponent(fromDisk)}/copy-folder`, { from, to, toDisk }),
|
|
143
147
|
abortUpload: (id) => send('POST', `/uploads/${encodeURIComponent(id)}/abort`),
|
|
144
148
|
deleteLibraryRecord: (id) => send('DELETE', `/library/${encodeURIComponent(id)}`),
|
|
145
149
|
/** Upload a file to `key` on the disk (raw bytes; MIME preserved via the `type` param). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-console-client.js","sourceRoot":"","sources":["../../src/client/media-console-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"media-console-client.js","sourceRoot":"","sources":["../../src/client/media-console-client.ts"],"names":[],"mappings":"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"}
|
package/dist/server/index.cjs
CHANGED
|
@@ -404,6 +404,7 @@ var URL_TTL_SECONDS = 300;
|
|
|
404
404
|
var DEFAULT_PAGE_LIMIT = 50;
|
|
405
405
|
var MAX_UPLOAD_BYTES = 100 * 1024 * 1024;
|
|
406
406
|
var DELETE_SWEEP_LIMIT = 1e3;
|
|
407
|
+
var MAX_CROSS_DISK_BYTES = 100 * 1024 * 1024;
|
|
407
408
|
function lastSegment(prefix) {
|
|
408
409
|
const trimmed = prefix.replace(/\/+$/, "");
|
|
409
410
|
const slash = trimmed.lastIndexOf("/");
|
|
@@ -487,10 +488,15 @@ var MediaConsoleService = class {
|
|
|
487
488
|
limit: options.limit ?? DEFAULT_PAGE_LIMIT
|
|
488
489
|
});
|
|
489
490
|
return {
|
|
491
|
+
// Drop phantom folders whose name is empty — a CommonPrefix of only slashes (`/`, `//`),
|
|
492
|
+
// produced by a stray key with a leading slash. The S3 driver normalizes such a prefix back to
|
|
493
|
+
// the root, so listing INTO one returns the root again (the phantom included) — a self-reference
|
|
494
|
+
// that infinite-loops the folder tree. Filtering it out removes the trap; those leading-slash
|
|
495
|
+
// keys are unreachable from the console anyway (the driver strips the leading slash).
|
|
490
496
|
folders: result.folders.map((prefix) => ({
|
|
491
497
|
name: lastSegment(prefix),
|
|
492
498
|
prefix
|
|
493
|
-
})),
|
|
499
|
+
})).filter((folder) => folder.name !== ""),
|
|
494
500
|
// Drop the zero-byte "folder marker" (a key ending in `/`, whose name is empty after the
|
|
495
501
|
// prefix) that `createFolder` writes — it's the folder itself, not a file inside it.
|
|
496
502
|
files: result.files.filter((entry) => entry.name !== "").map((entry) => ({
|
|
@@ -593,30 +599,64 @@ var MediaConsoleService = class {
|
|
|
593
599
|
} while (cursor);
|
|
594
600
|
await driver.delete(sweepPrefix);
|
|
595
601
|
}
|
|
596
|
-
async copyObject(
|
|
597
|
-
await this.
|
|
598
|
-
}
|
|
599
|
-
async moveObject(
|
|
600
|
-
await this.
|
|
601
|
-
}
|
|
602
|
-
/**
|
|
603
|
-
*
|
|
604
|
-
*
|
|
605
|
-
*
|
|
606
|
-
async
|
|
607
|
-
const
|
|
602
|
+
async copyObject(fromDisk, from, toDisk, to) {
|
|
603
|
+
await this.transferKey("copy", fromDisk, from, toDisk, to);
|
|
604
|
+
}
|
|
605
|
+
async moveObject(fromDisk, from, toDisk, to) {
|
|
606
|
+
await this.transferKey("move", fromDisk, from, toDisk, to);
|
|
607
|
+
}
|
|
608
|
+
/** Copies or moves a single object, on the same disk or across disks. Same-disk uses the driver's
|
|
609
|
+
* native `copy`/`move` (server-side, no bytes through the pod). Cross-disk has no driver primitive,
|
|
610
|
+
* so the object is streamed through the pod (get→put, buffered), preserving its content type and
|
|
611
|
+
* bounded at {@link MAX_CROSS_DISK_BYTES}; a `move` then deletes the source. */
|
|
612
|
+
async transferKey(op, fromDisk, from, toDisk, to) {
|
|
613
|
+
const fromDriver = this.diskOrThrow(fromDisk);
|
|
614
|
+
if (fromDisk === toDisk) {
|
|
615
|
+
if (op === "move") await fromDriver.move(from, to);
|
|
616
|
+
else await fromDriver.copy(from, to);
|
|
617
|
+
return;
|
|
618
|
+
}
|
|
619
|
+
const toDriver = this.diskOrThrow(toDisk);
|
|
620
|
+
const stat = await fromDriver.stat(from);
|
|
621
|
+
if (stat.size > MAX_CROSS_DISK_BYTES) {
|
|
622
|
+
throw new import_common2.PayloadTooLargeException(`"${from}" is ${Math.round(stat.size / (1024 * 1024))} MB \u2014 over the ${MAX_CROSS_DISK_BYTES / (1024 * 1024)} MB limit for copying across disks from the console.`);
|
|
623
|
+
}
|
|
624
|
+
const bytes = await fromDriver.get(from);
|
|
625
|
+
await toDriver.put(to, bytes, stat.contentType ? {
|
|
626
|
+
contentType: stat.contentType
|
|
627
|
+
} : void 0);
|
|
628
|
+
if (op === "move") await fromDriver.delete(from);
|
|
629
|
+
}
|
|
630
|
+
/** Moves a whole "folder" (every object under `<from>/`, nested included) to `<to>/`, on the same
|
|
631
|
+
* disk or across disks, preserving each key's path relative to the source. */
|
|
632
|
+
async moveFolder(fromDisk, from, toDisk, to) {
|
|
633
|
+
await this.transferFolder("move", fromDisk, from, toDisk, to);
|
|
634
|
+
}
|
|
635
|
+
/** Copies a whole "folder" (every object under `<from>/`, nested included) to `<to>/`, same disk or
|
|
636
|
+
* across disks, preserving each key's path relative to the source. */
|
|
637
|
+
async copyFolder(fromDisk, from, toDisk, to) {
|
|
638
|
+
await this.transferFolder("copy", fromDisk, from, toDisk, to);
|
|
639
|
+
}
|
|
640
|
+
/** Shared engine for {@link moveFolder}/{@link copyFolder}. Same flat-listing sweep as
|
|
641
|
+
* {@link deleteFolder}; each key is relocated via {@link transferKey} (so cross-disk transfers work
|
|
642
|
+
* transparently). On the SAME disk, rejects a destination inside the source (which would recurse
|
|
643
|
+
* forever); across disks that constraint doesn't apply. The destination folder marker is written,
|
|
644
|
+
* and for a move the source marker is removed, so both listings stay consistent. Actions-gated. */
|
|
645
|
+
async transferFolder(op, fromDisk, from, toDisk, to) {
|
|
646
|
+
const fromDriver = this.diskOrThrow(fromDisk);
|
|
647
|
+
const toDriver = this.diskOrThrow(toDisk);
|
|
608
648
|
const fromNormalized = from.replace(/^\/+/, "").replace(/\/+$/, "");
|
|
609
649
|
const toNormalized = to.replace(/^\/+/, "").replace(/\/+$/, "");
|
|
610
650
|
if (fromNormalized === "") throw new import_common2.BadRequestException("Source folder is required");
|
|
611
651
|
if (toNormalized === "") throw new import_common2.BadRequestException("Destination folder is required");
|
|
612
652
|
const fromPrefix = `${fromNormalized}/`;
|
|
613
653
|
const toPrefix = `${toNormalized}/`;
|
|
614
|
-
if (toPrefix === fromPrefix || toPrefix.startsWith(fromPrefix)) {
|
|
615
|
-
throw new import_common2.BadRequestException(
|
|
654
|
+
if (fromDisk === toDisk && (toPrefix === fromPrefix || toPrefix.startsWith(fromPrefix))) {
|
|
655
|
+
throw new import_common2.BadRequestException(`Cannot ${op} a folder into itself`);
|
|
616
656
|
}
|
|
617
657
|
let cursor;
|
|
618
658
|
do {
|
|
619
|
-
const result = await
|
|
659
|
+
const result = await fromDriver.list(fromPrefix, {
|
|
620
660
|
delimiter: "",
|
|
621
661
|
limit: DELETE_SWEEP_LIMIT,
|
|
622
662
|
...cursor ? {
|
|
@@ -624,12 +664,13 @@ var MediaConsoleService = class {
|
|
|
624
664
|
} : {}
|
|
625
665
|
});
|
|
626
666
|
for (const entry of result.files) {
|
|
627
|
-
|
|
667
|
+
const destKey = `${toPrefix}${entry.key.slice(fromPrefix.length)}`;
|
|
668
|
+
await this.transferKey(op, fromDisk, entry.key, toDisk, destKey);
|
|
628
669
|
}
|
|
629
670
|
cursor = result.cursor;
|
|
630
671
|
} while (cursor);
|
|
631
|
-
await
|
|
632
|
-
await
|
|
672
|
+
await toDriver.put(toPrefix, Buffer.alloc(0));
|
|
673
|
+
if (op === "move") await fromDriver.delete(fromPrefix);
|
|
633
674
|
}
|
|
634
675
|
async listUploads(filter) {
|
|
635
676
|
if (!this.uploads || typeof this.uploads.list !== "function") return {
|
|
@@ -783,13 +824,16 @@ var MediaConsoleActionsController = class {
|
|
|
783
824
|
return this.service.deleteObject(disk, key);
|
|
784
825
|
}
|
|
785
826
|
copyObject(disk, body) {
|
|
786
|
-
return this.service.copyObject(disk, body.from, body.to);
|
|
827
|
+
return this.service.copyObject(disk, body.from, body.toDisk ?? disk, body.to);
|
|
787
828
|
}
|
|
788
829
|
moveObject(disk, body) {
|
|
789
|
-
return this.service.moveObject(disk, body.from, body.to);
|
|
830
|
+
return this.service.moveObject(disk, body.from, body.toDisk ?? disk, body.to);
|
|
790
831
|
}
|
|
791
832
|
moveFolder(disk, body) {
|
|
792
|
-
return this.service.moveFolder(disk, body.from, body.to);
|
|
833
|
+
return this.service.moveFolder(disk, body.from, body.toDisk ?? disk, body.to);
|
|
834
|
+
}
|
|
835
|
+
copyFolder(disk, body) {
|
|
836
|
+
return this.service.copyFolder(disk, body.from, body.toDisk ?? disk, body.to);
|
|
793
837
|
}
|
|
794
838
|
/**
|
|
795
839
|
* Uploads a file to `key` on the disk. The body is the raw bytes sent as `application/octet-stream`
|
|
@@ -860,6 +904,18 @@ _ts_decorate3([
|
|
|
860
904
|
]),
|
|
861
905
|
_ts_metadata3("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
862
906
|
], MediaConsoleActionsController.prototype, "moveFolder", null);
|
|
907
|
+
_ts_decorate3([
|
|
908
|
+
(0, import_common3.Post)("disks/:disk/copy-folder"),
|
|
909
|
+
(0, import_common3.HttpCode)(204),
|
|
910
|
+
_ts_param3(0, (0, import_common3.Param)("disk")),
|
|
911
|
+
_ts_param3(1, (0, import_common3.Body)()),
|
|
912
|
+
_ts_metadata3("design:type", Function),
|
|
913
|
+
_ts_metadata3("design:paramtypes", [
|
|
914
|
+
String,
|
|
915
|
+
typeof CopyMoveBody === "undefined" ? Object : CopyMoveBody
|
|
916
|
+
]),
|
|
917
|
+
_ts_metadata3("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
918
|
+
], MediaConsoleActionsController.prototype, "copyFolder", null);
|
|
863
919
|
_ts_decorate3([
|
|
864
920
|
(0, import_common3.Post)("disks/:disk/upload"),
|
|
865
921
|
(0, import_common3.HttpCode)(204),
|