@pristy/pristy-libvue 1.19.2 → 1.20.0
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/pristy-libvue.es.js +3999 -3675
- package/dist/pristy-libvue.es.js.map +1 -1
- package/dist/pristy-libvue.umd.js +11 -11
- package/dist/pristy-libvue.umd.js.map +1 -1
- package/dist/src/AlfrescoApi.d.ts.map +1 -1
- package/dist/src/components/auth/OidcCallback.vue.d.ts +4 -0
- package/dist/src/components/auth/OidcCallback.vue.d.ts.map +1 -0
- package/dist/src/components/search/AdvancedSearchPanel.vue.d.ts +14 -10
- package/dist/src/components/search/AdvancedSearchPanel.vue.d.ts.map +1 -1
- package/dist/src/components/search/AdvancedViewPanel.vue.d.ts +14 -10
- package/dist/src/components/search/AdvancedViewPanel.vue.d.ts.map +1 -1
- package/dist/src/components/search/ExactSearch.vue.d.ts.map +1 -1
- package/dist/src/components/search/SaveViewPopup.vue.d.ts +7 -5
- package/dist/src/components/search/SaveViewPopup.vue.d.ts.map +1 -1
- package/dist/src/httpClientPatch.d.ts +29 -0
- package/dist/src/httpClientPatch.d.ts.map +1 -0
- package/dist/src/i18n/index.d.ts +10 -0
- package/dist/src/i18n/index.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/plugins/KeycloakPlugin.d.ts +1 -1
- package/dist/src/plugins/KeycloakPlugin.d.ts.map +1 -1
- package/dist/src/services/LibVueActionService.d.ts.map +1 -1
- package/dist/src/services/auth/KeycloakAuthProvider.d.ts +44 -0
- package/dist/src/services/auth/KeycloakAuthProvider.d.ts.map +1 -0
- package/dist/src/services/auth/OidcAuthProvider.d.ts +38 -0
- package/dist/src/services/auth/OidcAuthProvider.d.ts.map +1 -0
- package/dist/src/services/auth/__tests__/FakeAuthProvider.d.ts +32 -0
- package/dist/src/services/auth/__tests__/FakeAuthProvider.d.ts.map +1 -0
- package/dist/src/services/auth/authProvider.d.ts +57 -0
- package/dist/src/services/auth/authProvider.d.ts.map +1 -0
- package/dist/src/services/auth/buildOidcSettings.d.ts +29 -0
- package/dist/src/services/auth/buildOidcSettings.d.ts.map +1 -0
- package/dist/src/stores/config.d.ts +21 -0
- package/dist/src/stores/config.d.ts.map +1 -1
- package/dist/src/stores/user.d.ts +49 -22
- package/dist/src/stores/user.d.ts.map +1 -1
- package/package.json +9 -7
|
@@ -11,17 +11,18 @@ import { StoreDefinition, PiniaCustomStateProperties } from 'pinia';
|
|
|
11
11
|
* - `isAdmin` {boolean} - Indicates whether the current user is an administrator.
|
|
12
12
|
* - `isLoggedIn` {boolean} - Tracks whether the user is currently logged in.
|
|
13
13
|
* - `person` {object|null} - Stores the person details of the logged-in user.
|
|
14
|
-
* - `keycloak` {object|null} - Represents Keycloak authentication configuration.
|
|
15
14
|
* - `homeFolder` {string|null} - Stores the user's home folder path.
|
|
16
15
|
*
|
|
17
16
|
* Getters:
|
|
18
17
|
* - `displayName` {string} - Returns the display name of the logged-in user, or an empty string if no user is logged in.
|
|
19
18
|
*
|
|
20
19
|
* Actions:
|
|
21
|
-
* - `logout` - Logs out the current user and
|
|
22
|
-
* - `validateSession` - Checks if the client is logged in and retrieves the Alfresco ticket using the
|
|
23
|
-
* - `connectKeycloak` -
|
|
24
|
-
* - `keycloakReady` -
|
|
20
|
+
* - `logout` - Logs out the current user and delegates to the auth provider.
|
|
21
|
+
* - `validateSession` - Checks if the client is logged in and retrieves the Alfresco ticket using the OIDC Bearer Token.
|
|
22
|
+
* - `connectKeycloak` - Redirects to the IdP for unauthenticated users, otherwise loads the current Person.
|
|
23
|
+
* - `keycloakReady` - Subscribes to the auth provider and retrieves the Alfresco ticket using the OIDC Bearer Token.
|
|
24
|
+
* - `completeLogin` - Consumes the IdP redirect and opens the Alfresco session.
|
|
25
|
+
* - `accountConsoleUrl` - Returns the IdP account console URL for a given section, when available.
|
|
25
26
|
* - `getAlfTicket` - Logs into Alfresco with the Bearer token and retrieves the Alfresco ticket.
|
|
26
27
|
* - `getPerson` - Retrieves the person details for the currently authenticated user.
|
|
27
28
|
* - `login` - Attempts to log in a user with a username and password.
|
|
@@ -34,7 +35,6 @@ export const useUserStore: StoreDefinition<"UserStore", {
|
|
|
34
35
|
isAdmin: boolean;
|
|
35
36
|
isLoggedIn: boolean;
|
|
36
37
|
person: any;
|
|
37
|
-
keycloak: any;
|
|
38
38
|
homeFolder: any;
|
|
39
39
|
isPristyAdmin: any;
|
|
40
40
|
}, {
|
|
@@ -43,7 +43,6 @@ export const useUserStore: StoreDefinition<"UserStore", {
|
|
|
43
43
|
isAdmin: boolean;
|
|
44
44
|
isLoggedIn: boolean;
|
|
45
45
|
person: any;
|
|
46
|
-
keycloak: any;
|
|
47
46
|
homeFolder: any;
|
|
48
47
|
isPristyAdmin: any;
|
|
49
48
|
} & PiniaCustomStateProperties<{
|
|
@@ -51,7 +50,6 @@ export const useUserStore: StoreDefinition<"UserStore", {
|
|
|
51
50
|
isAdmin: boolean;
|
|
52
51
|
isLoggedIn: boolean;
|
|
53
52
|
person: any;
|
|
54
|
-
keycloak: any;
|
|
55
53
|
homeFolder: any;
|
|
56
54
|
isPristyAdmin: any;
|
|
57
55
|
}>): any;
|
|
@@ -62,32 +60,61 @@ export const useUserStore: StoreDefinition<"UserStore", {
|
|
|
62
60
|
*/
|
|
63
61
|
logout(): Promise<axios.AxiosResponse<any>>;
|
|
64
62
|
/**
|
|
65
|
-
* Check
|
|
66
|
-
*
|
|
63
|
+
* Check whether the client is logged in and, when authentication is
|
|
64
|
+
* delegated to an OIDC provider via the AuthProvider façade, refresh the
|
|
65
|
+
* Alfresco ticket using its Bearer token.
|
|
66
|
+
* @return {Promise<{id:string}|undefined>} Current alf_token, or
|
|
67
|
+
* undefined when the session cannot be validated
|
|
67
68
|
*/
|
|
68
69
|
validateSession(): Promise<{
|
|
69
70
|
id: string;
|
|
70
|
-
}>;
|
|
71
|
+
} | undefined>;
|
|
71
72
|
/**
|
|
72
|
-
*
|
|
73
|
-
*
|
|
73
|
+
* Ensure the user is authenticated. Redirects to the IdP when they are not,
|
|
74
|
+
* otherwise loads their Person from Alfresco.
|
|
75
|
+
* @param {string} [returnTo] in-app path to return to after login
|
|
74
76
|
* @return {Promise<void>}
|
|
75
77
|
*/
|
|
76
|
-
connectKeycloak: () => Promise<void>;
|
|
78
|
+
connectKeycloak: (returnTo?: string) => Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* Consume the IdP redirect and open the Alfresco session.
|
|
81
|
+
* @return {Promise<string>} the in-app path to navigate to
|
|
82
|
+
*/
|
|
83
|
+
completeLogin: () => Promise<string>;
|
|
77
84
|
/**
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
* @param {any} _keycloak Keycloak object yet authenticate
|
|
81
|
-
* @return {Promise<{id: string}>}
|
|
85
|
+
* @param {string} section "profile" or "password"
|
|
86
|
+
* @return {string|null} the IdP account console URL, when one is available
|
|
82
87
|
*/
|
|
83
|
-
|
|
88
|
+
accountConsoleUrl(section: string): string | null;
|
|
89
|
+
/**
|
|
90
|
+
* Subscribe to the provider and open the Alfresco session. The Alfresco
|
|
91
|
+
* ticket is refreshed when the OIDC token is renewed, replacing the former
|
|
92
|
+
* unconditional 60 s poll.
|
|
93
|
+
*
|
|
94
|
+
* Does nothing beyond registering the two subscriptions when the provider
|
|
95
|
+
* has no session yet: `OidcAuthProvider.init()` resolves happily for an
|
|
96
|
+
* anonymous browser (unlike keycloak-js's `onLoad: "login-required"`), so
|
|
97
|
+
* requesting a ticket here would send `Authorization: Bearer null` and
|
|
98
|
+
* surface a misleading initialization error. A later login still
|
|
99
|
+
* refreshes the ticket via the `onTokenRenewed` subscription.
|
|
100
|
+
* @param {Object} provider the auth provider, already initialised
|
|
101
|
+
* @return {Promise<{id: string}|undefined>}
|
|
102
|
+
*/
|
|
103
|
+
keycloakReady(provider: any): Promise<{
|
|
84
104
|
id: string;
|
|
85
|
-
}>;
|
|
105
|
+
} | undefined>;
|
|
86
106
|
/**
|
|
87
|
-
* Log to Alfresco with Bearer token and set alf_token
|
|
107
|
+
* Log to Alfresco with Bearer token and set alf_token.
|
|
108
|
+
*
|
|
109
|
+
* Retries exactly once on an HTTP 401, per the design spec ("single retry
|
|
110
|
+
* on 401 on `/tickets/-me-`"): this replaces the 60 s poller the migration
|
|
111
|
+
* deleted, since under an OIDC IdP (e.g. Entra) the token and the
|
|
112
|
+
* Alfresco ticket can have comparable lifetimes, so an idle tab may lose
|
|
113
|
+
* its ticket with nothing else scheduled to refresh it.
|
|
114
|
+
* @param {boolean} [isRetry] internal guard, never pass this explicitly
|
|
88
115
|
* @return {Promise<{id:string} | undefined>} Current alf_token or undefined if not using OIDC
|
|
89
116
|
*/
|
|
90
|
-
getAlfTicket(): Promise<{
|
|
117
|
+
getAlfTicket(isRetry?: boolean): Promise<{
|
|
91
118
|
id: string;
|
|
92
119
|
} | undefined>;
|
|
93
120
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/stores/user.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/stores/user.js"],"names":[],"mappings":";AAiDA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH;;;;;;;;;;;;;;;;;;;;;;;;IAgBI;;;OAGG;cADS,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IA+B7C;;;;;;OAMG;uBAFS,OAAO,CAAC;QAAC,EAAE,EAAC,MAAM,CAAA;KAAC,GAAC,SAAS,CAAC;IAsB1C;;;;;OAKG;iCAFQ,MAAM,KACL,OAAO,CAAC,IAAI,CAAC;IAmBzB;;;OAGG;yBADS,OAAO,CAAC,MAAM,CAAC;IAU3B;;;OAGG;+BAFQ,MAAM,GACL,MAAM,GAAC,IAAI;IAMvB;;;;;;;;;;;;;OAaG;kCADS,OAAO,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,GAAC,SAAS,CAAC;IAkB3C;;;;;;;;;;OAUG;2BAFQ,OAAO,GACN,OAAO,CAAC;QAAC,EAAE,EAAC,MAAM,CAAA;KAAC,GAAG,SAAS,CAAC;IAqC5C;;;OAGG;iBADS,OAAO,CAAC,MAAM,CAAC;IAyC3B;;;OAGG;;IAoBH;;;;;OAKG;gBAHQ,MAAM,YACN,MAAM,GACL,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IASnC;;;;;OAKG;gBAHQ,MAAM,KACN,MAAM,GACL,OAAO,CAAC,GAAG,CAAC;IAcxB;;;OAGG;oBADS,OAAO,CAAC,IAAI,CAAC;IAUzB;;;;OAIG;2BAFQ,MAAM,GACL,OAAO,CAAC,MAAM,CAAC;GAwB5B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pristy/pristy-libvue",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.20.0",
|
|
4
4
|
"description": "Core library used by all Pristy applications",
|
|
5
5
|
"homepage": "https://pristy.fr/en/",
|
|
6
6
|
"author": "JECI SARL",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"@codemirror/state": "6.5.2"
|
|
65
65
|
},
|
|
66
66
|
"overrides": {
|
|
67
|
-
"minimatch
|
|
67
|
+
"minimatch": "^10.2.6"
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
70
|
"@alfresco/js-api": "^9.5.0",
|
|
@@ -79,6 +79,7 @@
|
|
|
79
79
|
"keycloak-js": "^26.2.4",
|
|
80
80
|
"marked": "^16.4.2",
|
|
81
81
|
"marked-highlight": "^2.2.4",
|
|
82
|
+
"oidc-client-ts": "^3.5.0",
|
|
82
83
|
"p-limit": "^6.2.0",
|
|
83
84
|
"pdf-lib": "^1.17.1",
|
|
84
85
|
"pinia": "^2.3.1",
|
|
@@ -90,23 +91,24 @@
|
|
|
90
91
|
},
|
|
91
92
|
"devDependencies": {
|
|
92
93
|
"@codemirror/collab": "^6.1.1",
|
|
93
|
-
"@eslint/js": "^
|
|
94
|
+
"@eslint/js": "^10.0.1",
|
|
94
95
|
"@vitejs/plugin-legacy": "^7.2.1",
|
|
95
96
|
"@vitejs/plugin-vue": "^6.0.7",
|
|
96
97
|
"@vitest/coverage-v8": "^3.2.6",
|
|
97
|
-
"
|
|
98
|
+
"@vue/test-utils": "^2.4.11",
|
|
99
|
+
"eslint": "^10.8.0",
|
|
98
100
|
"eslint-config-prettier": "^10.1.8",
|
|
99
|
-
"eslint-plugin-import": "^2.32.0",
|
|
100
101
|
"eslint-plugin-n": "^17.24.0",
|
|
101
102
|
"eslint-plugin-prettier": "^5.5.6",
|
|
102
103
|
"eslint-plugin-promise": "^7.3.0",
|
|
103
|
-
"eslint-plugin-vue": "^
|
|
104
|
+
"eslint-plugin-vue": "^10.10.0",
|
|
105
|
+
"globals": "^17.8.0",
|
|
104
106
|
"jsdom": "^27.4.0",
|
|
105
107
|
"prettier": "^3.8.4",
|
|
106
108
|
"rollup-plugin-visualizer": "^6.0.11",
|
|
107
109
|
"sass": "^1.101.0",
|
|
108
110
|
"svgo": "^4.0.1",
|
|
109
|
-
"vite": "^7.3.
|
|
111
|
+
"vite": "^7.3.6",
|
|
110
112
|
"vite-plugin-dts": "^4.5.4",
|
|
111
113
|
"vitest": "^3.2.4"
|
|
112
114
|
},
|