@eaera-com/cms-sdk 0.1.76 → 0.1.78

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.
Files changed (43) hide show
  1. package/dist/chunks/{_shared-DZlTUzoa.js → _shared-Dyz_Ya9z.js} +0 -1
  2. package/dist/chunks/{authz.constant-BAarvacV.js → authz.constant-BqX8Nzw6.js} +1 -1
  3. package/dist/common/constants/authz.constant.d.ts +11 -6
  4. package/dist/common/constants/authz.constant.d.ts.map +1 -1
  5. package/dist/common/constants/people.constant.d.ts +16 -0
  6. package/dist/common/constants/people.constant.d.ts.map +1 -1
  7. package/dist/common/utils/permission.d.ts +9 -0
  8. package/dist/common/utils/permission.d.ts.map +1 -0
  9. package/dist/core/createCmsSDK.d.ts.map +1 -1
  10. package/dist/core/sdk.type.d.ts +0 -6
  11. package/dist/core/sdk.type.d.ts.map +1 -1
  12. package/dist/index.d.ts +3 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +147 -62
  15. package/dist/nuxt.d.ts +0 -6
  16. package/dist/nuxt.d.ts.map +1 -1
  17. package/dist/runtime/plugin.js +2 -8
  18. package/dist/server/auth/cbs-callback.post.js +1 -1
  19. package/dist/server/auth/cbs-start.post.js +1 -1
  20. package/dist/server/auth/idp-callback.get.js +1 -1
  21. package/dist/server/auth/idp-link-callback.get.js +1 -1
  22. package/dist/server/auth/idp-link-start.get.js +1 -1
  23. package/dist/server/auth/idp-link.post.js +1 -1
  24. package/dist/server/auth/idp-login.get.js +1 -1
  25. package/dist/server/auth/idp-me.get.js +1 -1
  26. package/dist/server/auth/idp-unlink.delete.js +1 -1
  27. package/dist/server/auth/login.post.js +1 -1
  28. package/dist/server/auth/logout.post.js +1 -1
  29. package/dist/server/auth/refresh.post.js +1 -1
  30. package/dist/server/authz/portal-access.get.js +5 -13
  31. package/dist/services/authz/authz.type.d.ts +5 -6
  32. package/dist/services/authz/authz.type.d.ts.map +1 -1
  33. package/dist/services/authz/index.d.ts +9 -10
  34. package/dist/services/authz/index.d.ts.map +1 -1
  35. package/dist/services/people/history/history.type.d.ts +157 -0
  36. package/dist/services/people/history/history.type.d.ts.map +1 -0
  37. package/dist/services/people/history/index.d.ts +34 -0
  38. package/dist/services/people/history/index.d.ts.map +1 -0
  39. package/dist/services/people/index.d.ts +2 -0
  40. package/dist/services/people/index.d.ts.map +1 -1
  41. package/dist/stores/authz.d.ts +18 -32
  42. package/dist/stores/authz.d.ts.map +1 -1
  43. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
1
  import { ICmsSDK } from '../core/sdk.type';
2
2
  import { IPortalAccess } from '../services/authz';
3
3
  /**
4
- * Authz store — portal-access domain state (permissions, roles, deny
5
- * status) with the canonical fetch-once cache.
4
+ * Authz store — authorization domain state (permissions, roles) with the
5
+ * canonical fetch-once cache.
6
6
  *
7
7
  * The call contract for every portal:
8
8
  * - fetch on login success,
@@ -15,102 +15,88 @@ import { IPortalAccess } from '../services/authz';
15
15
  * the auth store — silent sliding token rotation does NOT invalidate) and
16
16
  * reset on logout, so a fresh login always re-resolves access.
17
17
  *
18
- * Consumers branch on `errorCode` for the documented failures:
19
- * `UNAUTHENTICATED`, `INVALID_TOKEN_AUDIENCE` (session unusable for this
20
- * portal) and `PORTAL_ACCESS_DENIED` (authenticated, no grant).
18
+ * The endpoint (`GET /api/v1/authz/me/portals`) returns the caller's
19
+ * effective grants only there is no access flag on the wire. Consumers
20
+ * gate their portal's access key themselves (e.g. `can('people:portal:access')`
21
+ * in the route middleware). Consumers branch on `errorCode` for the
22
+ * documented failures: `UNAUTHENTICATED` / `INVALID_TOKEN_AUDIENCE`
23
+ * (session unusable for this portal) and a legacy 403
24
+ * `PORTAL_ACCESS_DENIED` (still honoured for older backends).
21
25
  */
