@udhuong/admin-core 0.1.7 → 0.2.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/client/components/media/FolderTree.d.ts +13 -0
- package/dist/client/components/media/FolderTree.d.ts.map +1 -0
- package/dist/client/components/media/FolderTree.js +50 -0
- package/dist/client/components/media/FolderTree.js.map +1 -0
- package/dist/client/components/media/MediaBrowser.d.ts +8 -0
- package/dist/client/components/media/MediaBrowser.d.ts.map +1 -0
- package/dist/client/components/media/MediaBrowser.js +210 -0
- package/dist/client/components/media/MediaBrowser.js.map +1 -0
- package/dist/client/components/media/MediaGrid.d.ts +11 -0
- package/dist/client/components/media/MediaGrid.d.ts.map +1 -0
- package/dist/client/components/media/MediaGrid.js +67 -0
- package/dist/client/components/media/MediaGrid.js.map +1 -0
- package/dist/client/components/media/MediaPicker.d.ts +12 -0
- package/dist/client/components/media/MediaPicker.d.ts.map +1 -0
- package/dist/client/components/media/MediaPicker.js +154 -0
- package/dist/client/components/media/MediaPicker.js.map +1 -0
- package/dist/client/components/media/MediaUpload.d.ts +9 -0
- package/dist/client/components/media/MediaUpload.d.ts.map +1 -0
- package/dist/client/components/media/MediaUpload.js +98 -0
- package/dist/client/components/media/MediaUpload.js.map +1 -0
- package/dist/client/components/media/index.d.ts +6 -0
- package/dist/client/components/media/index.d.ts.map +1 -0
- package/dist/client/components/media/index.js +6 -0
- package/dist/client/components/media/index.js.map +1 -0
- package/dist/client/constants/api-routes.d.ts +9 -0
- package/dist/client/constants/api-routes.d.ts.map +1 -1
- package/dist/client/constants/api-routes.js +10 -0
- package/dist/client/constants/api-routes.js.map +1 -1
- package/dist/client/index.d.ts +5 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +6 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/lib/ckeditor-upload-adapter.d.ts +8 -0
- package/dist/client/lib/ckeditor-upload-adapter.d.ts.map +1 -0
- package/dist/client/lib/ckeditor-upload-adapter.js +75 -0
- package/dist/client/lib/ckeditor-upload-adapter.js.map +1 -0
- package/dist/client/pages/MediaPage.d.ts +2 -0
- package/dist/client/pages/MediaPage.d.ts.map +1 -0
- package/dist/client/pages/MediaPage.js +303 -0
- package/dist/client/pages/MediaPage.js.map +1 -0
- package/dist/client/pages/PermissionsPage.d.ts.map +1 -1
- package/dist/client/pages/PermissionsPage.js +59 -25
- package/dist/client/pages/PermissionsPage.js.map +1 -1
- package/dist/client/pages/RolesPage.d.ts.map +1 -1
- package/dist/client/pages/RolesPage.js +128 -35
- package/dist/client/pages/RolesPage.js.map +1 -1
- package/dist/client/pages/index.d.ts +1 -0
- package/dist/client/pages/index.d.ts.map +1 -1
- package/dist/client/pages/index.js +1 -0
- package/dist/client/pages/index.js.map +1 -1
- package/dist/client/types/media.d.ts +57 -0
- package/dist/client/types/media.d.ts.map +1 -0
- package/dist/client/types/media.js +10 -0
- package/dist/client/types/media.js.map +1 -0
- package/dist/server/admin-core-options.interface.d.ts +13 -0
- package/dist/server/admin-core-options.interface.d.ts.map +1 -1
- package/dist/server/admin-core-options.interface.js.map +1 -1
- package/dist/server/admin-core.module.d.ts.map +1 -1
- package/dist/server/admin-core.module.js +9 -1
- package/dist/server/admin-core.module.js.map +1 -1
- package/dist/server/index.d.ts +7 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +19 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/media/application/services/media.service.d.ts +134 -0
- package/dist/server/media/application/services/media.service.d.ts.map +1 -0
- package/dist/server/media/application/services/media.service.js +357 -0
- package/dist/server/media/application/services/media.service.js.map +1 -0
- package/dist/server/media/application/services/minio.service.d.ts +24 -0
- package/dist/server/media/application/services/minio.service.d.ts.map +1 -0
- package/dist/server/media/application/services/minio.service.js +175 -0
- package/dist/server/media/application/services/minio.service.js.map +1 -0
- package/dist/server/media/domain/enums/media-type.enum.d.ts +15 -0
- package/dist/server/media/domain/enums/media-type.enum.d.ts.map +1 -0
- package/dist/server/media/domain/enums/media-type.enum.js +19 -0
- package/dist/server/media/domain/enums/media-type.enum.js.map +1 -0
- package/dist/server/media/infrastructure/persistence/entities/media.entity.d.ts +30 -0
- package/dist/server/media/infrastructure/persistence/entities/media.entity.d.ts.map +1 -0
- package/dist/server/media/infrastructure/persistence/entities/media.entity.js +149 -0
- package/dist/server/media/infrastructure/persistence/entities/media.entity.js.map +1 -0
- package/dist/server/media/media.module.d.ts +3 -0
- package/dist/server/media/media.module.d.ts.map +1 -0
- package/dist/server/media/media.module.js +27 -0
- package/dist/server/media/media.module.js.map +1 -0
- package/dist/server/media/presentation/controllers/media.controller.d.ts +62 -0
- package/dist/server/media/presentation/controllers/media.controller.d.ts.map +1 -0
- package/dist/server/media/presentation/controllers/media.controller.js +185 -0
- package/dist/server/media/presentation/controllers/media.controller.js.map +1 -0
- package/dist/server/media/presentation/dto/media.dto.d.ts +38 -0
- package/dist/server/media/presentation/dto/media.dto.d.ts.map +1 -0
- package/dist/server/media/presentation/dto/media.dto.js +184 -0
- package/dist/server/media/presentation/dto/media.dto.js.map +1 -0
- package/dist/server/shared/permissions.d.ts +24 -0
- package/dist/server/shared/permissions.d.ts.map +1 -1
- package/dist/server/shared/permissions.js +24 -0
- package/dist/server/shared/permissions.js.map +1 -1
- package/package.json +11 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaPicker.js","sourceRoot":"","sources":["../../../../src/client/components/media/MediaPicker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface MediaUploadProps {
|
|
2
|
+
folderId?: number;
|
|
3
|
+
onUploadComplete?: () => void;
|
|
4
|
+
maxFiles?: number;
|
|
5
|
+
folderName?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function MediaUpload({ folderId, onUploadComplete, maxFiles, folderName, }: MediaUploadProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=MediaUpload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaUpload.d.ts","sourceRoot":"","sources":["../../../../src/client/components/media/MediaUpload.tsx"],"names":[],"mappings":"AAQA,UAAU,gBAAgB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,gBAAgB,EAChB,QAAa,EACb,UAAU,GACX,EAAE,gBAAgB,2CAgNlB"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState, useCallback } from 'react';
|
|
4
|
+
import { useDropzone } from 'react-dropzone';
|
|
5
|
+
import { Upload, X, Image, File, Film, Music } from 'lucide-react';
|
|
6
|
+
import { getApiClient } from '../../auth/api-client';
|
|
7
|
+
import { CORE_API_ROUTES } from '../../constants/api-routes';
|
|
8
|
+
export function MediaUpload({ folderId, onUploadComplete, maxFiles = 10, folderName, }) {
|
|
9
|
+
const apiClient = getApiClient();
|
|
10
|
+
const [uploading, setUploading] = useState(false);
|
|
11
|
+
const [uploadProgress, setUploadProgress] = useState(0);
|
|
12
|
+
const [files, setFiles] = useState([]);
|
|
13
|
+
const [error, setError] = useState(null);
|
|
14
|
+
const [success, setSuccess] = useState(null);
|
|
15
|
+
const onDrop = useCallback((acceptedFiles) => {
|
|
16
|
+
setFiles((prev) => [...prev, ...acceptedFiles].slice(0, maxFiles));
|
|
17
|
+
setError(null); // Reset error when new files are added
|
|
18
|
+
setSuccess(null); // Reset success message
|
|
19
|
+
}, [maxFiles]);
|
|
20
|
+
const { getRootProps, getInputProps, isDragActive } = useDropzone({
|
|
21
|
+
onDrop,
|
|
22
|
+
maxFiles,
|
|
23
|
+
accept: {
|
|
24
|
+
'image/*': ['.png', '.jpg', '.jpeg', '.gif', '.webp', '.svg'],
|
|
25
|
+
'video/*': ['.mp4', '.webm', '.mov'],
|
|
26
|
+
'audio/*': ['.mp3', '.wav', '.ogg'],
|
|
27
|
+
'application/pdf': ['.pdf'],
|
|
28
|
+
'application/msword': ['.doc'],
|
|
29
|
+
'application/vnd.openxmlformats-officedocument.wordprocessingml.document': [
|
|
30
|
+
'.docx',
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
const removeFile = (index) => {
|
|
35
|
+
setFiles((prev) => prev.filter((_, i) => i !== index));
|
|
36
|
+
};
|
|
37
|
+
const uploadFiles = async () => {
|
|
38
|
+
if (files.length === 0)
|
|
39
|
+
return;
|
|
40
|
+
setUploading(true);
|
|
41
|
+
setUploadProgress(0);
|
|
42
|
+
setError(null);
|
|
43
|
+
try {
|
|
44
|
+
const formData = new FormData();
|
|
45
|
+
files.forEach((file) => {
|
|
46
|
+
formData.append('files', file);
|
|
47
|
+
});
|
|
48
|
+
// Only append folderId if it exists
|
|
49
|
+
if (folderId !== undefined) {
|
|
50
|
+
formData.append('folderId', folderId.toString());
|
|
51
|
+
}
|
|
52
|
+
const response = await apiClient.post(CORE_API_ROUTES.MEDIA.UPLOAD, formData, {
|
|
53
|
+
timeout: 30000, // 30 second timeout
|
|
54
|
+
onUploadProgress: (progressEvent) => {
|
|
55
|
+
const progress = progressEvent.total
|
|
56
|
+
? Math.round((progressEvent.loaded * 100) / progressEvent.total)
|
|
57
|
+
: 0;
|
|
58
|
+
setUploadProgress(progress);
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
setFiles([]);
|
|
62
|
+
setSuccess(`Successfully uploaded ${files.length} file${files.length > 1 ? 's' : ''}!`);
|
|
63
|
+
// Clear success message after 3 seconds
|
|
64
|
+
setTimeout(() => setSuccess(null), 3000);
|
|
65
|
+
onUploadComplete?.();
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
console.error('Upload error:', error);
|
|
69
|
+
const errorMessage = error.response?.data?.message || error.message || 'Error uploading files';
|
|
70
|
+
setError(errorMessage);
|
|
71
|
+
}
|
|
72
|
+
finally {
|
|
73
|
+
setUploading(false);
|
|
74
|
+
setUploadProgress(0);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
const getFileIcon = (file) => {
|
|
78
|
+
if (file.type.startsWith('image/'))
|
|
79
|
+
return _jsx(Image, { className: "w-8 h-8" });
|
|
80
|
+
if (file.type.startsWith('video/'))
|
|
81
|
+
return _jsx(Film, { className: "w-8 h-8" });
|
|
82
|
+
if (file.type.startsWith('audio/'))
|
|
83
|
+
return _jsx(Music, { className: "w-8 h-8" });
|
|
84
|
+
return _jsx(File, { className: "w-8 h-8" });
|
|
85
|
+
};
|
|
86
|
+
const formatFileSize = (bytes) => {
|
|
87
|
+
if (bytes === 0)
|
|
88
|
+
return '0 Bytes';
|
|
89
|
+
const k = 1024;
|
|
90
|
+
const sizes = ['Bytes', 'KB', 'MB', 'GB'];
|
|
91
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
92
|
+
return Math.round(bytes / Math.pow(k, i) * 100) / 100 + ' ' + sizes[i];
|
|
93
|
+
};
|
|
94
|
+
return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "text-sm text-base-content/60", children: [_jsx("span", { className: "font-medium", children: "Upload to:" }), ' ', folderId ? (_jsxs("span", { className: "text-primary", children: ["\uD83D\uDCC1 ", folderName || 'Selected Folder'] })) : (_jsx("span", { className: "text-base-content/60", children: "\uD83D\uDCC2 Unorganized" }))] }), error && (_jsx("div", { className: "p-3 bg-error/10 border border-error/20 rounded-lg", children: _jsx("p", { className: "text-sm text-error", children: error }) })), success && (_jsx("div", { className: "p-3 bg-success/10 border border-success/20 rounded-lg", children: _jsx("p", { className: "text-sm text-success", children: success }) })), _jsxs("div", { ...getRootProps(), className: `border-2 border-dashed rounded-lg p-8 text-center cursor-pointer transition-colors ${isDragActive
|
|
95
|
+
? 'border-primary bg-primary/5'
|
|
96
|
+
: 'border-base-300 hover:border-base-content/40'}`, children: [_jsx("input", { ...getInputProps() }), _jsx(Upload, { className: "w-12 h-12 mx-auto mb-4 text-base-content/40" }), isDragActive ? (_jsx("p", { className: "text-primary", children: "Drop the files here..." })) : (_jsxs("div", { children: [_jsx("p", { className: "text-base-content/60 mb-2", children: "Drag & drop files here, or click to select files" }), _jsxs("p", { className: "text-sm text-base-content/60", children: ["Maximum ", maxFiles, " files"] })] }))] }), files.length > 0 && (_jsxs("div", { className: "space-y-2", children: [_jsxs("h3", { className: "font-medium text-sm text-base-content", children: ["Selected Files (", files.length, ")"] }), _jsx("div", { className: "space-y-2 max-h-64 overflow-y-auto", children: files.map((file, index) => (_jsxs("div", { className: "flex items-center gap-3 p-3 bg-base-200 rounded-lg", children: [_jsx("div", { className: "text-base-content/60", children: getFileIcon(file) }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("p", { className: "text-sm font-medium text-base-content truncate", children: file.name }), _jsx("p", { className: "text-xs text-base-content/60", children: formatFileSize(file.size) })] }), _jsx("button", { type: "button", onClick: () => removeFile(index), className: "text-error hover:text-error/80", disabled: uploading, children: _jsx(X, { className: "w-5 h-5" }) })] }, index))) }), uploading && (_jsxs("div", { className: "space-y-2", children: [_jsx("div", { className: "w-full bg-base-300 rounded-full h-2", children: _jsx("div", { className: "bg-primary h-2 rounded-full transition-all", style: { width: `${uploadProgress}%` } }) }), _jsxs("p", { className: "text-sm text-center text-base-content/60", children: ["Uploading... ", uploadProgress, "%"] })] })), _jsx("button", { type: "button", onClick: uploadFiles, disabled: uploading, className: "w-full px-4 py-2 bg-primary text-primary-content rounded-lg hover:bg-primary/80 disabled:opacity-50 disabled:cursor-not-allowed transition-colors", children: uploading ? 'Uploading...' : 'Upload Files' })] }))] }));
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=MediaUpload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaUpload.js","sourceRoot":"","sources":["../../../../src/client/components/media/MediaUpload.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { MediaGrid } from './MediaGrid';
|
|
2
|
+
export { FolderTree } from './FolderTree';
|
|
3
|
+
export { MediaUpload } from './MediaUpload';
|
|
4
|
+
export { MediaPicker } from './MediaPicker';
|
|
5
|
+
export { default as MediaBrowser } from './MediaBrowser';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/components/media/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { MediaGrid } from './MediaGrid';
|
|
2
|
+
export { FolderTree } from './FolderTree';
|
|
3
|
+
export { MediaUpload } from './MediaUpload';
|
|
4
|
+
export { MediaPicker } from './MediaPicker';
|
|
5
|
+
export { default as MediaBrowser } from './MediaBrowser';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/components/media/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -56,6 +56,15 @@ export declare const CORE_API_ROUTES: {
|
|
|
56
56
|
readonly PERMISSIONS: {
|
|
57
57
|
readonly BASE: "/admin/permissions";
|
|
58
58
|
};
|
|
59
|
+
readonly MEDIA: {
|
|
60
|
+
readonly BASE: "/media";
|
|
61
|
+
readonly BY_ID: (id: number | string) => string;
|
|
62
|
+
readonly UPLOAD: "/media/upload";
|
|
63
|
+
readonly STATS: "/media/stats";
|
|
64
|
+
readonly FOLDERS: "/media/folders/list";
|
|
65
|
+
readonly FOLDER_BY_ID: (id: number | string) => string;
|
|
66
|
+
readonly CREATE_FOLDER: "/media/folders";
|
|
67
|
+
};
|
|
59
68
|
readonly SETTINGS: {
|
|
60
69
|
readonly BASE: "/settings";
|
|
61
70
|
readonly PUBLIC: "/settings/public";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-routes.d.ts","sourceRoot":"","sources":["../../../src/client/constants/api-routes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAqCZ,MAAM,GAAG,MAAM;;;;;;;;;6BAaf,MAAM,GAAG,MAAM;sCACN,MAAM,GAAG,MAAM;yCACZ,MAAM,GAAG,MAAM;oCACpB,MAAM,GAAG,MAAM;2CACR,MAAM,GAAG,MAAM;qCACrB,MAAM,GAAG,MAAM;mCACjB,MAAM,GAAG,MAAM;+BACnB,MAAM,GAAG,MAAM;gCACd,MAAM,GAAG,MAAM;0CACL,MAAM,GAAG,MAAM,aAAa,MAAM,GAAG,MAAM;2CAE1C,MAAM,GAAG,MAAM;uCACnB,MAAM,GAAG,MAAM;iDACL,MAAM,GAAG,MAAM,aAAa,MAAM,GAAG,MAAM;;;;6BAO/D,MAAM,GAAG,MAAM
|
|
1
|
+
{"version":3,"file":"api-routes.d.ts","sourceRoot":"","sources":["../../../src/client/constants/api-routes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAqCZ,MAAM,GAAG,MAAM;;;;;;;;;6BAaf,MAAM,GAAG,MAAM;sCACN,MAAM,GAAG,MAAM;yCACZ,MAAM,GAAG,MAAM;oCACpB,MAAM,GAAG,MAAM;2CACR,MAAM,GAAG,MAAM;qCACrB,MAAM,GAAG,MAAM;mCACjB,MAAM,GAAG,MAAM;+BACnB,MAAM,GAAG,MAAM;gCACd,MAAM,GAAG,MAAM;0CACL,MAAM,GAAG,MAAM,aAAa,MAAM,GAAG,MAAM;2CAE1C,MAAM,GAAG,MAAM;uCACnB,MAAM,GAAG,MAAM;iDACL,MAAM,GAAG,MAAM,aAAa,MAAM,GAAG,MAAM;;;;6BAO/D,MAAM,GAAG,MAAM;;;;;;;6BAWf,MAAM,GAAG,MAAM;;;;oCAIR,MAAM,GAAG,MAAM;;;;;;+BAQpB,MAAM;mCACF,MAAM;;;;CAIlB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;6BArDlB,MAAM,GAAG,MAAM;;;;6BAoBf,MAAM,GAAG,MAAM;;;;;;;;+BAuBb,MAAM;mCACF,MAAM;;;;CAkBlB,CAAC"}
|
|
@@ -65,6 +65,16 @@ export const CORE_API_ROUTES = {
|
|
|
65
65
|
PERMISSIONS: {
|
|
66
66
|
BASE: '/admin/permissions',
|
|
67
67
|
},
|
|
68
|
+
// ─── MediaController: /media ─────────────────────────────────────────────
|
|
69
|
+
MEDIA: {
|
|
70
|
+
BASE: '/media',
|
|
71
|
+
BY_ID: (id) => `/media/${id}`,
|
|
72
|
+
UPLOAD: '/media/upload',
|
|
73
|
+
STATS: '/media/stats',
|
|
74
|
+
FOLDERS: '/media/folders/list',
|
|
75
|
+
FOLDER_BY_ID: (id) => `/media/folders/${id}`,
|
|
76
|
+
CREATE_FOLDER: '/media/folders',
|
|
77
|
+
},
|
|
68
78
|
// ─── Settings (app-level, không thuộc admin-core-api) ────────────────────
|
|
69
79
|
SETTINGS: {
|
|
70
80
|
BASE: '/settings',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-routes.js","sourceRoot":"","sources":["../../../src/client/constants/api-routes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api-routes.js","sourceRoot":"","sources":["../../../src/client/constants/api-routes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,4EAA4E;IAC5E,IAAI,EAAE;QACJ,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,gBAAgB;QAC1B,OAAO,EAAE,eAAe;QACxB,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE,eAAe;QACxB,cAAc,EAAE,eAAe;QAC/B,eAAe,EAAE,uBAAuB;QACxC,WAAW,EAAE,mBAAmB;QAChC,iBAAiB,EAAE,yBAAyB;KAC7C;IAED,4EAA4E;IAC5E,QAAQ,EAAE;QACR,MAAM,EAAE,kBAAkB;QAC1B,KAAK,EAAE,iBAAiB;KACzB;IAED,4EAA4E;IAC5E,KAAK,EAAE;QACL,MAAM,EAAE,eAAe;QACvB,mBAAmB,EAAE,4BAA4B;KAClD;IAED,4EAA4E;IAC5E,UAAU,EAAE;QACV,MAAM,EAAE,oBAAoB;QAC5B,YAAY,EAAE,0BAA0B;QACxC,OAAO,EAAE,aAAa;KACvB;IAED,8EAA8E;IAC9E,QAAQ,EAAE;QACR,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,CAAC,EAAmB,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE;QACjD,UAAU,EAAE,sBAAsB;KACnC;IAED,4EAA4E;IAC5E,WAAW,EAAE;QACX,KAAK,EAAE,oBAAoB;KAC5B;IAED,4EAA4E;IAC5E,WAAW,EAAE;QACX,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,oBAAoB;QAC3B,KAAK,EAAE,CAAC,EAAmB,EAAE,EAAE,CAAC,gBAAgB,EAAE,EAAE;QACpD,cAAc,EAAE,CAAC,EAAmB,EAAE,EAAE,CAAC,gBAAgB,EAAE,iBAAiB;QAC5E,iBAAiB,EAAE,CAAC,EAAmB,EAAE,EAAE,CAAC,gBAAgB,EAAE,oBAAoB;QAClF,YAAY,EAAE,CAAC,EAAmB,EAAE,EAAE,CAAC,gBAAgB,EAAE,eAAe;QACxE,mBAAmB,EAAE,CAAC,EAAmB,EAAE,EAAE,CAAC,gBAAgB,EAAE,sBAAsB;QACtF,aAAa,EAAE,CAAC,EAAmB,EAAE,EAAE,CAAC,gBAAgB,EAAE,SAAS;QACnE,WAAW,EAAE,CAAC,EAAmB,EAAE,EAAE,CAAC,gBAAgB,EAAE,cAAc;QACtE,OAAO,EAAE,CAAC,EAAmB,EAAE,EAAE,CAAC,gBAAgB,EAAE,UAAU;QAC9D,QAAQ,EAAE,CAAC,EAAmB,EAAE,EAAE,CAAC,gBAAgB,EAAE,WAAW;QAChE,cAAc,EAAE,CAAC,MAAuB,EAAE,SAA0B,EAAE,EAAE,CACtE,gBAAgB,MAAM,aAAa,SAAS,EAAE;QAChD,mBAAmB,EAAE,CAAC,EAAmB,EAAE,EAAE,CAAC,gBAAgB,EAAE,sBAAsB;QACtF,eAAe,EAAE,CAAC,EAAmB,EAAE,EAAE,CAAC,gBAAgB,EAAE,kBAAkB;QAC9E,qBAAqB,EAAE,CAAC,MAAuB,EAAE,SAA0B,EAAE,EAAE,CAC7E,gBAAgB,MAAM,oBAAoB,SAAS,EAAE;KACxD;IAED,4EAA4E;IAC5E,KAAK,EAAE;QACL,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,CAAC,EAAmB,EAAE,EAAE,CAAC,gBAAgB,EAAE,EAAE;KACrD;IAED,4EAA4E;IAC5E,WAAW,EAAE;QACX,IAAI,EAAE,oBAAoB;KAC3B;IAED,4EAA4E;IAC5E,KAAK,EAAE;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,EAAmB,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE;QAC9C,MAAM,EAAE,eAAe;QACvB,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,qBAAqB;QAC9B,YAAY,EAAE,CAAC,EAAmB,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE;QAC7D,aAAa,EAAE,gBAAgB;KAChC;IAED,4EAA4E;IAC5E,QAAQ,EAAE;QACR,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,aAAa,GAAG,EAAE;QAC3C,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,mBAAmB,KAAK,EAAE;QACvD,GAAG,EAAE,eAAe;QACpB,WAAW,EAAE,uBAAuB;KACrC;CACO,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,eAAe,CAAC,IAAI;IAC1B,KAAK,EAAE;QACL,IAAI,EAAE,eAAe,CAAC,WAAW,CAAC,IAAI;QACtC,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,KAAK;KACzC;IACD,KAAK,EAAE,eAAe,CAAC,KAAK;IAC5B,WAAW,EAAE,eAAe,CAAC,WAAW;IACxC,QAAQ,EAAE,eAAe,CAAC,QAAQ;CAC1B,CAAC"}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -13,7 +13,9 @@ export { CoreProviders } from './components/Providers';
|
|
|
13
13
|
export * from './ui';
|
|
14
14
|
export { default as ThemeToggle } from './components/ThemeToggle';
|
|
15
15
|
export { default as PageHeader } from './components/PageHeader';
|
|
16
|
-
export { LoginPage, ChangePasswordPage, ForgotPasswordPage, ResetPasswordPage, VerifyEmailPage, UnauthorizedPage, UsersPage, UserDetailPage, RolesPage, PermissionsPage, ProfilePage, UserPreferencesPage, } from './pages';
|
|
16
|
+
export { LoginPage, ChangePasswordPage, ForgotPasswordPage, ResetPasswordPage, VerifyEmailPage, UnauthorizedPage, UsersPage, UserDetailPage, RolesPage, PermissionsPage, ProfilePage, UserPreferencesPage, MediaPage, } from './pages';
|
|
17
|
+
export { MediaGrid, FolderTree, MediaUpload, MediaPicker, MediaBrowser } from './components/media';
|
|
18
|
+
export { uploadAdapterPlugin, MediaLibraryPlugin } from './lib/ckeditor-upload-adapter';
|
|
17
19
|
export { ThemeProvider, useTheme } from './contexts/ThemeContext';
|
|
18
20
|
export { useToast } from './hooks/useToast';
|
|
19
21
|
export { cn, formatDate, formatDateTime } from './lib/utils';
|
|
@@ -22,4 +24,6 @@ export { PERMISSIONS, ROLES, ROLE_PERMISSIONS, checkPermission, checkAnyPermissi
|
|
|
22
24
|
export type { Permission, RoleKey } from './constants/permissions';
|
|
23
25
|
export type { User, AuthResponse, LoginCredentials } from './types/auth';
|
|
24
26
|
export { RequestStatus, VerificationStatus } from './types/status';
|
|
27
|
+
export { MediaType } from './types/media';
|
|
28
|
+
export type { Media, MediaFolder, MediaQueryParams, MediaListResponse, MediaTypeFilter, UploadResponse, } from './types/media';
|
|
25
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjF,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACjG,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAG/E,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAGjD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAGtD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAGtD,cAAc,MAAM,CAAA;AAGpB,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAG/D,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,SAAS,EACT,eAAe,EACf,WAAW,EACX,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjF,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACjG,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAG/E,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAGjD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAGtD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAGtD,cAAc,MAAM,CAAA;AAGpB,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAG/D,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,SAAS,EACT,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,SAAS,GACV,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAClG,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAGvF,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAGjE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAG3C,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAG5D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AACxI,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAGlE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAGlE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,YAAY,EACV,KAAK,EACL,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,cAAc,GACf,MAAM,eAAe,CAAA"}
|
package/dist/client/index.js
CHANGED
|
@@ -19,7 +19,10 @@ export * from './ui';
|
|
|
19
19
|
export { default as ThemeToggle } from './components/ThemeToggle';
|
|
20
20
|
export { default as PageHeader } from './components/PageHeader';
|
|
21
21
|
// Pages
|
|
22
|
-
export { LoginPage, ChangePasswordPage, ForgotPasswordPage, ResetPasswordPage, VerifyEmailPage, UnauthorizedPage, UsersPage, UserDetailPage, RolesPage, PermissionsPage, ProfilePage, UserPreferencesPage, } from './pages';
|
|
22
|
+
export { LoginPage, ChangePasswordPage, ForgotPasswordPage, ResetPasswordPage, VerifyEmailPage, UnauthorizedPage, UsersPage, UserDetailPage, RolesPage, PermissionsPage, ProfilePage, UserPreferencesPage, MediaPage, } from './pages';
|
|
23
|
+
// Media Components
|
|
24
|
+
export { MediaGrid, FolderTree, MediaUpload, MediaPicker, MediaBrowser } from './components/media';
|
|
25
|
+
export { uploadAdapterPlugin, MediaLibraryPlugin } from './lib/ckeditor-upload-adapter';
|
|
23
26
|
// Contexts
|
|
24
27
|
export { ThemeProvider, useTheme } from './contexts/ThemeContext';
|
|
25
28
|
// Hooks
|
|
@@ -30,4 +33,6 @@ export { cn, formatDate, formatDateTime } from './lib/utils';
|
|
|
30
33
|
export { CORE_API_ROUTES, CORE_ADMIN_API_ROUTES } from './constants/api-routes';
|
|
31
34
|
export { PERMISSIONS, ROLES, ROLE_PERMISSIONS, checkPermission, checkAnyPermission, checkAllPermissions } from './constants/permissions';
|
|
32
35
|
export { RequestStatus, VerificationStatus } from './types/status';
|
|
36
|
+
// Media Types
|
|
37
|
+
export { MediaType } from './types/media';
|
|
33
38
|
//# sourceMappingURL=index.js.map
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAEjF,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE/E,OAAO;AACP,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEjD,UAAU;AACV,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEtD,YAAY;AACZ,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAEtD,gBAAgB;AAChB,cAAc,MAAM,CAAA;AAEpB,aAAa;AACb,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAE/D,QAAQ;AACR,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,SAAS,EACT,eAAe,EACf,WAAW,EACX,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAEjF,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE/E,OAAO;AACP,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEjD,UAAU;AACV,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEtD,YAAY;AACZ,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAEtD,gBAAgB;AAChB,cAAc,MAAM,CAAA;AAEpB,aAAa;AACb,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAE/D,QAAQ;AACR,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,SAAS,EACT,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,SAAS,GACV,MAAM,SAAS,CAAA;AAEhB,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAClG,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAEvF,WAAW;AACX,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAEjE,QAAQ;AACR,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3C,MAAM;AACN,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5D,YAAY;AACZ,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAKxI,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAElE,cAAc;AACd,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ckeditor-upload-adapter.d.ts","sourceRoot":"","sources":["../../../src/client/lib/ckeditor-upload-adapter.ts"],"names":[],"mappings":"AAwDA,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,GAAG,QAI9C;AAGD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAM;IAEpB,MAAM,KAAK,UAAU,WAEpB;gBAEW,MAAM,EAAE,GAAG;IAIvB,IAAI;CAML"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { getApiClient } from '../auth/api-client';
|
|
2
|
+
import { CORE_API_ROUTES } from '../constants/api-routes';
|
|
3
|
+
class UploadAdapter {
|
|
4
|
+
constructor(loader) {
|
|
5
|
+
this.loader = loader;
|
|
6
|
+
}
|
|
7
|
+
async upload() {
|
|
8
|
+
const apiClient = getApiClient();
|
|
9
|
+
const file = await this.loader.file;
|
|
10
|
+
const formData = new FormData();
|
|
11
|
+
formData.append('files', file);
|
|
12
|
+
try {
|
|
13
|
+
// Hiển thị progress
|
|
14
|
+
this.loader.uploadTotal = file.size;
|
|
15
|
+
this.loader.uploaded = 0;
|
|
16
|
+
const response = await apiClient.post(CORE_API_ROUTES.MEDIA.UPLOAD, formData, {
|
|
17
|
+
headers: {
|
|
18
|
+
'Content-Type': 'multipart/form-data',
|
|
19
|
+
},
|
|
20
|
+
onUploadProgress: (progressEvent) => {
|
|
21
|
+
if (progressEvent.total) {
|
|
22
|
+
this.loader.uploaded = progressEvent.loaded;
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
// Response từ backend trả về array của media items
|
|
27
|
+
const uploadedMedia = response.data[0];
|
|
28
|
+
if (!uploadedMedia || !uploadedMedia.url) {
|
|
29
|
+
throw new Error('Upload response is invalid');
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
default: uploadedMedia.url,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
console.error('Upload failed:', error);
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
abort() {
|
|
41
|
+
// Implement abort logic if needed
|
|
42
|
+
if (this.loader.uploadTask) {
|
|
43
|
+
this.loader.uploadTask.abort();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export function uploadAdapterPlugin(editor) {
|
|
48
|
+
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
|
|
49
|
+
return new UploadAdapter(loader);
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
// Custom plugin để thêm button chọn từ media library
|
|
53
|
+
export class MediaLibraryPlugin {
|
|
54
|
+
static get pluginName() {
|
|
55
|
+
return 'MediaLibrary';
|
|
56
|
+
}
|
|
57
|
+
constructor(editor) {
|
|
58
|
+
this.editor = editor;
|
|
59
|
+
}
|
|
60
|
+
init() {
|
|
61
|
+
const editor = this.editor;
|
|
62
|
+
// Đăng ký command
|
|
63
|
+
editor.commands.add('insertMediaFromLibrary', new InsertMediaCommand(editor));
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
class InsertMediaCommand {
|
|
67
|
+
constructor(editor) {
|
|
68
|
+
this.editor = editor;
|
|
69
|
+
}
|
|
70
|
+
execute() {
|
|
71
|
+
// Trigger event để mở media browser
|
|
72
|
+
document.dispatchEvent(new CustomEvent('openMediaBrowser'));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=ckeditor-upload-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ckeditor-upload-adapter.js","sourceRoot":"","sources":["../../../src/client/lib/ckeditor-upload-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,aAAa;IAGjB,YAAY,MAAW;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAE/B,IAAI,CAAC;YACH,oBAAoB;YACpB,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;YAEzB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE;gBAC5E,OAAO,EAAE;oBACP,cAAc,EAAE,qBAAqB;iBACtC;gBACD,gBAAgB,EAAE,CAAC,aAAkB,EAAE,EAAE;oBACvC,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;wBACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC;oBAC9C,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,mDAAmD;YACnD,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEvC,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,aAAa,CAAC,GAAG;aAC3B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YACvC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK;QACH,kCAAkC;QAClC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAW;IAC7C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,mBAAmB,GAAG,CAAC,MAAW,EAAE,EAAE;QACzE,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AAED,qDAAqD;AACrD,MAAM,OAAO,kBAAkB;IAG7B,MAAM,KAAK,UAAU;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,YAAY,MAAW;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,kBAAkB;QAClB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF,CAAC;CACF;AAED,MAAM,kBAAkB;IAGtB,YAAY,MAAW;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,OAAO;QACL,oCAAoC;QACpC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaPage.d.ts","sourceRoot":"","sources":["../../../src/client/pages/MediaPage.tsx"],"names":[],"mappings":"AA8BA,MAAM,CAAC,OAAO,UAAU,SAAS,4CA+yBhC"}
|