nuxt-directus-sdk 5.0.0-beta.5 → 5.0.0-beta.7
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.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useLogger, defineNuxtModule, createResolver, addServerHandler, addPlugin, addRouteMiddleware, addImportsDir, addComponentsDir, addImportsSources, addTypeTemplate, hasNuxtModule, installModule } from '@nuxt/kit';
|
|
1
|
+
import { useLogger, defineNuxtModule, createResolver, addServerHandler, addPlugin, tryResolveModule, addRouteMiddleware, addImportsDir, addComponentsDir, addImportsSources, addTypeTemplate, hasNuxtModule, installModule } from '@nuxt/kit';
|
|
2
2
|
import { colors } from 'consola/utils';
|
|
3
3
|
import { defu } from 'defu';
|
|
4
4
|
import { joinURL } from 'ufo';
|
|
@@ -6,7 +6,7 @@ import { generateTypes } from '../dist/runtime/types/index.js';
|
|
|
6
6
|
import { useUrl } from '../dist/runtime/utils/index.js';
|
|
7
7
|
|
|
8
8
|
const name = "nuxt-directus-sdk";
|
|
9
|
-
const version = "5.0.0-beta.
|
|
9
|
+
const version = "5.0.0-beta.7";
|
|
10
10
|
|
|
11
11
|
const configKey = "directus";
|
|
12
12
|
const logger = useLogger("nuxt-directus-sdk");
|
|
@@ -155,7 +155,10 @@ const module = defineNuxtModule({
|
|
|
155
155
|
});
|
|
156
156
|
}
|
|
157
157
|
addPlugin(resolver.resolve("./runtime/plugin"));
|
|
158
|
-
|
|
158
|
+
const hasVisualEditing = options.visualEditor && await tryResolveModule("@directus/visual-editing", new URL(import.meta.url));
|
|
159
|
+
if (hasVisualEditing) {
|
|
160
|
+
addPlugin(resolver.resolve("./runtime/plugins/visual-editor.client"));
|
|
161
|
+
}
|
|
159
162
|
addRouteMiddleware({
|
|
160
163
|
name: "auth",
|
|
161
164
|
path: resolver.resolve("./runtime/middleware/auth"),
|
|
@@ -166,12 +169,14 @@ const module = defineNuxtModule({
|
|
|
166
169
|
path: resolver.resolve("./runtime/middleware/guest")
|
|
167
170
|
});
|
|
168
171
|
addImportsDir(resolver.resolve("./runtime/composables"));
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
172
|
+
if (hasVisualEditing) {
|
|
173
|
+
addComponentsDir({
|
|
174
|
+
path: resolver.resolve("./runtime/components"),
|
|
175
|
+
pathPrefix: false,
|
|
176
|
+
prefix: "",
|
|
177
|
+
global: true
|
|
178
|
+
});
|
|
179
|
+
}
|
|
175
180
|
const directusSdkImports = {
|
|
176
181
|
from: "@directus/sdk",
|
|
177
182
|
imports: [
|
|
@@ -10,7 +10,7 @@ export interface DirectusAuth {
|
|
|
10
10
|
login: (email: string, password: string, options?: LoginOptions & {
|
|
11
11
|
redirect?: boolean | RouteLocationRaw;
|
|
12
12
|
}) => Promise<DirectusUser | null>;
|
|
13
|
-
loginWithProvider: (provider: string, redirectOnLogin?: string) => Promise<void>;
|
|
13
|
+
loginWithProvider: (provider: string, redirectOnLogin?: boolean | string) => Promise<void>;
|
|
14
14
|
logout: (redirect?: boolean | RouteLocationRaw) => Promise<void>;
|
|
15
15
|
createUser: (data: RegisterUserInput & Partial<Omit<DirectusUser, 'id' | 'email' | 'password'>>) => Promise<Omit<DirectusUser, 'last_access'>>;
|
|
16
16
|
register: (data: RegisterUserInput & Partial<Omit<DirectusUser, 'id' | 'email' | 'password'>>) => Promise<Omit<DirectusUser, 'last_access'>>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { navigateTo, useRouter, useRuntimeConfig } from "#app";
|
|
2
|
-
import { computed, useState } from "#imports";
|
|
2
|
+
import { computed, useRequestURL, useState } from "#imports";
|
|
3
3
|
import {
|
|
4
4
|
acceptUserInvite as directusAcceptUserInvite,
|
|
5
5
|
createUser as directusCreateUser,
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
readMe as directusReadMe,
|
|
10
10
|
updateMe as directusUpdateMe
|
|
11
11
|
} from "@directus/sdk";
|
|
12
|
+
import { joinURL, withoutTrailingSlash } from "ufo";
|
|
12
13
|
import { useDirectus, useDirectusOriginUrl } from "./directus.js";
|
|
13
14
|
export function useDirectusUser() {
|
|
14
15
|
return useState("directus.user", () => null);
|
|
@@ -57,18 +58,28 @@ export function useDirectusAuth() {
|
|
|
57
58
|
if (redirect !== false) {
|
|
58
59
|
const route = router.currentRoute.value;
|
|
59
60
|
if (typeof redirect !== "boolean") {
|
|
60
|
-
navigateTo(redirect);
|
|
61
|
+
await navigateTo(redirect);
|
|
61
62
|
} else if (route?.query?.redirect) {
|
|
62
|
-
navigateTo({ path: decodeURIComponent(route.query.redirect) });
|
|
63
|
+
await navigateTo({ path: decodeURIComponent(route.query.redirect) });
|
|
63
64
|
} else {
|
|
64
|
-
navigateTo(config.public.directus.auth?.redirect?.home ?? "/");
|
|
65
|
+
await navigateTo(config.public.directus.auth?.redirect?.home ?? "/");
|
|
65
66
|
}
|
|
66
67
|
}
|
|
67
68
|
return user.value;
|
|
68
69
|
}
|
|
69
|
-
async function loginWithProvider(provider, redirectOnLogin) {
|
|
70
|
-
const
|
|
71
|
-
|
|
70
|
+
async function loginWithProvider(provider, redirectOnLogin = true) {
|
|
71
|
+
const { origin, href } = useRequestURL();
|
|
72
|
+
let redirectPath;
|
|
73
|
+
if (typeof redirectOnLogin === "boolean") {
|
|
74
|
+
redirectPath = redirectOnLogin ? config.public.directus.auth.redirect.login : href;
|
|
75
|
+
} else if (redirectOnLogin) {
|
|
76
|
+
redirectPath = redirectOnLogin;
|
|
77
|
+
} else {
|
|
78
|
+
redirectPath = href;
|
|
79
|
+
}
|
|
80
|
+
const redirect = joinURL(origin, redirectPath);
|
|
81
|
+
const sanitizedRedirect = withoutTrailingSlash(redirect);
|
|
82
|
+
await navigateTo(useDirectusOriginUrl(`/auth/login/${provider}?redirect=${encodeURIComponent(sanitizedRedirect)}`), { external: true });
|
|
72
83
|
}
|
|
73
84
|
async function createUser(data) {
|
|
74
85
|
const response = await directus.request(directusCreateUser(data));
|
|
@@ -96,7 +107,7 @@ export function useDirectusAuth() {
|
|
|
96
107
|
user.value = null;
|
|
97
108
|
}
|
|
98
109
|
if (redirect) {
|
|
99
|
-
const defaultRedirect = config.public.directus.auth?.redirect?.logout ?? config.public.directus.auth?.redirect?.
|
|
110
|
+
const defaultRedirect = config.public.directus.auth?.redirect?.logout ?? config.public.directus.auth?.redirect?.login ?? "/";
|
|
100
111
|
const redirectTo = typeof redirect === "boolean" ? defaultRedirect : redirect;
|
|
101
112
|
await navigateTo(redirectTo);
|
|
102
113
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nuxt-directus-sdk",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.0.0-beta.
|
|
4
|
+
"version": "5.0.0-beta.7",
|
|
5
5
|
"description": "A Directus nuxt module that uses the Directus SDK",
|
|
6
6
|
"author": "Matthew Rollinson <matt@rolley.io>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"dev:build": "nuxi build playground",
|
|
29
29
|
"dev:prepare": "nuxt-module-build --stub && nuxi prepare playground",
|
|
30
30
|
"release": "npm run lint && npm run prepack && npm publish && git push --follow-tags",
|
|
31
|
-
"lint": "eslint .",
|
|
31
|
+
"lint": "eslint . --fix",
|
|
32
32
|
"test": "vitest run",
|
|
33
33
|
"test:watch": "vitest watch",
|
|
34
34
|
"docs:dev": "bun run dev:prepare && vitepress dev docs",
|
|
@@ -36,12 +36,15 @@
|
|
|
36
36
|
"docs:preview": "vitepress preview docs"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
|
-
"@directus/sdk": "
|
|
40
|
-
"@directus/types": "
|
|
41
|
-
"@directus/visual-editing": "
|
|
42
|
-
"@nuxt/image": "
|
|
39
|
+
"@directus/sdk": ">=20.0.0",
|
|
40
|
+
"@directus/types": ">=13.0.0",
|
|
41
|
+
"@directus/visual-editing": ">=1.1.0",
|
|
42
|
+
"@nuxt/image": ">=2.0.0"
|
|
43
43
|
},
|
|
44
44
|
"peerDependenciesMeta": {
|
|
45
|
+
"@directus/types": {
|
|
46
|
+
"optional": true
|
|
47
|
+
},
|
|
45
48
|
"@directus/visual-editing": {
|
|
46
49
|
"optional": true
|
|
47
50
|
},
|