@enfyra/sdk-nuxt 0.1.11 → 0.1.13

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 ADDED
@@ -0,0 +1,40 @@
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: () => Promise<void>;
39
+ }
40
+ //# 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,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/B"}
package/dist/auth.js ADDED
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import type { ApiOptions, UseEnfyraApiReturn } from "../types";
2
+ export declare function useEnfyraApi<T = any>(path: (() => string) | string, opts?: ApiOptions<T>): UseEnfyraApiReturn<T>;
@@ -0,0 +1,9 @@
1
+ import type { LoginPayload, User } from "../types/auth";
2
+ import type { Ref, ComputedRef } from 'vue';
3
+ export declare function useEnfyraAuth(): {
4
+ me: Ref<User | null>;
5
+ login: (payload: LoginPayload) => Promise<any>;
6
+ logout: () => Promise<void>;
7
+ fetchUser: () => Promise<void>;
8
+ isLoggedIn: ComputedRef<boolean>;
9
+ };
@@ -0,0 +1,11 @@
1
+ import type { Ref, ComputedRef } from 'vue';
2
+ import type { LoginPayload, User, ApiOptions, UseEnfyraApiReturn } from './index';
3
+ export declare function useEnfyraAuth(): {
4
+ me: Ref<User | null>;
5
+ login: (payload: LoginPayload) => Promise<any>;
6
+ logout: () => Promise<void>;
7
+ fetchUser: () => Promise<void>;
8
+ isLoggedIn: ComputedRef<boolean>;
9
+ };
10
+ export declare function useEnfyraApi<T = any>(path: (() => string) | string, opts?: ApiOptions<T>): UseEnfyraApiReturn<T>;
11
+ //# sourceMappingURL=composables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composables.d.ts","sourceRoot":"","sources":["../src/types/composables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEjF,MAAM,CAAC,OAAO,UAAU,aAAa,IAAI;IACvC,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,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CACjC,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,CAAC,GAAG,GAAG,EAC1C,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,MAAM,EAC7B,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GACnB,kBAAkB,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,44 @@
1
+ export interface EnfyraConfig {
2
+ apiUrl: string;
3
+ apiPrefix?: string;
4
+ defaultHeaders?: Record<string, string>;
5
+ }
6
+ export interface ApiOptions<T> {
7
+ method?: 'get' | 'post' | 'put' | 'patch' | 'delete' | 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
8
+ body?: any;
9
+ query?: Record<string, any>;
10
+ headers?: Record<string, string>;
11
+ errorContext?: string;
12
+ disableBatch?: boolean;
13
+ default?: () => T;
14
+ }
15
+ export interface BackendError {
16
+ success: false;
17
+ message: string;
18
+ }
19
+ export interface BackendErrorExtended extends BackendError {
20
+ error: {
21
+ code: string;
22
+ message: string;
23
+ details?: any;
24
+ timestamp: string;
25
+ path: string;
26
+ method: string;
27
+ correlationId?: string;
28
+ };
29
+ }
30
+ import type { Ref } from 'vue';
31
+ export interface UseEnfyraApiReturn<T> {
32
+ data: Ref<T | null>;
33
+ error: Ref<any>;
34
+ pending: Ref<boolean>;
35
+ execute: (executeOpts?: {
36
+ body?: any;
37
+ id?: string | number;
38
+ ids?: (string | number)[];
39
+ files?: any[];
40
+ }) => Promise<T | T[] | null>;
41
+ }
42
+ export * from './auth';
43
+ export * from './composables';
44
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACnG,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,GAAG,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE/B,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACpB,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACtB,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE;QACtB,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACrB,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;KACf,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;CAC/B;AAGD,cAAc,QAAQ,CAAC;AAGvB,cAAc,eAAe,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ // Re-export auth types
2
+ export * from './auth';
3
+ // Re-export composables types
4
+ export * from './composables';
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@enfyra/sdk-nuxt",
3
3
  "configKey": "enfyraSDK",
