nuxt-directus-sdk 0.0.8 → 0.0.9
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/module.d.mts +1 -1
- package/dist/module.d.ts +1 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +64 -71
- package/dist/runtime/composables/auth.d.ts +1 -1
- package/dist/runtime/composables/directus.d.ts +1 -1
- package/dist/runtime/composables/files.d.ts +3 -3
- package/dist/runtime/composables/files.mjs +9 -6
- package/dist/runtime/server/services/directus.d.ts +1 -1
- package/dist/runtime/types/generate.mjs +2 -13
- package/package.json +1 -1
package/dist/module.d.mts
CHANGED
package/dist/module.d.ts
CHANGED
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { defu } from 'defu';
|
|
2
|
-
import { useLogger, defineNuxtModule, tryResolveModule, createResolver, addPlugin, addImportsDir, addComponentsDir,
|
|
2
|
+
import { useLogger, defineNuxtModule, tryResolveModule, createResolver, addPlugin, addImportsDir, addComponentsDir, addImportsSources, addTypeTemplate } from '@nuxt/kit';
|
|
3
3
|
import { joinURL } from 'ufo';
|
|
4
4
|
import { createDirectus, authentication, rest, readCollections, readFields, readRelations } from '@directus/sdk';
|
|
5
5
|
import { pascalCase } from 'change-case';
|
|
6
6
|
|
|
7
7
|
const name = "nuxt-directus-sdk";
|
|
8
|
-
const version = "0.0.
|
|
8
|
+
const version = "0.0.9";
|
|
9
9
|
|
|
10
10
|
function warn(message) {
|
|
11
11
|
useLogger("nuxt-directus-sdk").warn(message);
|
|
@@ -41,18 +41,8 @@ async function generateTypes(options) {
|
|
|
41
41
|
return item.startsWith("directus_users") || !item.startsWith("directus_");
|
|
42
42
|
}));
|
|
43
43
|
return `
|
|
44
|
-
// This file is auto-generated by
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
export interface AllDirectusCollections {
|
|
48
|
-
${allTypes}
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
export interface DirectusSchema {
|
|
52
|
-
${schemaTypes}
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
declare global {
|
|
44
|
+
// This file is auto-generated by nuxt-directus-sdk
|
|
45
|
+
declare module '#app' {
|
|
56
46
|
${types.replaceAll("export type", "type")}
|
|
57
47
|
|
|
58
48
|
interface AllDirectusCollections {
|
|
@@ -63,7 +53,6 @@ async function generateTypes(options) {
|
|
|
63
53
|
${schemaTypes}
|
|
64
54
|
};
|
|
65
55
|
}
|
|
66
|
-
|
|
67
56
|
export {};
|
|
68
57
|
`;
|
|
69
58
|
}
|
|
@@ -194,23 +183,80 @@ const module = defineNuxtModule({
|
|
|
194
183
|
});
|
|
195
184
|
nuxt.options.css.push("vue-toastification/dist/index.css");
|
|
196
185
|
nuxt.options.build.transpile.push("vue-toastification");
|
|
186
|
+
const directusSdkImports = {
|
|
187
|
+
from: "@directus/sdk",
|
|
188
|
+
imports: [
|
|
189
|
+
"aggregate",
|
|
190
|
+
"generateUid",
|
|
191
|
+
"createComment",
|
|
192
|
+
"updateComment",
|
|
193
|
+
"deleteComment",
|
|
194
|
+
"createField",
|
|
195
|
+
"createItem",
|
|
196
|
+
"createItems",
|
|
197
|
+
"deleteField",
|
|
198
|
+
"deleteFile",
|
|
199
|
+
"deleteFiles",
|
|
200
|
+
"readActivities",
|
|
201
|
+
"readActivity",
|
|
202
|
+
"deleteItem",
|
|
203
|
+
"deleteItems",
|
|
204
|
+
"deleteUser",
|
|
205
|
+
"deleteUsers",
|
|
206
|
+
"importFile",
|
|
207
|
+
"readCollection",
|
|
208
|
+
"readCollections",
|
|
209
|
+
"createCollection",
|
|
210
|
+
"updateCollection",
|
|
211
|
+
"deleteCollection",
|
|
212
|
+
"readField",
|
|
213
|
+
"readFieldsByCollection",
|
|
214
|
+
"readFields",
|
|
215
|
+
"readFile",
|
|
216
|
+
"readFiles",
|
|
217
|
+
"readItem",
|
|
218
|
+
"readItems",
|
|
219
|
+
"readSingleton",
|
|
220
|
+
"readMe",
|
|
221
|
+
"createUser",
|
|
222
|
+
"createUsers",
|
|
223
|
+
"readUser",
|
|
224
|
+
"readUsers",
|
|
225
|
+
"updateField",
|
|
226
|
+
"updateFile",
|
|
227
|
+
"updateFiles",
|
|
228
|
+
"updateFolder",
|
|
229
|
+
"updateFolders",
|
|
230
|
+
"updateItem",
|
|
231
|
+
"updateItems",
|
|
232
|
+
"updateSingleton",
|
|
233
|
+
"updateMe",
|
|
234
|
+
"updateUser",
|
|
235
|
+
"updateUsers",
|
|
236
|
+
"withToken"
|
|
237
|
+
]
|
|
238
|
+
};
|
|
239
|
+
addImportsSources(directusSdkImports);
|
|
197
240
|
nuxt.hook("nitro:config", (nitroConfig) => {
|
|
198
241
|
nitroConfig.alias = nitroConfig.alias || {};
|
|
199
242
|
nitroConfig.externals = defu(typeof nitroConfig.externals === "object" ? nitroConfig.externals : {}, {
|
|
200
243
|
inline: [resolver.resolve("./runtime")]
|
|
201
244
|
});
|
|
202
|
-
nitroConfig.
|
|
245
|
+
nitroConfig.imports = nitroConfig.imports || {};
|
|
246
|
+
nitroConfig.imports.presets = nitroConfig.imports.presets || [];
|
|
247
|
+
nitroConfig.imports.presets.push(directusSdkImports);
|
|
203
248
|
});
|
|
204
249
|
try {
|
|
205
250
|
const typesPath = addTypeTemplate({
|
|
206
251
|
filename: `types/${configKey}-server.d.ts`,
|
|
207
252
|
getContents: () => [
|
|
208
|
-
|
|
253
|
+
"declare global {",
|
|
209
254
|
` const useDirectus: typeof import('${resolver.resolve("./runtime/server/services")}').useDirectus`,
|
|
210
255
|
` const useAdminDirectus: typeof import('${resolver.resolve("./runtime/server/services")}').useAdminDirectus`,
|
|
211
256
|
` const useDirectusUrl: typeof import('${resolver.resolve("./runtime/server/services")}').useDirectusUrl`,
|
|
212
257
|
` const useDirectusAccessToken: typeof import('${resolver.resolve("./runtime/server/services")}').useDirectusAccessToken`,
|
|
213
|
-
"}"
|
|
258
|
+
"}",
|
|
259
|
+
`export { useDirectus, useAdminDirectus, useDirectusUrl, useDirectusAccessToken } from '${resolver.resolve("./runtime/server/services")}';`
|
|
214
260
|
].join("\n")
|
|
215
261
|
}).dst;
|
|
216
262
|
nuxt.hook("prepare:types", (options2) => {
|
|
@@ -258,59 +304,6 @@ const module = defineNuxtModule({
|
|
|
258
304
|
logger.info("Add DIRECTUS_ADMIN_TOKEN to the .env file to generate directus types");
|
|
259
305
|
}
|
|
260
306
|
}
|
|
261
|
-
addImportsSources({
|
|
262
|
-
from: "@directus/sdk",
|
|
263
|
-
imports: [
|
|
264
|
-
"aggregate",
|
|
265
|
-
"generateUid",
|
|
266
|
-
"createComment",
|
|
267
|
-
"updateComment",
|
|
268
|
-
"deleteComment",
|
|
269
|
-
"createField",
|
|
270
|
-
"createItem",
|
|
271
|
-
"createItems",
|
|
272
|
-
"deleteField",
|
|
273
|
-
"deleteFile",
|
|
274
|
-
"deleteFiles",
|
|
275
|
-
"readActivities",
|
|
276
|
-
"readActivity",
|
|
277
|
-
"deleteItem",
|
|
278
|
-
"deleteItems",
|
|
279
|
-
"deleteUser",
|
|
280
|
-
"deleteUsers",
|
|
281
|
-
"importFile",
|
|
282
|
-
"readCollection",
|
|
283
|
-
"readCollections",
|
|
284
|
-
"createCollection",
|
|
285
|
-
"updateCollection",
|
|
286
|
-
"deleteCollection",
|
|
287
|
-
"readField",
|
|
288
|
-
"readFieldsByCollection",
|
|
289
|
-
"readFields",
|
|
290
|
-
"readFile",
|
|
291
|
-
"readFiles",
|
|
292
|
-
"readItem",
|
|
293
|
-
"readItems",
|
|
294
|
-
"readSingleton",
|
|
295
|
-
"readMe",
|
|
296
|
-
"createUser",
|
|
297
|
-
"createUsers",
|
|
298
|
-
"readUser",
|
|
299
|
-
"readUsers",
|
|
300
|
-
"updateField",
|
|
301
|
-
"updateFile",
|
|
302
|
-
"updateFiles",
|
|
303
|
-
"updateFolder",
|
|
304
|
-
"updateFolders",
|
|
305
|
-
"updateItem",
|
|
306
|
-
"updateItems",
|
|
307
|
-
"updateSingleton",
|
|
308
|
-
"updateMe",
|
|
309
|
-
"updateUser",
|
|
310
|
-
"updateUsers",
|
|
311
|
-
"withToken"
|
|
312
|
-
]
|
|
313
|
-
});
|
|
314
307
|
}
|
|
315
308
|
});
|
|
316
309
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { DirectusUsers } from 'nuxt/app';
|
|
1
2
|
import type { ComputedRef, Ref } from '#imports';
|
|
2
|
-
import type { DirectusUsers } from '#build/types/directus';
|
|
3
3
|
export declare function useDirectusUser(): Ref<DirectusUsers | null>;
|
|
4
4
|
export interface DirectusAuth {
|
|
5
5
|
user: Ref<DirectusUsers | null>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { AuthenticationClient, DirectusClient, RestClient, WebSocketClient } from '@directus/sdk';
|
|
2
|
-
import type { DirectusSchema } from '
|
|
2
|
+
import type { DirectusSchema } from 'nuxt/app';
|
|
3
3
|
export declare function useDirectusUrl(): string;
|
|
4
4
|
export declare function useDirectus(token?: string): DirectusClient<DirectusSchema> & AuthenticationClient<DirectusSchema> & RestClient<DirectusSchema> & WebSocketClient<DirectusSchema>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Query } from '@directus/sdk';
|
|
2
|
-
import type { AllDirectusCollections, DirectusFiles } from '
|
|
2
|
+
import type { AllDirectusCollections, DirectusFiles } from 'nuxt/app';
|
|
3
3
|
export type DirectusThumbnailFormat = 'jpg' | 'png' | 'webp' | 'tiff';
|
|
4
4
|
export type DirectusThumbnailFit = 'cover' | 'contain' | 'inside' | 'outside';
|
|
5
5
|
export interface DirectusThumbnailOptions {
|
|
@@ -15,8 +15,8 @@ interface FileUpload {
|
|
|
15
15
|
file: File;
|
|
16
16
|
data?: Record<keyof DirectusFiles, string>;
|
|
17
17
|
}
|
|
18
|
-
export declare function uploadDirectusFile(file: FileUpload, query?: Query<AllDirectusCollections, AllDirectusCollections['directus_files']>): Promise<
|
|
19
|
-
export declare function uploadDirectusFiles(files: FileUpload[], query?: Query<AllDirectusCollections, AllDirectusCollections['directus_files']>): Promise<
|
|
18
|
+
export declare function uploadDirectusFile(file: FileUpload, query?: Query<AllDirectusCollections, AllDirectusCollections['directus_files']>): Promise<any>;
|
|
19
|
+
export declare function uploadDirectusFiles(files: FileUpload[], query?: Query<AllDirectusCollections, AllDirectusCollections['directus_files']>): Promise<any>;
|
|
20
20
|
export declare function getDirectusAssetUrl(fileId: string, options?: {
|
|
21
21
|
token?: string | boolean;
|
|
22
22
|
}): string;
|
|
@@ -3,15 +3,15 @@ import { useDirectus, useDirectusUrl } from "./directus.mjs";
|
|
|
3
3
|
import { useDirectusTokens } from "./tokens.mjs";
|
|
4
4
|
export async function uploadDirectusFile(file, query) {
|
|
5
5
|
const result = await uploadDirectusFiles([file], query);
|
|
6
|
-
return result[0]
|
|
6
|
+
return Array.isArray(result) ? result[0] : result;
|
|
7
7
|
}
|
|
8
8
|
export async function uploadDirectusFiles(files, query) {
|
|
9
9
|
const directus = useDirectus();
|
|
10
10
|
const formData = new FormData();
|
|
11
|
-
files.forEach(({ file, data }
|
|
11
|
+
files.forEach(({ file, data }) => {
|
|
12
12
|
if (data) {
|
|
13
13
|
Object.entries(data).forEach(([key, value]) => {
|
|
14
|
-
formData.set(
|
|
14
|
+
formData.set(key, value);
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
17
|
formData.set("file", file);
|
|
@@ -21,10 +21,13 @@ export async function uploadDirectusFiles(files, query) {
|
|
|
21
21
|
export function getDirectusAssetUrl(fileId, options) {
|
|
22
22
|
const url = new URL(`${useDirectusUrl()}assets/${fileId}`);
|
|
23
23
|
if (options?.token) {
|
|
24
|
-
if (typeof options.token === "string")
|
|
24
|
+
if (typeof options.token === "string") {
|
|
25
25
|
url.searchParams.append("access_token", options.token);
|
|
26
|
-
else
|
|
27
|
-
|
|
26
|
+
} else if (typeof options.token === "boolean") {
|
|
27
|
+
const token = useDirectusTokens().accessToken.value;
|
|
28
|
+
if (token)
|
|
29
|
+
url.searchParams.append("access_token", token);
|
|
30
|
+
}
|
|
28
31
|
}
|
|
29
32
|
return url.href;
|
|
30
33
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AuthenticationClient, DirectusClient, RestClient } from '@directus/sdk';
|
|
2
2
|
import type { H3Event } from 'h3';
|
|
3
|
-
import type { DirectusSchema } from '
|
|
3
|
+
import type { DirectusSchema } from 'nuxt/app';
|
|
4
4
|
export declare function useDirectusAccessToken(event: H3Event): string | undefined;
|
|
5
5
|
export declare function useDirectusUrl(): string;
|
|
6
6
|
export declare function useDirectus(token?: string): DirectusClient<DirectusSchema> & AuthenticationClient<DirectusSchema> & RestClient<DirectusSchema>;
|
|
@@ -35,18 +35,8 @@ export async function generateTypes(options) {
|
|
|
35
35
|
return item.startsWith("directus_users") || !item.startsWith("directus_");
|
|
36
36
|
}));
|
|
37
37
|
return `
|
|
38
|
-
// This file is auto-generated by
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
export interface AllDirectusCollections {
|
|
42
|
-
${allTypes}
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
export interface DirectusSchema {
|
|
46
|
-
${schemaTypes}
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
declare global {
|
|
38
|
+
// This file is auto-generated by nuxt-directus-sdk
|
|
39
|
+
declare module '#app' {
|
|
50
40
|
${types.replaceAll("export type", "type")}
|
|
51
41
|
|
|
52
42
|
interface AllDirectusCollections {
|
|
@@ -57,7 +47,6 @@ export async function generateTypes(options) {
|
|
|
57
47
|
${schemaTypes}
|
|
58
48
|
};
|
|
59
49
|
}
|
|
60
|
-
|
|
61
50
|
export {};
|
|
62
51
|
`;
|
|
63
52
|
}
|