includio-cms 0.0.3 → 0.0.5
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/admin/components/media/media-library.svelte +13 -0
- package/dist/admin/remote/media.remote.d.ts +1 -0
- package/dist/admin/remote/media.remote.js +4 -0
- package/dist/core/server/media/operations/deleteMediaFile.d.ts +1 -0
- package/dist/core/server/media/operations/deleteMediaFile.js +4 -0
- package/dist/db-postgres/index.js +3 -0
- package/dist/files-local/index.js +5 -0
- package/dist/types/adapters.d.ts +2 -0
- package/package.json +2 -6
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
import { onMount } from 'svelte';
|
|
8
8
|
import type { MediaFile } from '../../../types/media.js';
|
|
9
9
|
import { getRemotes } from '../../context/remotes.js';
|
|
10
|
+
import Button from '../../../components/ui/button/button.svelte';
|
|
11
|
+
import { toast } from 'svelte-sonner';
|
|
10
12
|
|
|
11
13
|
const remotes = getRemotes();
|
|
12
14
|
|
|
@@ -28,6 +30,15 @@
|
|
|
28
30
|
})
|
|
29
31
|
);
|
|
30
32
|
|
|
33
|
+
async function deleteFileCommand() {
|
|
34
|
+
if (currentFile) {
|
|
35
|
+
await remotes.deleteMediaFile(currentFile.id);
|
|
36
|
+
toast.success('File deleted');
|
|
37
|
+
filesQuery.refresh();
|
|
38
|
+
currentFile = null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
31
42
|
onMount(() => {
|
|
32
43
|
if (Array.isArray(selected)) {
|
|
33
44
|
selected = selected.filter((id) => !id.startsWith('/uploads'));
|
|
@@ -116,6 +127,8 @@
|
|
|
116
127
|
|
|
117
128
|
<p>Created At: {new Date(currentFile.createdAt).toLocaleString()}</p>
|
|
118
129
|
<p>ID: {currentFile.id}</p>
|
|
130
|
+
|
|
131
|
+
<Button variant="destructive" onclick={deleteFileCommand}>Delete</Button>
|
|
119
132
|
</div>
|
|
120
133
|
{/if}
|
|
121
134
|
</div>
|
|
@@ -15,3 +15,4 @@ export declare const getMediaFiles: import("@sveltejs/kit").RemoteQueryFunction<
|
|
|
15
15
|
}, import("../../types/media.js").MediaFile[]>;
|
|
16
16
|
export declare const getFileById: import("@sveltejs/kit").RemoteQueryFunction<string, import("../../types/media.js").MediaFile | null>;
|
|
17
17
|
export declare const getMediaFolders: import("@sveltejs/kit").RemoteQueryFunction<void, import("../../types/media.js").MediaFolder[]>;
|
|
18
|
+
export declare const deleteMediaFile: import("@sveltejs/kit").RemoteCommand<string, Promise<void>>;
|
|
@@ -3,6 +3,7 @@ import { setAlt } from '../../core/server/media/operations/updateFile.js';
|
|
|
3
3
|
import z from 'zod';
|
|
4
4
|
import { createFolderSchema } from '../components/media/schema.js';
|
|
5
5
|
import { createMediaFolder } from '../../core/server/media/operations/createMediaFolder.js';
|
|
6
|
+
import { deleteMediaFile as deleteMediaFileFn } from '../../core/server/media/operations/deleteMediaFile.js';
|
|
6
7
|
import { getFile, getFiles } from '../../core/server/media/operations/getFiles.js';
|
|
7
8
|
import { getFolders } from '../../core/server/media/operations/getFolders.js';
|
|
8
9
|
const setMediaFileAltSchema = z.object({
|
|
@@ -34,3 +35,6 @@ export const getFileById = query(z.string().uuid(), async (id) => {
|
|
|
34
35
|
export const getMediaFolders = query(async () => {
|
|
35
36
|
return getFolders();
|
|
36
37
|
});
|
|
38
|
+
export const deleteMediaFile = command(z.string().uuid(), async (id) => {
|
|
39
|
+
return deleteMediaFileFn(id);
|
|
40
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function deleteMediaFile(id: string): Promise<void>;
|
|
@@ -137,6 +137,9 @@ export function pg(config) {
|
|
|
137
137
|
.returning()
|
|
138
138
|
.then(([file]) => file);
|
|
139
139
|
},
|
|
140
|
+
deleteMediaFile: async (id) => {
|
|
141
|
+
await db.delete(schema.mediaFilesTable).where(eq(schema.mediaFilesTable.id, id));
|
|
142
|
+
},
|
|
140
143
|
getMediaFiles: async (options) => {
|
|
141
144
|
const query = db.select().from(schema.mediaFilesTable);
|
|
142
145
|
if (options.data) {
|
|
@@ -85,6 +85,11 @@ export function local(config) {
|
|
|
85
85
|
const filepath = resolve(fullDir, filename);
|
|
86
86
|
const arrayBuffer = await file.arrayBuffer();
|
|
87
87
|
await writeFile(filepath, Buffer.from(arrayBuffer));
|
|
88
|
+
// Na produkcji trzeba zrobić kopię w buildzie (build/client/uploads), inaczej pliki pojawią się tylko po kolejnym buildzie
|
|
89
|
+
if (process.env.NODE_ENV === 'production') {
|
|
90
|
+
const buildDir = resolve('./build/client/', dir);
|
|
91
|
+
await writeFile(resolve(buildDir, filename), Buffer.from(arrayBuffer));
|
|
92
|
+
}
|
|
88
93
|
let width = null;
|
|
89
94
|
let height = null;
|
|
90
95
|
let thumbnailUrl = null;
|
package/dist/types/adapters.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export interface DatabaseAdapter {
|
|
|
16
16
|
getMediaFiles: GetMediaFiles;
|
|
17
17
|
getMediaFile: GetMediaFile;
|
|
18
18
|
updateMediaFile: UpdateMediaFile;
|
|
19
|
+
deleteMediaFile: DeleteMediaFile;
|
|
19
20
|
getUser: GetUser;
|
|
20
21
|
getUsers: GetUsers;
|
|
21
22
|
createUser: CreateUser;
|
|
@@ -89,6 +90,7 @@ export interface GetUserOptions {
|
|
|
89
90
|
googleId?: string;
|
|
90
91
|
};
|
|
91
92
|
}
|
|
93
|
+
export type DeleteMediaFile = (id: string) => Promise<void>;
|
|
92
94
|
export type GetUser = (options: GetUserOptions) => Promise<User | null>;
|
|
93
95
|
export interface GetUsersOptions {
|
|
94
96
|
data: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "includio-cms",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"dev": "vite dev",
|
|
6
6
|
"build": "vite build && npm run prepack",
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
},
|
|
97
97
|
"peerDependencies": {
|
|
98
98
|
"@sveltejs/kit": "^2.27.0",
|
|
99
|
-
"@sveltejs/vite-plugin-svelte": "^
|
|
99
|
+
"@sveltejs/vite-plugin-svelte": "^6.2.1",
|
|
100
100
|
"svelte": "^5.36.0"
|
|
101
101
|
},
|
|
102
102
|
"devDependencies": {
|
|
@@ -176,14 +176,10 @@
|
|
|
176
176
|
"readline": "^1.3.0",
|
|
177
177
|
"sharp": "^0.34.2",
|
|
178
178
|
"slugify": "^1.6.6",
|
|
179
|
-
"superjson": "^2.2.2",
|
|
180
179
|
"svelte-sonner": "^1.0.5",
|
|
181
180
|
"sveltekit-flash-message": "^2.4.6",
|
|
182
181
|
"sveltekit-superforms": "^2.26.1",
|
|
183
182
|
"tailwindcss": "^4.1.13",
|
|
184
|
-
"trpc-svelte-query-adapter": "^2.3.16",
|
|
185
|
-
"trpc-sveltekit": "^3.6.3",
|
|
186
|
-
"trpc-transformer": "^3.2.2",
|
|
187
183
|
"tw-animate-css": "^1.3.4",
|
|
188
184
|
"uuid": "^11.1.0",
|
|
189
185
|
"zod": "^3.25.57"
|