22
26
  export declare const useAuthzStore: import('pinia').StoreDefinition<"cms-authz", Pick<{
23
- portal: import('vue').Ref<string, string>;
24
27
  portalAccess: import('vue').Ref<{
25
- portal: string;
26
- hasAccess: boolean;
28
+ userId: number | null;
27
29
  permissions: string[];
28
30
  roles: string[];
29
31
  } | null, IPortalAccess | {
30
- portal: string;
31
- hasAccess: boolean;
32
+ userId: number | null;
32
33
  permissions: string[];
33
34
  roles: string[];
34
35
  } | null>;
35
36
  loaded: import('vue').Ref<boolean, boolean>;
36
37
  isLoading: import('vue').Ref<boolean, boolean>;
37
38
  errorCode: import('vue').Ref<string, string>;
38
- hasAccess: import('vue').ComputedRef<boolean>;
39
39
  permissions: import('vue').ComputedRef<string[]>;
40
40
  roles: import('vue').ComputedRef<string[]>;
41
41
  isSessionInvalid: import('vue').ComputedRef<boolean>;
42
42
  isAccessDenied: import('vue').ComputedRef<boolean>;
43
43
  setSdk: (instance: ICmsSDK) => void;
44
- setPortal: (id: string) => void;
45
44
  loadPortalAccess: (opts?: {
46
45
  force?: boolean;
47
- portal?: string;
48
46
  }) => Promise<void>;
49
47
  can: (permission: string) => boolean;
50
48
  hasRole: (role: string) => boolean;
51
49
  hasAnyPermission: (list: string[]) => boolean;
52
50
  hasAllPermissions: (list: string[]) => boolean;
53
- }, "portal" | "portalAccess" | "loaded" | "errorCode" | "isLoading">, Pick<{
54
- portal: import('vue').Ref<string, string>;
51
+ }, "portalAccess" | "loaded" | "errorCode" | "isLoading">, Pick<{
55
52
  portalAccess: import('vue').Ref<{
56
- portal: string;
57
- hasAccess: boolean;
53
+ userId: number | null;
58
54
  permissions: string[];
59
55
  roles: string[];
60
56
  } | null, IPortalAccess | {
61
- portal: string;
62
- hasAccess: boolean;
57
+ userId: number | null;
63
58
  permissions: string[];
64
59
  roles: string[];
65
60
  } | null>;
66
61
  loaded: import('vue').Ref<boolean, boolean>;
67
62
  isLoading: import('vue').Ref<boolean, boolean>;
68
63
  errorCode: import('vue').Ref<string, string>;
69
- hasAccess: import('vue').ComputedRef<boolean>;
70
64
  permissions: import('vue').ComputedRef<string[]>;
71
65
  roles: import('vue').ComputedRef<string[]>;
72
66
  isSessionInvalid: import('vue').ComputedRef<boolean>;
73
67
  isAccessDenied: import('vue').ComputedRef<boolean>;
74
68
  setSdk: (instance: ICmsSDK) => void;
75
- setPortal: (id: string) => void;
76
69
  loadPortalAccess: (opts?: {
77
70
  force?: boolean;
78
- portal?: string;
79
71
  }) => Promise<void>;
80
72
  can: (permission: string) => boolean;
81
73
  hasRole: (role: string) => boolean;
82
74
  hasAnyPermission: (list: string[]) => boolean;
83
75
  hasAllPermissions: (list: string[]) => boolean;
84
- }, "hasAccess" | "permissions" | "roles" | "isSessionInvalid" | "isAccessDenied">, Pick<{
85
- portal: import('vue').Ref<string, string>;
76
+ }, "permissions" | "roles" | "isSessionInvalid" | "isAccessDenied">, Pick<{
86
77
  portalAccess: import('vue').Ref<{
87
- portal: string;
88
- hasAccess: boolean;
78
+ userId: number | null;
89
79
  permissions: string[];
90
80
  roles: string[];
91
81
  } | null, IPortalAccess | {
92
- portal: string;
93
- hasAccess: boolean;
82
+ userId: number | null;
94
83
  permissions: string[];
95
84
  roles: string[];
96
85
  } | null>;
97
86
  loaded: import('vue').Ref<boolean, boolean>;
98
87
  isLoading: import('vue').Ref<boolean, boolean>;
99
88
  errorCode: import('vue').Ref<string, string>;
100
- hasAccess: import('vue').ComputedRef<boolean>;
101
89
  permissions: import('vue').ComputedRef<string[]>;
102
90
  roles: import('vue').ComputedRef<string[]>;
103
91
  isSessionInvalid: import('vue').ComputedRef<boolean>;
104
92
  isAccessDenied: import('vue').ComputedRef<boolean>;
105
93
  setSdk: (instance: ICmsSDK) => void;
106
- setPortal: (id: string) => void;
107
94
  loadPortalAccess: (opts?: {
108
95
  force?: boolean;
109
- portal?: string;
110
96
  }) => Promise<void>;
111
97
  can: (permission: string) => boolean;
112
98
  hasRole: (role: string) => boolean;
113
99
  hasAnyPermission: (list: string[]) => boolean;
114
100
  hasAllPermissions: (list: string[]) => boolean;
115
- }, "setSdk" | "setPortal" | "loadPortalAccess" | "can" | "hasRole" | "hasAnyPermission" | "hasAllPermissions">>;
101
+ }, "setSdk" | "loadPortalAccess" | "can" | "hasRole" | "hasAnyPermission" | "hasAllPermissions">>;
116
102
  //# sourceMappingURL=authz.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authz.d.ts","sourceRoot":"","sources":["../../src/stores/authz.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;uBA6DI,OAAO,KAAG,IAAI;oBAIjB,MAAM,KAAG,IAAI;8BAiBG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO,CAAC,IAAI,CAAC;sBAxClE,MAAM,KAAG,OAAO;oBAKlB,MAAM,KAAG,OAAO;6BAEP,MAAM,EAAE,KAAG,OAAO;8BAMjB,MAAM,EAAE,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;uBAMzB,OAAO,KAAG,IAAI;oBAIjB,MAAM,KAAG,IAAI;8BAiBG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO,CAAC,IAAI,CAAC;sBAxClE,MAAM,KAAG,OAAO;oBAKlB,MAAM,KAAG,OAAO;6BAEP,MAAM,EAAE,KAAG,OAAO;8BAMjB,MAAM,EAAE,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;uBAMzB,OAAO,KAAG,IAAI;oBAIjB,MAAM,KAAG,IAAI;8BAiBG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO,CAAC,IAAI,CAAC;sBAxClE,MAAM,KAAG,OAAO;oBAKlB,MAAM,KAAG,OAAO;6BAEP,MAAM,EAAE,KAAG,OAAO;8BAMjB,MAAM,EAAE,KAAG,OAAO;+GAgHtD,CAAC"}
