@enfyra/sdk-nuxt 0.3.18 → 0.3.20
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/auth.d.ts +43 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +1 -0
- package/dist/index.d.ts +141 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -0
- package/dist/module.cjs +97 -0
- package/dist/module.d.cts +10 -0
- package/dist/module.d.mts +10 -0
- package/dist/module.json +12 -0
- package/dist/module.mjs +94 -0
- package/dist/runtime/composables/useEnfyraApi.d.ts +0 -0
- package/dist/runtime/composables/useEnfyraApi.js +345 -0
- package/dist/runtime/composables/useEnfyraAuth.d.ts +0 -0
- package/dist/runtime/composables/useEnfyraAuth.js +81 -0
- package/dist/runtime/constants/auth.d.ts +0 -0
- package/dist/runtime/constants/auth.js +3 -0
- package/dist/runtime/constants/config.d.ts +0 -0
- package/dist/runtime/constants/config.js +1 -0
- package/dist/runtime/server/api/all.js +1 -1
- package/dist/runtime/server/api/login.post.js +2 -2
- package/dist/runtime/server/api/logout.post.js +2 -2
- package/dist/runtime/server/middleware/auth.js +2 -2
- package/dist/runtime/shims.d.ts +72 -0
- package/dist/runtime/utils/http.d.ts +0 -0
- package/dist/runtime/utils/http.js +61 -0
- package/dist/runtime/utils/server/proxy.d.ts +0 -0
- package/dist/runtime/utils/server/proxy.js +14 -0
- package/dist/runtime/utils/server/refreshToken.d.ts +0 -0
- package/dist/runtime/utils/server/refreshToken.js +69 -0
- package/dist/runtime/utils/url.d.ts +0 -0
- package/dist/runtime/utils/url.js +56 -0
- package/dist/types.d.mts +7 -0
- package/dist/types.d.ts +7 -0
- package/index.ts +1 -1
- package/module.d.ts +16 -6
- package/package.json +30 -32
- package/src/module.ts +129 -0
- package/src/{composables → runtime/composables}/useEnfyraApi.ts +17 -17
- package/src/{composables → runtime/composables}/useEnfyraAuth.ts +2 -2
- package/src/runtime/server/api/all.ts +1 -1
- package/src/runtime/server/api/login.post.ts +2 -2
- package/src/runtime/server/api/logout.post.ts +2 -2
- package/src/runtime/server/middleware/auth.ts +2 -2
- package/src/runtime/shims.d.ts +72 -0
- package/src/{utils → runtime/utils}/server/proxy.ts +1 -1
- package/src/{utils → runtime/utils}/server/refreshToken.ts +3 -3
- package/src/{utils → runtime/utils}/url.ts +11 -4
- package/dist/runtime/plugin/config-error.client.mjs +0 -107
- package/dist/runtime/server/api/all.mjs +0 -5
- package/dist/runtime/server/api/login.post.mjs +0 -62
- package/dist/runtime/server/api/logout.post.mjs +0 -35
- package/dist/runtime/server/middleware/auth.mjs +0 -36
- package/module.ts +0 -110
- package/src/types/nuxt-imports.d.ts +0 -61
- package/src/utils/config.ts +0 -22
- /package/src/{constants → runtime/constants}/auth.ts +0 -0
- /package/src/{constants → runtime/constants}/config.ts +0 -0
- /package/src/{utils → runtime/utils}/http.ts +0 -0
package/dist/auth.d.ts
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { Ref } from 'vue';
|
|
2
|
+
export interface User {
|
|
3
|
+
id: string;
|
|
4
|
+
email: string;
|
|
5
|
+
isRootAdmin: boolean;
|
|
6
|
+
isSystem: boolean;
|
|
7
|
+
role?: {
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
routePermissions: RoutePermission[];
|
|
11
|
+
};
|
|
12
|
+
allowedRoutePermissions?: RoutePermission[];
|
|
13
|
+
}
|
|
14
|
+
export interface RoutePermission {
|
|
15
|
+
id: string;
|
|
16
|
+
isEnabled: boolean;
|
|
17
|
+
allowedUsers?: {
|
|
18
|
+
id: string;
|
|
19
|
+
}[];
|
|
20
|
+
methods: {
|
|
21
|
+
id: string;
|
|
22
|
+
method: string;
|
|
23
|
+
}[];
|
|
24
|
+
route: {
|
|
25
|
+
id: string;
|
|
26
|
+
path: string;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export interface LoginPayload {
|
|
30
|
+
email: string;
|
|
31
|
+
password: string;
|
|
32
|
+
remember?: boolean;
|
|
33
|
+
}
|
|
34
|
+
export interface UseEnfyraAuthReturn {
|
|
35
|
+
me: Ref<User | null>;
|
|
36
|
+
login: (payload: LoginPayload) => Promise<any>;
|
|
37
|
+
logout: () => Promise<void>;
|
|
38
|
+
fetchUser: (options?: {
|
|
39
|
+
fields?: string[];
|
|
40
|
+
}) => Promise<void>;
|
|
41
|
+
isLoggedIn: Ref<boolean>;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/types/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAE9B,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,gBAAgB,EAAE,eAAe,EAAE,CAAA;KACpC,CAAA;IACD,uBAAuB,CAAC,EAAE,eAAe,EAAE,CAAA;CAC5C;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC/B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACzC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IACpB,KAAK,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAC9C,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;CACzB"}
|
package/dist/auth.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
export interface EnfyraConfig {
|
|
2
|
+
apiUrl: string;
|
|
3
|
+
defaultHeaders?: Record<string, string>;
|
|
4
|
+
}
|
|
5
|
+
export interface ApiError {
|
|
6
|
+
message: string;
|
|
7
|
+
status?: number;
|
|
8
|
+
data?: any;
|
|
9
|
+
response?: any;
|
|
10
|
+
}
|
|
11
|
+
export interface BatchProgress {
|
|
12
|
+
/** Current progress percentage (0-100) */
|
|
13
|
+
progress: number;
|
|
14
|
+
/** Number of completed operations */
|
|
15
|
+
completed: number;
|
|
16
|
+
/** Total number of operations */
|
|
17
|
+
total: number;
|
|
18
|
+
/** Number of failed operations */
|
|
19
|
+
failed: number;
|
|
20
|
+
/** Number of operations currently in progress */
|
|
21
|
+
inProgress: number;
|
|
22
|
+
/** Estimated time remaining in milliseconds */
|
|
23
|
+
estimatedTimeRemaining?: number;
|
|
24
|
+
/** Average time per operation in milliseconds */
|
|
25
|
+
averageTime?: number;
|
|
26
|
+
/** Current batch being processed */
|
|
27
|
+
currentBatch: number;
|
|
28
|
+
/** Total number of batches */
|
|
29
|
+
totalBatches: number;
|
|
30
|
+
/** Processing speed (operations per second) */
|
|
31
|
+
operationsPerSecond?: number;
|
|
32
|
+
/** Detailed results array for completed operations */
|
|
33
|
+
results: Array<{
|
|
34
|
+
index: number;
|
|
35
|
+
status: 'completed' | 'failed';
|
|
36
|
+
result?: any;
|
|
37
|
+
error?: ApiError;
|
|
38
|
+
duration?: number;
|
|
39
|
+
}>;
|
|
40
|
+
}
|
|
41
|
+
interface BaseApiOptions<T> {
|
|
42
|
+
method?: 'get' | 'post' | 'put' | 'patch' | 'delete' | 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
43
|
+
body?: any;
|
|
44
|
+
query?: Record<string, any>;
|
|
45
|
+
headers?: Record<string, string>;
|
|
46
|
+
errorContext?: string;
|
|
47
|
+
onError?: (error: ApiError, context?: string) => void;
|
|
48
|
+
disableBatch?: boolean;
|
|
49
|
+
default?: () => T;
|
|
50
|
+
/** Enable SSR with useFetch instead of $fetch */
|
|
51
|
+
ssr?: boolean;
|
|
52
|
+
/** Unique key for useFetch caching */
|
|
53
|
+
key?: string;
|
|
54
|
+
/** Whether to fetch on server (default: true) - Only applies when ssr: true */
|
|
55
|
+
server?: boolean;
|
|
56
|
+
/** Don't block navigation (default: false) - Only applies when ssr: true */
|
|
57
|
+
lazy?: boolean;
|
|
58
|
+
/** Execute immediately (default: true) - Only applies when ssr: true */
|
|
59
|
+
immediate?: boolean;
|
|
60
|
+
/** Transform the response data - Only applies when ssr: true */
|
|
61
|
+
transform?: (data: any) => T;
|
|
62
|
+
/** Pick specific fields from response - Only applies when ssr: true */
|
|
63
|
+
pick?: string[];
|
|
64
|
+
/** Watch reactive sources and refetch when they change - Only applies when ssr: true */
|
|
65
|
+
watch?: any[];
|
|
66
|
+
/** Deep watch (default: false) - Only applies when ssr: true */
|
|
67
|
+
deep?: boolean;
|
|
68
|
+
/** Custom cache data retrieval function - Only applies when ssr: true */
|
|
69
|
+
getCachedData?: (key: string) => T | null;
|
|
70
|
+
/** Enable refresh (default: true) - Only applies when ssr: true */
|
|
71
|
+
refresh?: boolean;
|
|
72
|
+
/** Auto refresh interval in milliseconds - Only applies when ssr: true */
|
|
73
|
+
refreshInterval?: number;
|
|
74
|
+
/** Deduplication key - Only applies when ssr: true */
|
|
75
|
+
dedupe?: string;
|
|
76
|
+
}
|
|
77
|
+
interface BatchApiOptions {
|
|
78
|
+
/** Batch size for chunking large operations (default: no limit) - Only available for batch operations */
|
|
79
|
+
batchSize?: number;
|
|
80
|
+
/** Maximum concurrent requests (default: no limit) - Only available for batch operations */
|
|
81
|
+
concurrent?: number;
|
|
82
|
+
/** Real-time progress callback for batch operations - Only available for batch operations */
|
|
83
|
+
onProgress?: (progress: BatchProgress) => void;
|
|
84
|
+
}
|
|
85
|
+
type ConditionalBatchOptions<T> = T extends {
|
|
86
|
+
method?: 'patch' | 'delete' | 'PATCH' | 'DELETE';
|
|
87
|
+
} ? BatchApiOptions : T extends {
|
|
88
|
+
method?: 'post' | 'POST';
|
|
89
|
+
} ? BatchApiOptions : T extends {
|
|
90
|
+
method?: undefined;
|
|
91
|
+
} ? Partial<BatchApiOptions> : {};
|
|
92
|
+
export type ApiOptions<T> = BaseApiOptions<T> & ConditionalBatchOptions<BaseApiOptions<T>>;
|
|
93
|
+
export interface BackendError {
|
|
94
|
+
success: false;
|
|
95
|
+
message: string;
|
|
96
|
+
}
|
|
97
|
+
export interface BackendErrorExtended extends BackendError {
|
|
98
|
+
error: {
|
|
99
|
+
code: string;
|
|
100
|
+
message: string;
|
|
101
|
+
details?: any;
|
|
102
|
+
timestamp: string;
|
|
103
|
+
path: string;
|
|
104
|
+
method: string;
|
|
105
|
+
correlationId?: string;
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
import type { Ref } from 'vue';
|
|
109
|
+
import type { AsyncData } from 'nuxt/app';
|
|
110
|
+
export interface UseEnfyraApiSSRReturn<T> extends Omit<AsyncData<T | null, ApiError>, 'pending' | 'error'> {
|
|
111
|
+
data: Ref<T | null>;
|
|
112
|
+
loading: Ref<boolean>;
|
|
113
|
+
error: Ref<ApiError | null>;
|
|
114
|
+
refresh: () => Promise<void>;
|
|
115
|
+
pending?: Ref<boolean>;
|
|
116
|
+
}
|
|
117
|
+
interface BaseExecuteOptions {
|
|
118
|
+
body?: any;
|
|
119
|
+
id?: string | number;
|
|
120
|
+
query?: Record<string, any>;
|
|
121
|
+
}
|
|
122
|
+
interface BatchExecuteOptions {
|
|
123
|
+
ids?: (string | number)[];
|
|
124
|
+
/** Array of FormData objects for batch upload */
|
|
125
|
+
files?: FormData[];
|
|
126
|
+
/** Override batch size for this specific execution */
|
|
127
|
+
batchSize?: number;
|
|
128
|
+
/** Override concurrent limit for this specific execution */
|
|
129
|
+
concurrent?: number;
|
|
130
|
+
/** Override progress callback for this specific execution */
|
|
131
|
+
onProgress?: (progress: BatchProgress) => void;
|
|
132
|
+
}
|
|
133
|
+
export type ExecuteOptions = BaseExecuteOptions & BatchExecuteOptions;
|
|
134
|
+
export interface UseEnfyraApiClientReturn<T> {
|
|
135
|
+
data: Ref<T | null>;
|
|
136
|
+
error: Ref<ApiError | null>;
|
|
137
|
+
pending: Ref<boolean>;
|
|
138
|
+
execute: (executeOpts?: ExecuteOptions) => Promise<T | T[] | null>;
|
|
139
|
+
}
|
|
140
|
+
export * from './auth';
|
|
141
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './auth';
|
package/dist/module.cjs
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const kit = require('@nuxt/kit');
|
|
4
|
+
const defu = require('defu');
|
|
5
|
+
const config_js = require('../dist/runtime/constants/config.js');
|
|
6
|
+
|
|
7
|
+
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
8
|
+
const module$1 = kit.defineNuxtModule({
|
|
9
|
+
meta: {
|
|
10
|
+
name: "@enfyra/sdk-nuxt",
|
|
11
|
+
configKey: "enfyraSDK",
|
|
12
|
+
compatibility: {
|
|
13
|
+
nuxt: ">=3.0.0"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
defaults: {
|
|
17
|
+
apiUrl: "",
|
|
18
|
+
apiPrefix: config_js.ENFYRA_API_PREFIX
|
|
19
|
+
},
|
|
20
|
+
setup(options, nuxt) {
|
|
21
|
+
const logger = kit.useLogger("enfyra-sdk");
|
|
22
|
+
const { resolve } = kit.createResolver((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('module.cjs', document.baseURI).href)));
|
|
23
|
+
const normalizedOptions = {
|
|
24
|
+
...options,
|
|
25
|
+
apiUrl: typeof options.apiUrl === "string" ? options.apiUrl.replace(/\/+$/, "") : options.apiUrl,
|
|
26
|
+
apiPrefix: typeof options.apiPrefix === "string" ? options.apiPrefix.trim() ? "/" + options.apiPrefix.replace(/^\/+|\/+$/g, "").replace(/\/+/g, "/") : config_js.ENFYRA_API_PREFIX : config_js.ENFYRA_API_PREFIX
|
|
27
|
+
};
|
|
28
|
+
const apiPrefix = normalizedOptions.apiPrefix;
|
|
29
|
+
if (!normalizedOptions.apiUrl) {
|
|
30
|
+
logger.warn(
|
|
31
|
+
`Missing required configuration:
|
|
32
|
+
- apiUrl is required
|
|
33
|
+
Please configure it in your nuxt.config.ts:
|
|
34
|
+
enfyraSDK: {
|
|
35
|
+
apiUrl: 'https://your-api-url'
|
|
36
|
+
}`
|
|
37
|
+
);
|
|
38
|
+
nuxt.options.runtimeConfig.public.enfyraSDK = defu.defu(
|
|
39
|
+
nuxt.options.runtimeConfig.public.enfyraSDK || {},
|
|
40
|
+
{
|
|
41
|
+
...normalizedOptions,
|
|
42
|
+
apiPrefix,
|
|
43
|
+
configError: true,
|
|
44
|
+
configErrorMessage: "Enfyra SDK: apiUrl is required. Please configure it in nuxt.config.ts"
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
} else {
|
|
48
|
+
nuxt.options.runtimeConfig.public.enfyraSDK = defu.defu(
|
|
49
|
+
nuxt.options.runtimeConfig.public.enfyraSDK || {},
|
|
50
|
+
{
|
|
51
|
+
...normalizedOptions,
|
|
52
|
+
apiPrefix
|
|
53
|
+
}
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
if (!normalizedOptions.apiUrl) {
|
|
57
|
+
kit.addPlugin({
|
|
58
|
+
src: resolve("./runtime/plugin/config-error.client"),
|
|
59
|
+
mode: "client"
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
kit.addImports([
|
|
63
|
+
{
|
|
64
|
+
name: "useEnfyraApi",
|
|
65
|
+
from: resolve("./runtime/composables/useEnfyraApi")
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name: "useEnfyraAuth",
|
|
69
|
+
from: resolve("./runtime/composables/useEnfyraAuth")
|
|
70
|
+
}
|
|
71
|
+
]);
|
|
72
|
+
kit.addServerHandler({
|
|
73
|
+
handler: resolve("./runtime/server/middleware/auth"),
|
|
74
|
+
middleware: true
|
|
75
|
+
});
|
|
76
|
+
kit.addServerHandler({
|
|
77
|
+
route: `${apiPrefix}/login`,
|
|
78
|
+
handler: resolve("./runtime/server/api/login.post"),
|
|
79
|
+
method: "post"
|
|
80
|
+
});
|
|
81
|
+
kit.addServerHandler({
|
|
82
|
+
route: `${apiPrefix}/logout`,
|
|
83
|
+
handler: resolve("./runtime/server/api/logout.post"),
|
|
84
|
+
method: "post"
|
|
85
|
+
});
|
|
86
|
+
kit.addServerHandler({
|
|
87
|
+
route: "/assets/**",
|
|
88
|
+
handler: resolve("./runtime/server/api/all")
|
|
89
|
+
});
|
|
90
|
+
kit.addServerHandler({
|
|
91
|
+
route: `${apiPrefix}/**`,
|
|
92
|
+
handler: resolve("./runtime/server/api/all")
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
module.exports = module$1;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as _nuxt_schema from '@nuxt/schema';
|
|
2
|
+
|
|
3
|
+
interface ModuleOptions {
|
|
4
|
+
apiUrl: string;
|
|
5
|
+
apiPrefix?: string;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
|
|
8
|
+
|
|
9
|
+
export { _default as default };
|
|
10
|
+
export type { ModuleOptions };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as _nuxt_schema from '@nuxt/schema';
|
|
2
|
+
|
|
3
|
+
interface ModuleOptions {
|
|
4
|
+
apiUrl: string;
|
|
5
|
+
apiPrefix?: string;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
|
|
8
|
+
|
|
9
|
+
export { _default as default };
|
|
10
|
+
export type { ModuleOptions };
|
package/dist/module.json
ADDED
package/dist/module.mjs
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { defineNuxtModule, useLogger, createResolver, addPlugin, addImports, addServerHandler } from '@nuxt/kit';
|
|
2
|
+
import { defu } from 'defu';
|
|
3
|
+
import { ENFYRA_API_PREFIX } from '../dist/runtime/constants/config.js';
|
|
4
|
+
|
|
5
|
+
const module = defineNuxtModule({
|
|
6
|
+
meta: {
|
|
7
|
+
name: "@enfyra/sdk-nuxt",
|
|
8
|
+
configKey: "enfyraSDK",
|
|
9
|
+
compatibility: {
|
|
10
|
+
nuxt: ">=3.0.0"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
defaults: {
|
|
14
|
+
apiUrl: "",
|
|
15
|
+
apiPrefix: ENFYRA_API_PREFIX
|
|
16
|
+
},
|
|
17
|
+
setup(options, nuxt) {
|
|
18
|
+
const logger = useLogger("enfyra-sdk");
|
|
19
|
+
const { resolve } = createResolver(import.meta.url);
|
|
20
|
+
const normalizedOptions = {
|
|
21
|
+
...options,
|
|
22
|
+
apiUrl: typeof options.apiUrl === "string" ? options.apiUrl.replace(/\/+$/, "") : options.apiUrl,
|
|
23
|
+
apiPrefix: typeof options.apiPrefix === "string" ? options.apiPrefix.trim() ? "/" + options.apiPrefix.replace(/^\/+|\/+$/g, "").replace(/\/+/g, "/") : ENFYRA_API_PREFIX : ENFYRA_API_PREFIX
|
|
24
|
+
};
|
|
25
|
+
const apiPrefix = normalizedOptions.apiPrefix;
|
|
26
|
+
if (!normalizedOptions.apiUrl) {
|
|
27
|
+
logger.warn(
|
|
28
|
+
`Missing required configuration:
|
|
29
|
+
- apiUrl is required
|
|
30
|
+
Please configure it in your nuxt.config.ts:
|
|
31
|
+
enfyraSDK: {
|
|
32
|
+
apiUrl: 'https://your-api-url'
|
|
33
|
+
}`
|
|
34
|
+
);
|
|
35
|
+
nuxt.options.runtimeConfig.public.enfyraSDK = defu(
|
|
36
|
+
nuxt.options.runtimeConfig.public.enfyraSDK || {},
|
|
37
|
+
{
|
|
38
|
+
...normalizedOptions,
|
|
39
|
+
apiPrefix,
|
|
40
|
+
configError: true,
|
|
41
|
+
configErrorMessage: "Enfyra SDK: apiUrl is required. Please configure it in nuxt.config.ts"
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
} else {
|
|
45
|
+
nuxt.options.runtimeConfig.public.enfyraSDK = defu(
|
|
46
|
+
nuxt.options.runtimeConfig.public.enfyraSDK || {},
|
|
47
|
+
{
|
|
48
|
+
...normalizedOptions,
|
|
49
|
+
apiPrefix
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
if (!normalizedOptions.apiUrl) {
|
|
54
|
+
addPlugin({
|
|
55
|
+
src: resolve("./runtime/plugin/config-error.client"),
|
|
56
|
+
mode: "client"
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
addImports([
|
|
60
|
+
{
|
|
61
|
+
name: "useEnfyraApi",
|
|
62
|
+
from: resolve("./runtime/composables/useEnfyraApi")
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: "useEnfyraAuth",
|
|
66
|
+
from: resolve("./runtime/composables/useEnfyraAuth")
|
|
67
|
+
}
|
|
68
|
+
]);
|
|
69
|
+
addServerHandler({
|
|
70
|
+
handler: resolve("./runtime/server/middleware/auth"),
|
|
71
|
+
middleware: true
|
|
72
|
+
});
|
|
73
|
+
addServerHandler({
|
|
74
|
+
route: `${apiPrefix}/login`,
|
|
75
|
+
handler: resolve("./runtime/server/api/login.post"),
|
|
76
|
+
method: "post"
|
|
77
|
+
});
|
|
78
|
+
addServerHandler({
|
|
79
|
+
route: `${apiPrefix}/logout`,
|
|
80
|
+
handler: resolve("./runtime/server/api/logout.post"),
|
|
81
|
+
method: "post"
|
|
82
|
+
});
|
|
83
|
+
addServerHandler({
|
|
84
|
+
route: "/assets/**",
|
|
85
|
+
handler: resolve("./runtime/server/api/all")
|
|
86
|
+
});
|
|
87
|
+
addServerHandler({
|
|
88
|
+
route: `${apiPrefix}/**`,
|
|
89
|
+
handler: resolve("./runtime/server/api/all")
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
export { module as default };
|
|
File without changes
|