4
- "version": "0.1.11",
4
+ "version": "0.1.13",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "0.8.4",
7
7
  "unbuild": "2.0.0"
@@ -9,7 +9,7 @@ export function validateTokens(event) {
9
9
  const accessToken = getCookie(event, ACCESS_TOKEN_KEY);
10
10
  const refreshToken = getCookie(event, REFRESH_TOKEN_KEY);
11
11
  const expTime = getCookie(event, EXP_TIME_KEY);
12
- const isTokenExpired = expTime && Date.now() > parseInt(expTime) * 1e3;
12
+ const isTokenExpired = expTime && Date.now() > parseInt(expTime);
13
13
  if (accessToken && !isTokenExpired) {
14
14
  return { accessToken, needsRefresh: false };
15
15
  } else if (refreshToken && (isTokenExpired || !accessToken)) {
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@enfyra/sdk-nuxt",
3
- "version": "0.1.11",
3
+ "version": "0.1.13",
4
4
  "description": "Nuxt SDK for Enfyra CMS",
5
5
  "main": "./dist/module.mjs",
6
- "types": "./dist/module.d.ts",
6
+ "types": "./dist/index.d.ts",
7
7
  "exports": {
8
8
  ".": {
9
9
  "import": "./dist/module.mjs",
10
10
  "require": "./dist/module.cjs",
11
- "types": "./dist/module.d.ts"
11
+ "types": "./dist/index.d.ts"
12
12
  }
13
13
  },
14
14
  "files": [
@@ -28,8 +28,8 @@
28
28
  },
29
29
  "scripts": {
30
30
  "dev": "nuxi dev playground",
31
- "build": "nuxt-module-build build",
32
- "prepack": "nuxt-module-build build"
31
+ "build": "nuxt-module-build build && npx tsc -p tsconfig.build.json && node scripts/copy-composables-types.js",
32
+ "prepack": "nuxt-module-build build && npx tsc -p tsconfig.build.json && node scripts/copy-composables-types.js"
33
33
  },
34
34
  "peerDependencies": {
35
35
  "@nuxt/kit": "^3.18.1",
@@ -0,0 +1,15 @@
1
+ import type { Ref, ComputedRef } from 'vue'
2
+ import type { LoginPayload, User, ApiOptions, UseEnfyraApiReturn } from './index'
3
+
4
+ export declare function useEnfyraAuth(): {
5
+ me: Ref<User | null>
6
+ login: (payload: LoginPayload) => Promise<any>
7
+ logout: () => Promise<void>
8
+ fetchUser: () => Promise<void>
9
+ isLoggedIn: ComputedRef<boolean>
10
+ }
11
+
12
+ export declare function useEnfyraApi<T = any>(
13
+ path: (() => string) | string,
14
+ opts?: ApiOptions<T>
15
+ ): UseEnfyraApiReturn<T>
@@ -43,4 +43,10 @@ export interface UseEnfyraApiReturn<T> {
43
43
  ids?: (string | number)[];
44
44
  files?: any[];
45
45
  }) => Promise<T | T[] | null>;
46
- }
46
+ }
47
+
48
+ // Re-export auth types
49
+ export * from './auth';
50
+
51
+ // Re-export composables types
52
+ export * from './composables';
@@ -17,7 +17,8 @@ export function validateTokens(event: H3Event): TokenValidationResult {
17
17
  const expTime = getCookie(event, EXP_TIME_KEY);
18
18
 
19
19
  // Check if access token is expired
20
- const isTokenExpired = expTime && Date.now() > parseInt(expTime) * 1000;
20
+ // expTime is expected to be in milliseconds
21
+ const isTokenExpired = expTime && Date.now() > parseInt(expTime);
21
22
 
22
23
  if (accessToken && !isTokenExpired) {
23
24
  // Token is valid, use it