1
+ {"version":3,"file":"authz.d.ts","sourceRoot":"","sources":["../../src/stores/authz.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAIhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;uBAwDI,OAAO,KAAG,IAAI;8BAiBD;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAG,OAAO,CAAC,IAAI,CAAC;sBAlCjD,MAAM,KAAG,OAAO;oBAKlB,MAAM,KAAG,OAAO;6BAEP,MAAM,EAAE,KAAG,OAAO;8BAKjB,MAAM,EAAE,KAAG,OAAO;;;;;;;;;;;;;;;;;;uBAKzB,OAAO,KAAG,IAAI;8BAiBD;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAG,OAAO,CAAC,IAAI,CAAC;sBAlCjD,MAAM,KAAG,OAAO;oBAKlB,MAAM,KAAG,OAAO;6BAEP,MAAM,EAAE,KAAG,OAAO;8BAKjB,MAAM,EAAE,KAAG,OAAO;;;;;;;;;;;;;;;;;;uBAKzB,OAAO,KAAG,IAAI;8BAiBD;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAG,OAAO,CAAC,IAAI,CAAC;sBAlCjD,MAAM,KAAG,OAAO;oBAKlB,MAAM,KAAG,OAAO;6BAEP,MAAM,EAAE,KAAG,OAAO;8BAKjB,MAAM,EAAE,KAAG,OAAO;iGAuGtD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eaera-com/cms-sdk",
3
- "version": "0.1.76",
3
+ "version": "0.1.78",
4
4
  "description": "EAERA CMS SDK — data access layer for Nuxt 3 apps (ofetch + Pinia + typed services)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",