@punks/backend-entity-manager 0.0.217 → 0.0.218
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/cjs/index.js +18 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/abstractions/media.d.ts +5 -0
- package/dist/cjs/types/platforms/nest/services/media/index.d.ts +2 -1
- package/dist/esm/index.js +18 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/abstractions/media.d.ts +5 -0
- package/dist/esm/types/platforms/nest/services/media/index.d.ts +2 -1
- package/dist/index.d.ts +7 -1
- package/package.json +1 -1
|
@@ -51,6 +51,7 @@ export type IMediaFolderRepository = {
|
|
|
51
51
|
folderMove(id: string, parentId?: string): Promise<void>;
|
|
52
52
|
folderDelete(id: string): Promise<void>;
|
|
53
53
|
foldersList(parentId?: string): Promise<MediaFolderRecord[]>;
|
|
54
|
+
folderFind(name: string, parentId?: string): Promise<MediaFolderRecord>;
|
|
54
55
|
};
|
|
55
56
|
export type MediaFolderCreateInput = {
|
|
56
57
|
folderName: string;
|
|
@@ -72,10 +73,14 @@ export type MediaInfo = {
|
|
|
72
73
|
ref: string;
|
|
73
74
|
fileName: string;
|
|
74
75
|
};
|
|
76
|
+
export type MediaFolderEnsureInput = {
|
|
77
|
+
path: string[];
|
|
78
|
+
};
|
|
75
79
|
export type IMediaLibraryManager = {
|
|
76
80
|
mediaUpload(input: MediaUploadInput): Promise<MediaReference>;
|
|
77
81
|
mediaDelete(input: MediaReference): Promise<void>;
|
|
78
82
|
mediaDownload(input: MediaReference): Promise<Buffer>;
|
|
83
|
+
folderEnsure(input: MediaFolderEnsureInput): Promise<MediaFolderReference>;
|
|
79
84
|
folderCreate(input: MediaFolderCreateInput): Promise<MediaFolderReference>;
|
|
80
85
|
folderDelete(input: MediaFolderReference): Promise<void>;
|
|
81
86
|
folderMove(input: MediaFolderMoveInput): Promise<void>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { IMediaLibraryManager, MediaFolderCreateInput, MediaFolderMoveInput, MediaFolderReference, MediaFolderRenameInput, MediaInfo, MediaReference, MediaUploadInput } from "../../../../abstractions";
|
|
2
|
+
import { IMediaLibraryManager, MediaFolderCreateInput, MediaFolderEnsureInput, MediaFolderMoveInput, MediaFolderReference, MediaFolderRenameInput, MediaInfo, MediaReference, MediaUploadInput } from "../../../../abstractions";
|
|
3
3
|
import { EntityManagerRegistry } from "../../ioc";
|
|
4
4
|
export declare class MediaLibraryService implements IMediaLibraryManager {
|
|
5
5
|
private readonly registry;
|
|
@@ -7,6 +7,7 @@ export declare class MediaLibraryService implements IMediaLibraryManager {
|
|
|
7
7
|
mediaUpload(input: MediaUploadInput): Promise<MediaReference>;
|
|
8
8
|
mediaDelete(input: MediaReference): Promise<void>;
|
|
9
9
|
mediaDownload(input: MediaReference): Promise<Buffer>;
|
|
10
|
+
folderEnsure(input: MediaFolderEnsureInput): Promise<MediaFolderReference>;
|
|
10
11
|
folderCreate(input: MediaFolderCreateInput): Promise<MediaFolderReference>;
|
|
11
12
|
folderMove(input: MediaFolderMoveInput): Promise<void>;
|
|
12
13
|
folderRename(input: MediaFolderRenameInput): Promise<void>;
|
package/dist/esm/index.js
CHANGED
|
@@ -21288,6 +21288,24 @@ let MediaLibraryService = class MediaLibraryService {
|
|
|
21288
21288
|
async mediaDownload(input) {
|
|
21289
21289
|
return await this.getMediaProvider(this.parseReferenceProviderId(input)).mediaDownload(input);
|
|
21290
21290
|
}
|
|
21291
|
+
async folderEnsure(input) {
|
|
21292
|
+
let parentFolder;
|
|
21293
|
+
let folder;
|
|
21294
|
+
for (const folderName of input.path) {
|
|
21295
|
+
folder = await this.mediaFolderRepository.folderFind(folderName, parentFolder?.id);
|
|
21296
|
+
if (!folder) {
|
|
21297
|
+
folder = await this.mediaFolderRepository.folderCreate({
|
|
21298
|
+
name: folderName,
|
|
21299
|
+
parentId: parentFolder?.id,
|
|
21300
|
+
});
|
|
21301
|
+
}
|
|
21302
|
+
parentFolder = folder;
|
|
21303
|
+
}
|
|
21304
|
+
if (!folder) {
|
|
21305
|
+
throw new Error("Cannot create folder");
|
|
21306
|
+
}
|
|
21307
|
+
return folder;
|
|
21308
|
+
}
|
|
21291
21309
|
async folderCreate(input) {
|
|
21292
21310
|
return await this.mediaFolderRepository.folderCreate({
|
|
21293
21311
|
name: input.folderName,
|