@wssto2/vue-core 0.5.4 → 0.7.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/CHANGELOG.md +46 -0
- package/README.md +6 -1
- package/dist/{AccessGate.vue_vue_type_script_setup_true_lang-DZ9GcLC1.js → AccessGate.vue_vue_type_script_setup_true_lang-CkomzGrt.js} +1 -1
- package/dist/{AccountMenuItem.vue_vue_type_script_setup_true_lang-CPeNxh5K.js → AccountMenuItem.vue_vue_type_script_setup_true_lang-BIYgaihv.js} +1 -1
- package/dist/{ActionRow.vue_vue_type_script_setup_true_lang-Bv-APkGf.js → ActionRow.vue_vue_type_script_setup_true_lang-Cg1lhpcA.js} +2 -2
- package/dist/{Activity-DUjDaPfP.js → Activity-CW2TOQAY.js} +9 -9
- package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-GUTIXuNd.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-9Lt1XggN.js} +3 -3
- package/dist/{AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js → AlertDialog.vue_vue_type_script_setup_true_lang-BvGc1Rfl.js} +1 -1
- package/dist/{AsyncSection.vue_vue_type_script_setup_true_lang-B0NfvG3B.js → AsyncSection.vue_vue_type_script_setup_true_lang-GxAsImnO.js} +4 -4
- package/dist/{Banner.vue_vue_type_script_setup_true_lang-DSStj_5z.js → Banner.vue_vue_type_script_setup_true_lang-sv0phngk.js} +1 -1
- package/dist/{Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js → Button.vue_vue_type_script_setup_true_lang-DQq_0P0p.js} +1 -1
- package/dist/{Changes-B0tZO6BZ.js → Changes-BCaVkeZg.js} +8 -8
- package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-o_Pj-JcD.js → CollectionPage.vue_vue_type_script_setup_true_lang-BmXnfM5f.js} +17 -16
- package/dist/{DataTable.vue_vue_type_script_setup_true_lang-BEvz5zqo.js → DataTable.vue_vue_type_script_setup_true_lang-DRWrCRLr.js} +1 -1
- package/dist/{DateField.vue_vue_type_script_setup_true_lang-CDg31ZU7.js → DateField.vue_vue_type_script_setup_true_lang-DmYp54mq.js} +3 -3
- package/dist/{DeadLetters-IgVHao84.js → DeadLetters-DUM_bsL-.js} +8 -7
- package/dist/{DiscardChangesModal.vue_vue_type_script_setup_true_lang-D1arePCZ.js → DiscardChangesModal.vue_vue_type_script_setup_true_lang-DcihJfpk.js} +1 -1
- package/dist/{EmptyState.vue_vue_type_script_setup_true_lang-50p-Mp8I.js → EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js} +1 -1
- package/dist/{FormErrors.vue_vue_type_script_setup_true_lang-D7edzNTL.js → FormErrors.vue_vue_type_script_setup_true_lang-DJiK8iqo.js} +1 -1
- package/dist/{FormGroup.vue_vue_type_script_setup_true_lang-CSgT4ITL.js → FormGroup.vue_vue_type_script_setup_true_lang-BTADNpwB.js} +2 -2
- package/dist/{FormView.vue_vue_type_script_setup_true_lang-D31Hk3pJ.js → FormView.vue_vue_type_script_setup_true_lang-Ncl9DmFB.js} +2 -2
- package/dist/{General-C40HxupS.js → General-Dsh0TJ5w.js} +8 -8
- package/dist/{HeaderAction.vue_vue_type_script_setup_true_lang-Cgji-Jrr.js → HeaderAction.vue_vue_type_script_setup_true_lang-Da59TLBh.js} +2 -2
- package/dist/{Icon.vue_vue_type_script_lang-D7oC-d-S.js → Icon.vue_vue_type_script_lang-BhhsFYwp.js} +45 -42
- package/dist/{IconTile.vue_vue_type_script_setup_true_lang-_FXvaj93.js → IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js} +1 -1
- package/dist/IncidentRecord-C9zrjNrp.js +405 -0
- package/dist/IncidentsList-ClQOjd5c.js +140 -0
- package/dist/KeyValue.vue_vue_type_script_setup_true_lang-wcZcvnow.js +35 -0
- package/dist/{LeaveGuardRoot.vue_vue_type_script_setup_true_lang-Cv7KlA5y.js → LeaveGuardRoot.vue_vue_type_script_setup_true_lang-ChIsmnts.js} +1 -1
- package/dist/{Menu.vue_vue_type_script_setup_true_lang-DsFOeCVe.js → Menu.vue_vue_type_script_setup_true_lang-ldLdJ5Q-.js} +1 -1
- package/dist/{MenuButton.vue_vue_type_script_setup_true_lang-AGbN9r5q.js → MenuButton.vue_vue_type_script_setup_true_lang-C-XRr5f2.js} +1 -1
- package/dist/{Modal.vue_vue_type_script_setup_true_lang-DpBb8ans.js → Modal.vue_vue_type_script_setup_true_lang-4MsnTWyx.js} +2 -2
- package/dist/{NewRolePage-Bhy8KJO1.js → NewRolePage-Bw2_jXcQ.js} +9 -8
- package/dist/{NoAccess.vue_vue_type_script_setup_true_lang-DWxq-MTM.js → NoAccess.vue_vue_type_script_setup_true_lang-BHzZtZ50.js} +1 -1
- package/dist/{NumberField.vue_vue_type_script_setup_true_lang-BdS7BxuS.js → NumberField.vue_vue_type_script_setup_true_lang-C3nw944P.js} +1 -1
- package/dist/{PageBar.vue_vue_type_script_setup_true_lang-B7qdEeej.js → PageBar.vue_vue_type_script_setup_true_lang-DPpcZxuT.js} +1 -1
- package/dist/{Panel.vue_vue_type_script_setup_true_lang-BA0u_DtS.js → Panel.vue_vue_type_script_setup_true_lang-D_Wg42hu.js} +1 -1
- package/dist/PersonAccess.vue_vue_type_script_setup_true_lang-07pq4SrY.js +600 -0
- package/dist/{PhotoViewer.vue_vue_type_script_setup_true_lang-CY5EZiyK.js → PhotoViewer.vue_vue_type_script_setup_true_lang-Cj0hSMk9.js} +1 -1
- package/dist/{ProfilePage-Bf7dFzGd.js → ProfilePage-CJIztbx3.js} +19 -19
- package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-fmx0f8xi.js → RecordHeader.vue_vue_type_script_setup_true_lang-DPm9q1P_.js} +2 -2
- package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-BFBGvevP.js → ResourcePage.vue_vue_type_script_setup_true_lang-Cm3tx76N.js} +5 -5
- package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-C6oloGIh.js → RoleEditor.vue_vue_type_script_setup_true_lang-DuQR8hFf.js} +35 -34
- package/dist/{RolePage-BjbvciTg.js → RolePage-Yv6m6u7o.js} +43 -41
- package/dist/{RolesPage-DzVOgF4z.js → RolesPage-TibtzxzQ.js} +34 -32
- package/dist/{SectionList.vue_vue_type_script_setup_true_lang-wyW7n3Uq.js → SectionList.vue_vue_type_script_setup_true_lang-DAnZbfWA.js} +3 -3
- package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-Ci04hApd.js → SectionNavigator.vue_vue_type_script_setup_true_lang-ivdGWUeF.js} +5 -5
- package/dist/{SegmentedField.vue_vue_type_script_setup_true_lang-DXe_iOS8.js → SegmentedField.vue_vue_type_script_setup_true_lang-ChfDFAA2.js} +1 -1
- package/dist/{SelectField.vue_vue_type_script_setup_true_lang-BN4vzvV9.js → SelectField.vue_vue_type_script_setup_true_lang-iJm8qmjT.js} +7 -7
- package/dist/ServiceAccountDialog.vue_vue_type_script_setup_true_lang-D2Xj5mr7.js +126 -0
- package/dist/ServiceAccountRecord-Ct3TrSqZ.js +511 -0
- package/dist/ServiceAccountsList-CaXEp73j.js +137 -0
- package/dist/{SessionList.vue_vue_type_script_setup_true_lang-PuWIK-Wa.js → SessionList.vue_vue_type_script_setup_true_lang-BEKTaL0g.js} +4 -4
- package/dist/{Sessions-CRUObe5G.js → Sessions-Bg4Zk9Gf.js} +6 -6
- package/dist/{SettingsPage-C0qEC0uI.js → SettingsPage-Brq9U4tJ.js} +19 -19
- package/dist/{Sheet.vue_vue_type_script_setup_true_lang-DgOFV4fa.js → Sheet.vue_vue_type_script_setup_true_lang-sh9YD0Pm.js} +1 -1
- package/dist/{SignIn-Uy0Jujzz.js → SignIn-DB5LRNlB.js} +7 -7
- package/dist/{SignInPage-CpVZfrLZ.js → SignInPage-Ts-iTaC1.js} +6 -6
- package/dist/{SignIns-Cp5Gx2dk.js → SignIns-bCvvmCHF.js} +6 -6
- package/dist/{SwipeActions.vue_vue_type_script_setup_true_lang-BJIA2JfI.js → SwipeActions.vue_vue_type_script_setup_true_lang-D8SiC0G7.js} +1 -1
- package/dist/{SwitchField.vue_vue_type_script_setup_true_lang-Dj5Aq8QT.js → SwitchField.vue_vue_type_script_setup_true_lang-BMA2YXTZ.js} +1 -1
- package/dist/{Tabs.vue_vue_type_script_setup_true_lang-CcMcE38r.js → Tabs.vue_vue_type_script_setup_true_lang-tpkGp98F.js} +1 -1
- package/dist/{TextField.vue_vue_type_script_setup_true_lang-BwfNNQEz.js → TextField.vue_vue_type_script_setup_true_lang-7IAl4eAE.js} +3 -3
- package/dist/{TextareaField.vue_vue_type_script_setup_true_lang-aT1P8Xqr.js → TextareaField.vue_vue_type_script_setup_true_lang-Dyh4Hhyl.js} +1 -1
- package/dist/{TimeField.vue_vue_type_script_setup_true_lang-jPKPE1hc.js → TimeField.vue_vue_type_script_setup_true_lang-BwoE08jT.js} +3 -3
- package/dist/{Timestamp.vue_vue_type_script_setup_true_lang-CutyQkJb.js → Timestamp.vue_vue_type_script_setup_true_lang-u53rHMFG.js} +1 -1
- package/dist/{UserRecord-DbSMnTbj.js → UserRecord-DgK9FsvV.js} +30 -30
- package/dist/{UsersList-9MicE2pG.js → UsersList-Due2ZkbO.js} +14 -14
- package/dist/{ViewTabs.vue_vue_type_script_setup_true_lang-BJIoZAlH.js → ViewTabs.vue_vue_type_script_setup_true_lang-BjdDXE3T.js} +1 -1
- package/dist/access/api.d.ts +7 -8
- package/dist/access/context.d.ts +2 -7
- package/dist/access/feature.d.ts +0 -8
- package/dist/access/index.js +47 -15
- package/dist/app/application.d.ts +2 -0
- package/dist/app/index.js +13 -427
- package/dist/application-D8Nm17zA.js +420 -0
- package/dist/button/index.js +1 -1
- package/dist/client/client.d.ts +7 -0
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.js +5 -4
- package/dist/client-CZgikXPG.js +151 -0
- package/dist/collection/index.js +55 -63
- package/dist/content/index.js +37 -66
- package/dist/{contributions-fx5q5n1u.js → contributions-BQ9dZoRw.js} +1 -1
- package/dist/controls/index.js +4 -4
- package/dist/datePresets-DB13HHHd.js +17 -0
- package/dist/definition-C7QuyV3i.js +54 -0
- package/dist/form/index.js +590 -615
- package/dist/{guards-D4mXf_2X.js → guards-BFCulig0.js} +1 -1
- package/dist/http-nz92KjdS.js +42 -0
- package/dist/i18n/index.js +36 -36
- package/dist/icon/core.d.ts +3 -0
- package/dist/icon/index.js +1 -1
- package/dist/identity/index.d.ts +7 -0
- package/dist/identity/index.js +19 -15
- package/dist/identity/serviceaccounts/ApiKeysPanel.vue.d.ts +17 -0
- package/dist/identity/serviceaccounts/CreatedApiKeyDialog.vue.d.ts +53 -0
- package/dist/identity/serviceaccounts/NewApiKeyDialog.vue.d.ts +24 -0
- package/dist/identity/serviceaccounts/ServiceAccountDialog.vue.d.ts +22 -0
- package/dist/identity/serviceaccounts/ServiceAccountRecord.vue.d.ts +2 -0
- package/dist/identity/serviceaccounts/ServiceAccountsList.vue.d.ts +2 -0
- package/dist/identity/serviceaccounts/access.d.ts +4 -0
- package/dist/identity/serviceaccounts/api.d.ts +27 -0
- package/dist/identity/serviceaccounts/context.d.ts +14 -0
- package/dist/identity/serviceaccounts/feature.d.ts +23 -0
- package/dist/identity/serviceaccounts/form.d.ts +4 -0
- package/dist/identity/serviceaccounts/messages.d.ts +11 -0
- package/dist/identity/serviceaccounts/routes.d.ts +22 -0
- package/dist/incidents/IncidentRecord.vue.d.ts +2 -0
- package/dist/incidents/IncidentsList.vue.d.ts +2 -0
- package/dist/incidents/Person.vue.d.ts +7 -0
- package/dist/incidents/ReportDialog.vue.d.ts +21 -0
- package/dist/incidents/ReportHost.vue.d.ts +2 -0
- package/dist/incidents/ReportMenuItem.vue.d.ts +2 -0
- package/dist/incidents/access.d.ts +6 -0
- package/dist/incidents/api.d.ts +27 -0
- package/dist/incidents/clientErrorReporter.d.ts +38 -0
- package/dist/incidents/context.d.ts +7 -0
- package/dist/incidents/feature.d.ts +20 -0
- package/dist/incidents/form.d.ts +16 -0
- package/dist/incidents/index.d.ts +9 -0
- package/dist/incidents/index.js +8 -0
- package/dist/incidents/look.d.ts +6 -0
- package/dist/incidents/routes.d.ts +21 -0
- package/dist/{index-Ok29ucE3.js → index-CXTJ_1NV.js} +191 -168
- package/dist/index-D5_GAqjA.js +340 -0
- package/dist/{index-C-oM_Mnf.js → index-i-cTTVxo.js} +10 -10
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/internal/copyText.d.ts +5 -0
- package/dist/modal/index.js +5 -5
- package/dist/modules/incident/entities.d.ts +84 -0
- package/dist/modules/incident/routes.d.ts +54 -0
- package/dist/modules/incident/schemas.d.ts +48 -0
- package/dist/modules/serviceaccount/entities.d.ts +127 -0
- package/dist/modules/serviceaccount/routes.d.ts +58 -0
- package/dist/modules/serviceaccount/schemas.d.ts +49 -0
- package/dist/{navigation-Bc5EQ_Si.js → navigation-BSC9X7FM.js} +1 -1
- package/dist/{neighbors-Bv6vnWlW.js → neighbors-BKzihEGQ.js} +1 -1
- package/dist/notifications/index.js +1 -1
- package/dist/{options-Bu0XbEpN.js → options-QuOkMKVZ.js} +4 -4
- package/dist/overlay/index.js +4 -4
- package/dist/page/index.js +7 -7
- package/dist/phone/index.js +2 -2
- package/dist/platform/index.js +3 -3
- package/dist/{platform-Dx6STiwY.js → platform-Dr4iY3b8.js} +1 -1
- package/dist/refusals-COPr15XZ.js +135 -0
- package/dist/resource/index.js +1 -1
- package/dist/router/index.js +4 -4
- package/dist/routes-CVckt7Pj.js +19 -0
- package/dist/{rowLayout-BBFyLbOl.js → rowLayout-Cz-K7jeo.js} +5 -5
- package/dist/{sections-B0HxIOC2.js → sections-BXg4_ZhO.js} +1 -1
- package/dist/shell/index.js +9 -9
- package/dist/state/index.js +4 -4
- package/dist/state-ChVIjayU.js +102 -0
- package/dist/{status-C78NpXyB.js → status-DZ4eSnAS.js} +9 -8
- package/dist/styles.css +1 -1
- package/dist/{suggestions-ClyLexMO.js → suggestions-niXd1oOl.js} +1 -1
- package/dist/testing/index.js +1 -1
- package/dist/{useCommand-DyuPTosF.js → useCommand-BIZX1ReM.js} +4 -4
- package/dist/{useGroupSheet-C2NyqWRp.js → useGroupSheet-DxXzdKo3.js} +5 -5
- package/dist/useRecordDialog-BLVSz7g3.js +30 -0
- package/dist/{useResourceForm-CJfl8rj_.js → useResourceForm-DYuYT_on.js} +1 -1
- package/dist/{useTypedEntry-C7k7Dyl-.js → useTypedEntry-CKuGqWT8.js} +2 -2
- package/package.json +6 -2
- package/dist/client-BHPFfBj3.js +0 -147
- package/dist/http-CdQowFlW.js +0 -194
- package/dist/index-BdGnA1Jh.js +0 -765
|
@@ -1,30 +1,31 @@
|
|
|
1
1
|
import { route as i } from "./client/index.js";
|
|
2
|
-
import { d as
|
|
3
|
-
import { k as
|
|
4
|
-
import { d as
|
|
5
|
-
import { d as
|
|
6
|
-
import { defineComponent as w, computed as
|
|
2
|
+
import { d as N, p as F } from "./feature-DdUAfyi4.js";
|
|
3
|
+
import { k as ce } from "./keepAlive-z3IRFkQq.js";
|
|
4
|
+
import { d as K } from "./defineRoutes-BGAdiIrt.js";
|
|
5
|
+
import { d as A } from "./context-Ch1r4fdN.js";
|
|
6
|
+
import { defineComponent as w, computed as y, watch as z, openBlock as _, createElementBlock as D, ref as V, useTemplateRef as ue, watchEffect as le, onBeforeUnmount as me, createVNode as g, unref as o, createElementVNode as p, toDisplayString as f, createCommentVNode as I, createBlock as U, useId as pe, Teleport as de, normalizeClass as B, createTextVNode as O, withCtx as T, mergeProps as fe, h as he } from "vue";
|
|
7
7
|
import { i as P } from "./error-Bb_dr_Ay.js";
|
|
8
|
-
import { u as
|
|
9
|
-
import { u as
|
|
8
|
+
import { u as ve } from "./environment-Dva-SG8D.js";
|
|
9
|
+
import { u as C } from "./describeError-BqGAUZgX.js";
|
|
10
10
|
import { t as k } from "./toast-CqSDTWRX.js";
|
|
11
|
-
import { u as x, h as
|
|
11
|
+
import { u as x, h as R, f as j } from "./platform-Dr4iY3b8.js";
|
|
12
12
|
import { useI18n as E } from "vue-i18n";
|
|
13
|
-
import { _ as
|
|
14
|
-
import { useRouter as
|
|
15
|
-
import { _ as
|
|
16
|
-
import { _ as
|
|
17
|
-
import { u as
|
|
18
|
-
import { _ as
|
|
19
|
-
import { _ as
|
|
20
|
-
import { u as
|
|
21
|
-
import { u as
|
|
22
|
-
import { c as
|
|
23
|
-
import { u as
|
|
24
|
-
import { u as
|
|
25
|
-
import { b as
|
|
26
|
-
import "./ActionRow.vue_vue_type_script_setup_true_lang-
|
|
27
|
-
import { _ as
|
|
13
|
+
import { _ as J } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
|
|
14
|
+
import { useRouter as Q, useRoute as ye } from "vue-router";
|
|
15
|
+
import { _ as X } from "./AccountMenuItem.vue_vue_type_script_setup_true_lang-BIYgaihv.js";
|
|
16
|
+
import { _ as G } from "./Button.vue_vue_type_script_setup_true_lang-DQq_0P0p.js";
|
|
17
|
+
import { u as ge } from "./leaveGuard-Cc8yeLxM.js";
|
|
18
|
+
import { _ as _e } from "./FormView.vue_vue_type_script_setup_true_lang-Ncl9DmFB.js";
|
|
19
|
+
import { _ as be } from "./TextField.vue_vue_type_script_setup_true_lang-7IAl4eAE.js";
|
|
20
|
+
import { u as we } from "./mediaQuery-CygcXmFW.js";
|
|
21
|
+
import { u as xe } from "./useDialog-CXR3hN0G.js";
|
|
22
|
+
import { c as Ee } from "./closeOverlays-CjVsIrpL.js";
|
|
23
|
+
import { u as Se } from "./FormErrors.vue_vue_type_script_setup_true_lang-DJiK8iqo.js";
|
|
24
|
+
import { u as Te } from "./format-D8X4zsx6.js";
|
|
25
|
+
import { b as ke } from "./routeResource-CcYA75T2.js";
|
|
26
|
+
import "./ActionRow.vue_vue_type_script_setup_true_lang-Cg1lhpcA.js";
|
|
27
|
+
import { _ as Ae } from "./AccessGate.vue_vue_type_script_setup_true_lang-CkomzGrt.js";
|
|
28
|
+
import "./routes-CVckt7Pj.js";
|
|
28
29
|
const b = {
|
|
29
30
|
login: i("POST", "/v1/auth/login", { public: !0 }),
|
|
30
31
|
refresh: i("POST", "/v1/auth/refresh", { public: !0 }),
|
|
@@ -57,37 +58,37 @@ const b = {
|
|
|
57
58
|
profileSignins: i("GET", "/v1/iam/profile/signins"),
|
|
58
59
|
profileSessions: i("GET", "/v1/iam/profile/sessions"),
|
|
59
60
|
profileRevokeSession: i("DELETE", "/v1/iam/profile/sessions/:session_id")
|
|
60
|
-
}, [
|
|
61
|
-
function
|
|
61
|
+
}, [Pe, Z] = A("vue-core.identity"), $ = (e) => P(e) && e.kind === "unauthorized";
|
|
62
|
+
function Ce(e) {
|
|
62
63
|
if (!P(e) || e.code !== "identity.signin.locked") return null;
|
|
63
64
|
const s = e.params?.locked_until, t = typeof s == "string" ? new Date(s) : null;
|
|
64
65
|
return t && !Number.isNaN(t.getTime()) ? t : null;
|
|
65
66
|
}
|
|
66
|
-
async function
|
|
67
|
-
await e.request(b.login, t, { handleUnauthorized: !1 }), await
|
|
67
|
+
async function Oe({ http: e, session: s }, t) {
|
|
68
|
+
await e.request(b.login, t, { handleUnauthorized: !1 }), await M({ session: s });
|
|
68
69
|
}
|
|
69
|
-
async function
|
|
70
|
+
async function M({ session: e }) {
|
|
70
71
|
const s = await e.refresh();
|
|
71
72
|
if (s.status === "failed") throw s.error;
|
|
72
73
|
if (s.status !== "authenticated") throw new Error("The server accepted the request but reports nobody signed in.");
|
|
73
74
|
}
|
|
74
|
-
async function
|
|
75
|
-
await e.http.request(b.loginAs, { user_id: s }), await
|
|
75
|
+
async function Re(e, s) {
|
|
76
|
+
await e.http.request(b.loginAs, { user_id: s }), await M(e);
|
|
76
77
|
}
|
|
77
|
-
async function
|
|
78
|
-
await e.http.request(b.loginAsReturn), await
|
|
78
|
+
async function Ke(e) {
|
|
79
|
+
await e.http.request(b.loginAsReturn), await M(e);
|
|
79
80
|
}
|
|
80
|
-
const
|
|
81
|
+
const Ie = { hidden: "" }, Ue = /* @__PURE__ */ w({
|
|
81
82
|
__name: "LocaleSync",
|
|
82
83
|
setup(e) {
|
|
83
|
-
const { http: s, session: t } = x(), n =
|
|
84
|
+
const { http: s, session: t } = x(), n = ve(), m = C(), d = y(() => {
|
|
84
85
|
const r = t.state.value, a = r.status === "authenticated" ? r.user.locale : void 0;
|
|
85
86
|
return typeof a == "string" ? a : null;
|
|
86
87
|
});
|
|
87
88
|
let u = null;
|
|
88
|
-
return
|
|
89
|
+
return z(d, async (r) => {
|
|
89
90
|
u = r, r !== null && r !== n.locale.value && n.locales.includes(r) && await n.setLocale(r);
|
|
90
|
-
}, { immediate: !0 }),
|
|
91
|
+
}, { immediate: !0 }), z(n.locale, async (r) => {
|
|
91
92
|
if (!(t.state.value.status !== "authenticated" || r === u))
|
|
92
93
|
try {
|
|
93
94
|
await s.request(b.changeLocale, { locale: r }), u = r;
|
|
@@ -95,15 +96,15 @@ const Re = { hidden: "" }, Ie = /* @__PURE__ */ w({
|
|
|
95
96
|
if ($(a)) return;
|
|
96
97
|
k.error(m(a)), P(a) && a.code === "identity.locale.unsupported" && u !== null && await n.setLocale(u);
|
|
97
98
|
}
|
|
98
|
-
}), (r, a) => (_(), D("span",
|
|
99
|
+
}), (r, a) => (_(), D("span", Ie));
|
|
99
100
|
}
|
|
100
101
|
});
|
|
101
|
-
function
|
|
102
|
-
const e = x(), s =
|
|
102
|
+
function ee() {
|
|
103
|
+
const e = x(), s = Q(), { home: t } = Z(), n = C(), m = V(!1), d = y(() => R(e.session.state.value)?.impersonator != null);
|
|
103
104
|
async function u() {
|
|
104
105
|
m.value = !0;
|
|
105
106
|
try {
|
|
106
|
-
await
|
|
107
|
+
await Ke(e), await s.push(t);
|
|
107
108
|
} catch (r) {
|
|
108
109
|
$(r) || k.error(n(r)), e.session.refresh();
|
|
109
110
|
} finally {
|
|
@@ -112,22 +113,22 @@ function X() {
|
|
|
112
113
|
}
|
|
113
114
|
return { impersonating: d, returning: m, leave: u };
|
|
114
115
|
}
|
|
115
|
-
const
|
|
116
|
+
const $e = { class: "min-w-0 flex-1" }, Le = { class: "hidden md:inline" }, qe = { class: "md:hidden" }, ze = ["disabled"], Ge = /* @__PURE__ */ w({
|
|
116
117
|
__name: "ImpersonationBanner",
|
|
117
118
|
setup(e) {
|
|
118
|
-
const { t: s } = E(), t = x(), { returning: n, leave: m } =
|
|
119
|
-
const l =
|
|
119
|
+
const { t: s } = E(), t = x(), { returning: n, leave: m } = ee(), d = y(() => R(t.session.state.value)?.impersonator ?? null), u = y(() => {
|
|
120
|
+
const l = R(t.session.state.value)?.user;
|
|
120
121
|
return typeof l?.name == "string" ? l.name : typeof l?.login == "string" ? l.login : String(l?.id ?? "");
|
|
121
|
-
}), r =
|
|
122
|
+
}), r = ue("strip");
|
|
122
123
|
let a = null;
|
|
123
|
-
return
|
|
124
|
+
return le(() => {
|
|
124
125
|
a?.disconnect(), a = null;
|
|
125
126
|
const l = r.value;
|
|
126
127
|
if (!l) return void document.documentElement.style.removeProperty("--shell-banner-h");
|
|
127
128
|
if (typeof ResizeObserver > "u") return;
|
|
128
129
|
const c = () => document.documentElement.style.setProperty("--shell-banner-h", `${l.offsetHeight}px`);
|
|
129
130
|
a = new ResizeObserver(c), a.observe(l), c();
|
|
130
|
-
}, { flush: "post" }),
|
|
131
|
+
}, { flush: "post" }), me(() => {
|
|
131
132
|
a?.disconnect(), document.documentElement.style.removeProperty("--shell-banner-h");
|
|
132
133
|
}), (l, c) => d.value ? (_(), D("div", {
|
|
133
134
|
key: 0,
|
|
@@ -137,14 +138,14 @@ const Ke = { class: "min-w-0 flex-1" }, $e = { class: "hidden md:inline" }, Ue =
|
|
|
137
138
|
"data-impersonation-banner": "",
|
|
138
139
|
class: "sticky top-0 z-40 flex flex-wrap items-center gap-x-3 gap-y-1.5 bg-status-warning-surface px-4 py-2 text-subheadline text-status-warning-content shadow-[inset_0_-1px_0_rgb(154_74_7/0.25)]"
|
|
139
140
|
}, [
|
|
140
|
-
|
|
141
|
+
g(o(J), {
|
|
141
142
|
name: "informationLine",
|
|
142
143
|
size: 18,
|
|
143
144
|
class: "shrink-0 compact:hidden"
|
|
144
145
|
}),
|
|
145
|
-
p("span",
|
|
146
|
-
p("span",
|
|
147
|
-
p("span",
|
|
146
|
+
p("span", $e, [
|
|
147
|
+
p("span", Le, f(o(s)("core.identity.impersonation.banner", { name: u.value })), 1),
|
|
148
|
+
p("span", qe, f(o(s)("core.identity.impersonation.banner_short", { name: u.value })), 1)
|
|
148
149
|
]),
|
|
149
150
|
p("button", {
|
|
150
151
|
type: "button",
|
|
@@ -152,14 +153,14 @@ const Ke = { class: "min-w-0 flex-1" }, $e = { class: "hidden md:inline" }, Ue =
|
|
|
152
153
|
class: "hit-target cursor-pointer rounded-control bg-status-warning-solid px-3 py-1 text-footnote font-semibold whitespace-nowrap text-white transition duration-motion-fast hover:brightness-110 disabled:opacity-45",
|
|
153
154
|
onClick: c[0] || (c[0] = //@ts-ignore
|
|
154
155
|
(...h) => o(m) && o(m)(...h))
|
|
155
|
-
}, f(o(s)("core.identity.impersonation.return")), 9,
|
|
156
|
+
}, f(o(s)("core.identity.impersonation.return")), 9, ze)
|
|
156
157
|
], 512)) : I("", !0);
|
|
157
158
|
}
|
|
158
|
-
}),
|
|
159
|
+
}), Ne = /* @__PURE__ */ w({
|
|
159
160
|
__name: "ReturnMenuItem",
|
|
160
161
|
setup(e) {
|
|
161
|
-
const { t: s } = E(), { impersonating: t, leave: n } =
|
|
162
|
-
return (m, d) => o(t) ? (_(),
|
|
162
|
+
const { t: s } = E(), { impersonating: t, leave: n } = ee();
|
|
163
|
+
return (m, d) => o(t) ? (_(), U(X, {
|
|
163
164
|
key: 0,
|
|
164
165
|
label: o(s)("core.identity.impersonation.return"),
|
|
165
166
|
icon: "logoutBoxRLine",
|
|
@@ -168,8 +169,8 @@ const Ke = { class: "min-w-0 flex-1" }, $e = { class: "hidden md:inline" }, Ue =
|
|
|
168
169
|
}, null, 8, ["label", "onClick"])) : I("", !0);
|
|
169
170
|
}
|
|
170
171
|
});
|
|
171
|
-
function
|
|
172
|
-
const { t: s } = E(), t = x(), n =
|
|
172
|
+
function Fe(e = {}) {
|
|
173
|
+
const { t: s } = E(), t = x(), n = Te(), m = C(), u = Se({
|
|
173
174
|
defaults: () => ({ login: e.login ?? "", password: "" }),
|
|
174
175
|
validator: {
|
|
175
176
|
safeParse(a) {
|
|
@@ -178,36 +179,36 @@ function Ge(e = {}) {
|
|
|
178
179
|
}
|
|
179
180
|
},
|
|
180
181
|
failureMessage(a, l) {
|
|
181
|
-
const c =
|
|
182
|
+
const c = Ce(l);
|
|
182
183
|
return c ? s("core.errors.identity.signin.locked", { locked_until: n.time(c) }) : P(l) ? m(l) : void 0;
|
|
183
184
|
}
|
|
184
|
-
}), r =
|
|
185
|
-
return { form: u, passwordError: r, submit: async () => (await u.submit((a) =>
|
|
185
|
+
}), r = y(() => u.errors.first("password") ?? (u.failure.value?.error ? u.failure.value.message : void 0));
|
|
186
|
+
return { form: u, passwordError: r, submit: async () => (await u.submit((a) => Oe(t, a))).status === "saved" };
|
|
186
187
|
}
|
|
187
|
-
const De = ["aria-labelledby"],
|
|
188
|
+
const De = ["aria-labelledby"], Ve = ["id"], Me = { class: "mt-1 text-subheadline text-content-muted" }, Be = { class: "flex items-center gap-2 rounded-control bg-status-success-surface px-2.5 py-2 text-footnote text-status-success-content" }, je = { class: "flex flex-col gap-1.5" }, We = { class: "text-footnote text-content-muted" }, Ye = {
|
|
188
189
|
class: "rounded-control bg-fill px-2.5 py-2 text-body text-content-muted",
|
|
189
190
|
"data-expiry-login": ""
|
|
190
|
-
},
|
|
191
|
+
}, He = /* @__PURE__ */ w({
|
|
191
192
|
__name: "SessionExpiry",
|
|
192
193
|
setup(e) {
|
|
193
|
-
const { t: s } = E(), { session: t } = x(), n =
|
|
194
|
-
const
|
|
194
|
+
const { t: s } = E(), { session: t } = x(), n = ye(), m = ge(), d = C(), u = we(), r = pe(), a = y(() => {
|
|
195
|
+
const v = t.state.value, S = v.status === "anonymous" && v.reason === "expired" ? v.previous?.user : void 0;
|
|
195
196
|
return typeof S?.login == "string" ? S.login : null;
|
|
196
|
-
}), l =
|
|
197
|
-
} }), { isOpen:
|
|
198
|
-
|
|
199
|
-
|
|
197
|
+
}), l = y(() => a.value !== null && n.meta.public !== !0), c = V(null), h = xe(c, { onEscape: () => {
|
|
198
|
+
} }), { isOpen: oe } = h, { form: L, passwordError: ie, submit: re } = Fe({ login: a.value ?? "" });
|
|
199
|
+
z(l, (v) => {
|
|
200
|
+
v ? (L.hydrate({ login: a.value ?? "", password: "" }), Ee(), k.dismiss(), h.present()) : h.dismissWithoutAsking();
|
|
200
201
|
}, { immediate: !0, flush: "post" });
|
|
201
|
-
async function
|
|
202
|
+
async function ae() {
|
|
202
203
|
if (!(m.hasUnsavedChanges() && !await m.confirm()))
|
|
203
204
|
try {
|
|
204
205
|
await t.signOut();
|
|
205
|
-
} catch (
|
|
206
|
-
$(
|
|
206
|
+
} catch (v) {
|
|
207
|
+
$(v) || k.error(d(v));
|
|
207
208
|
}
|
|
208
209
|
}
|
|
209
|
-
return (
|
|
210
|
-
o(
|
|
210
|
+
return (v, S) => (_(), U(de, { to: "body" }, [
|
|
211
|
+
o(oe) ? (_(), D("div", {
|
|
211
212
|
key: 0,
|
|
212
213
|
class: "relative z-10000",
|
|
213
214
|
role: "alertdialog",
|
|
@@ -232,51 +233,51 @@ const De = ["aria-labelledby"], Fe = ["id"], Ne = { class: "mt-1 text-subheadlin
|
|
|
232
233
|
p("h2", {
|
|
233
234
|
id: o(r),
|
|
234
235
|
class: "text-headline font-semibold text-content-strong"
|
|
235
|
-
}, f(o(s)("core.identity.expired.title")), 9,
|
|
236
|
-
p("p",
|
|
236
|
+
}, f(o(s)("core.identity.expired.title")), 9, Ve),
|
|
237
|
+
p("p", Me, f(o(s)("core.identity.expired.body")), 1)
|
|
237
238
|
]),
|
|
238
239
|
p("p", Be, [
|
|
239
|
-
|
|
240
|
+
g(o(J), {
|
|
240
241
|
name: "checkboxCircleFill",
|
|
241
242
|
size: 16,
|
|
242
243
|
class: "shrink-0"
|
|
243
244
|
}),
|
|
244
|
-
|
|
245
|
+
O(" " + f(o(s)("core.identity.expired.kept")), 1)
|
|
245
246
|
]),
|
|
246
|
-
|
|
247
|
+
g(o(_e), { onSubmit: o(re) }, {
|
|
247
248
|
default: T(() => [
|
|
248
|
-
p("div",
|
|
249
|
-
p("span",
|
|
250
|
-
p("span",
|
|
249
|
+
p("div", je, [
|
|
250
|
+
p("span", We, f(o(s)("core.identity.username")), 1),
|
|
251
|
+
p("span", Ye, f(a.value), 1)
|
|
251
252
|
]),
|
|
252
|
-
|
|
253
|
+
g(o(be), fe(o(L).bind("password"), {
|
|
253
254
|
label: o(s)("core.identity.signin.password"),
|
|
254
255
|
type: "password",
|
|
255
256
|
autocomplete: "current-password",
|
|
256
257
|
required: "",
|
|
257
|
-
error: o(
|
|
258
|
+
error: o(ie)
|
|
258
259
|
}), null, 16, ["label", "error"]),
|
|
259
|
-
|
|
260
|
+
g(o(G), {
|
|
260
261
|
type: "submit",
|
|
261
262
|
prominence: "primary",
|
|
262
263
|
class: "w-full",
|
|
263
|
-
processing: o(
|
|
264
|
+
processing: o(L).submitting.value
|
|
264
265
|
}, {
|
|
265
266
|
default: T(() => [
|
|
266
|
-
|
|
267
|
+
O(f(o(s)("core.identity.signin.submit")), 1)
|
|
267
268
|
]),
|
|
268
269
|
_: 1
|
|
269
270
|
}, 8, ["processing"])
|
|
270
271
|
]),
|
|
271
272
|
_: 1
|
|
272
273
|
}, 8, ["onSubmit"]),
|
|
273
|
-
|
|
274
|
+
g(o(G), {
|
|
274
275
|
prominence: "plain",
|
|
275
276
|
class: "self-center",
|
|
276
|
-
onClick:
|
|
277
|
+
onClick: ae
|
|
277
278
|
}, {
|
|
278
279
|
default: T(() => [
|
|
279
|
-
|
|
280
|
+
O(f(o(s)("core.identity.expired.sign_out")), 1)
|
|
280
281
|
]),
|
|
281
282
|
_: 1
|
|
282
283
|
})
|
|
@@ -285,48 +286,48 @@ const De = ["aria-labelledby"], Fe = ["id"], Ne = { class: "mt-1 text-subheadlin
|
|
|
285
286
|
], 8, De)) : I("", !0)
|
|
286
287
|
]));
|
|
287
288
|
}
|
|
288
|
-
}),
|
|
289
|
-
login: { name: "login", path: "/login", component: () => import("./SignInPage-
|
|
289
|
+
}), Je = K({
|
|
290
|
+
login: { name: "login", path: "/login", component: () => import("./SignInPage-Ts-iTaC1.js"), meta: { public: !0, titleKey: "core.identity.signin.title" } }
|
|
290
291
|
});
|
|
291
|
-
function
|
|
292
|
-
return
|
|
292
|
+
function $s(e = {}) {
|
|
293
|
+
return N({
|
|
293
294
|
id: "identity",
|
|
294
|
-
routes:
|
|
295
|
-
context:
|
|
295
|
+
routes: Je.records,
|
|
296
|
+
context: F(Pe, { home: e.home ?? "/" }),
|
|
296
297
|
holdsExpiredSession: !0,
|
|
297
298
|
contributions: [
|
|
298
299
|
// Not optional: a shell without a `host` could not ask for the password, and the person would be stuck on a dead page.
|
|
299
|
-
{ id: "identity.expiry", slot: "host", component:
|
|
300
|
+
{ id: "identity.expiry", slot: "host", component: He, scope: "always" },
|
|
300
301
|
// Not optional either: acting as somebody else must always be visible.
|
|
301
|
-
{ id: "identity.impersonation", slot: "banner", component:
|
|
302
|
+
{ id: "identity.impersonation", slot: "banner", component: Ge, scope: "authenticated" },
|
|
302
303
|
// The same way out in the account menu (a shell without that slot shows only the banner's button).
|
|
303
|
-
{ id: "identity.return", slot: "accountMenu", component:
|
|
304
|
-
{ id: "identity.locale", slot: "host", component:
|
|
304
|
+
{ id: "identity.return", slot: "accountMenu", component: Ne, scope: "authenticated", optional: !0, order: -20 },
|
|
305
|
+
{ id: "identity.locale", slot: "host", component: Ue, scope: "authenticated", optional: !0 }
|
|
305
306
|
],
|
|
306
|
-
effects: [
|
|
307
|
+
effects: [ce()]
|
|
307
308
|
});
|
|
308
309
|
}
|
|
309
|
-
const
|
|
310
|
-
if (!
|
|
310
|
+
const Qe = (e) => typeof e == "object" && e !== null && !Array.isArray(e), Xe = (e) => {
|
|
311
|
+
if (!Qe(e)) throw new TypeError("expected an object");
|
|
311
312
|
if (typeof e.id != "number") throw new TypeError("id: expected a number");
|
|
312
313
|
for (const s of ["login", "name", "email", "locale"])
|
|
313
314
|
if (typeof e[s] != "string") throw new TypeError(`${s}: expected a string`);
|
|
314
315
|
return { id: e.id, login: e.login, name: e.name, email: e.email, locale: e.locale };
|
|
315
|
-
},
|
|
316
|
-
function
|
|
316
|
+
}, q = (e) => P(e) && e.kind === "unauthorized", se = (e, s) => e.request(b.refresh, { refresh_token: "" }, { signal: s, handleUnauthorized: !1 });
|
|
317
|
+
function Ze(e, s) {
|
|
317
318
|
return {
|
|
318
319
|
async load(t) {
|
|
319
320
|
try {
|
|
320
321
|
const { data: n } = await e.request(b.me, void 0, { signal: t, handleUnauthorized: !1 });
|
|
321
|
-
return
|
|
322
|
+
return j(n, s);
|
|
322
323
|
} catch (n) {
|
|
323
|
-
if (!
|
|
324
|
+
if (!q(n)) throw n;
|
|
324
325
|
}
|
|
325
326
|
try {
|
|
326
|
-
const { data: n } = await
|
|
327
|
-
return
|
|
327
|
+
const { data: n } = await se(e, t);
|
|
328
|
+
return j(n, s);
|
|
328
329
|
} catch (n) {
|
|
329
|
-
if (
|
|
330
|
+
if (q(n)) return null;
|
|
330
331
|
throw n;
|
|
331
332
|
}
|
|
332
333
|
},
|
|
@@ -334,82 +335,82 @@ function Qe(e, s) {
|
|
|
334
335
|
try {
|
|
335
336
|
await e.request(b.logout, void 0, { handleUnauthorized: !1 });
|
|
336
337
|
} catch (t) {
|
|
337
|
-
if (!
|
|
338
|
+
if (!q(t)) throw t;
|
|
338
339
|
}
|
|
339
340
|
}
|
|
340
341
|
};
|
|
341
342
|
}
|
|
342
|
-
function
|
|
343
|
-
const s = e?.parseUser ??
|
|
343
|
+
function Ls(e) {
|
|
344
|
+
const s = e?.parseUser ?? Xe;
|
|
344
345
|
return {
|
|
345
|
-
session: (n) =>
|
|
346
|
+
session: (n) => Ze(n, s),
|
|
346
347
|
...e?.renewable && { renewable: e.renewable },
|
|
347
348
|
async renewSession(n, m) {
|
|
348
349
|
try {
|
|
349
|
-
return await
|
|
350
|
+
return await se(m), (await n.refresh()).status === "authenticated";
|
|
350
351
|
} catch {
|
|
351
352
|
return !1;
|
|
352
353
|
}
|
|
353
354
|
}
|
|
354
355
|
};
|
|
355
356
|
}
|
|
356
|
-
const
|
|
357
|
-
index: { name: "profile", path: "/profile", component: () => import("./ProfilePage-
|
|
358
|
-
}),
|
|
357
|
+
const te = K({
|
|
358
|
+
index: { name: "profile", path: "/profile", component: () => import("./ProfilePage-CJIztbx3.js"), meta: { titleKey: "core.profile.title" } }
|
|
359
|
+
}), es = /* @__PURE__ */ w({
|
|
359
360
|
__name: "ProfileMenuItem",
|
|
360
361
|
setup(e) {
|
|
361
362
|
const { t: s } = E();
|
|
362
|
-
return (t, n) => (_(),
|
|
363
|
+
return (t, n) => (_(), U(X, {
|
|
363
364
|
label: o(s)("core.profile.menu"),
|
|
364
365
|
icon: "user3Line",
|
|
365
|
-
to: o(
|
|
366
|
+
to: o(te).index,
|
|
366
367
|
"data-profile-menu-item": ""
|
|
367
368
|
}, null, 8, ["label", "to"]));
|
|
368
369
|
}
|
|
369
|
-
}), [
|
|
370
|
-
function
|
|
370
|
+
}), [ss, qs] = A("vue-core.users"), ts = Symbol("vue-core.users.person"), [zs, Gs] = A("vue-core.users.personActions"), [Ns, Fs] = A("vue-core.users.personSessions");
|
|
371
|
+
function ns(e) {
|
|
371
372
|
const s = w({
|
|
372
373
|
name: `PersonSection(${e.path})`,
|
|
373
374
|
setup() {
|
|
374
|
-
const t =
|
|
375
|
-
return () => t.data.value ?
|
|
375
|
+
const t = ke(ts);
|
|
376
|
+
return () => t.data.value ? he(e.component, e.props?.(t.data.value) ?? {}) : null;
|
|
376
377
|
}
|
|
377
378
|
});
|
|
378
379
|
return { name: `users.record.${e.path}`, path: e.path, component: s, meta: { ...e.meta } };
|
|
379
380
|
}
|
|
380
|
-
const
|
|
381
|
-
index: { name: "users.index", path: "/users", component: () => import("./UsersList-
|
|
381
|
+
const W = "iam.user:view", Ds = "iam.user:manage", os = "iam.user.activity:view", ne = K({
|
|
382
|
+
index: { name: "users.index", path: "/users", component: () => import("./UsersList-Due2ZkbO.js"), meta: { access: W, titleKey: "core.users.title" } },
|
|
382
383
|
record: {
|
|
383
384
|
name: "users.record",
|
|
384
385
|
path: "/users/:id",
|
|
385
|
-
component: () => import("./UserRecord-
|
|
386
|
-
meta: { access:
|
|
386
|
+
component: () => import("./UserRecord-DgK9FsvV.js"),
|
|
387
|
+
meta: { access: W, titleKey: "core.users.title", remountOnParam: "id" },
|
|
387
388
|
children: [
|
|
388
|
-
{ name: "users.record.general", path: "general", component: () => import("./General-
|
|
389
|
-
{ name: "users.record.signin", path: "signin", component: () => import("./SignIn-
|
|
390
|
-
{ name: "users.record.sessions", path: "sessions", component: () => import("./Sessions-
|
|
391
|
-
{ name: "users.record.signins", path: "signins", component: () => import("./SignIns-
|
|
392
|
-
{ name: "users.record.changes", path: "changes", component: () => import("./Changes-
|
|
393
|
-
{ name: "users.record.activity", path: "activity", component: () => import("./Activity-
|
|
389
|
+
{ name: "users.record.general", path: "general", component: () => import("./General-Dsh0TJ5w.js"), meta: { section: { labelKey: "core.users.sections.general", icon: "user3Line", groupKey: "core.users.section_groups.person" } } },
|
|
390
|
+
{ name: "users.record.signin", path: "signin", component: () => import("./SignIn-DB5LRNlB.js"), meta: { section: { labelKey: "core.users.sections.signin", icon: "key2Line", groupKey: "core.users.section_groups.access" } } },
|
|
391
|
+
{ name: "users.record.sessions", path: "sessions", component: () => import("./Sessions-Bg4Zk9Gf.js"), meta: { section: { labelKey: "core.users.sections.sessions", icon: "deviceLine", groupKey: "core.users.section_groups.access" } } },
|
|
392
|
+
{ name: "users.record.signins", path: "signins", component: () => import("./SignIns-bCvvmCHF.js"), meta: { section: { labelKey: "core.users.sections.signins", icon: "timeFill", groupKey: "core.users.section_groups.activity" } } },
|
|
393
|
+
{ name: "users.record.changes", path: "changes", component: () => import("./Changes-BCaVkeZg.js"), meta: { section: { labelKey: "core.users.sections.changes", icon: "edit", groupKey: "core.users.section_groups.activity" } } },
|
|
394
|
+
{ name: "users.record.activity", path: "activity", component: () => import("./Activity-CW2TOQAY.js"), meta: { access: os, section: { labelKey: "core.users.sections.activity", icon: "listCheck", groupKey: "core.users.section_groups.activity" } } }
|
|
394
395
|
]
|
|
395
396
|
}
|
|
396
397
|
});
|
|
397
|
-
function
|
|
398
|
-
return
|
|
398
|
+
function is(e) {
|
|
399
|
+
return ne.records.map((s) => s.name === "users.record" ? { ...s, children: [...s.children ?? [], ...e.map(ns)] } : s);
|
|
399
400
|
}
|
|
400
|
-
function
|
|
401
|
+
function Vs(e = {}) {
|
|
401
402
|
const s = e.people ?? !0, t = e.profile ?? !0, n = e.signInAs ?? "iam.user:impersonate";
|
|
402
|
-
return
|
|
403
|
+
return N({
|
|
403
404
|
id: "users",
|
|
404
|
-
routes: [...s ?
|
|
405
|
-
context:
|
|
406
|
-
navigation: s && e.destination ? [{ destination: e.destination, to:
|
|
405
|
+
routes: [...s ? is(e.sections ?? []) : [], ...t ? te.records : []],
|
|
406
|
+
context: F(ss, { signInAs: n, activityAreas: e.activityAreas ?? {}, profileSections: e.profileSections ?? [] }),
|
|
407
|
+
navigation: s && e.destination ? [{ destination: e.destination, to: ne.index, within: ["users.record"] }] : [],
|
|
407
408
|
// The entry of the account menu; a shell without that menu leaves it out.
|
|
408
|
-
contributions: t ? [{ id: "users.profile", slot: "accountMenu", component:
|
|
409
|
+
contributions: t ? [{ id: "users.profile", slot: "accountMenu", component: es, scope: "authenticated", optional: !0, order: -10 }] : [],
|
|
409
410
|
requires: s && n !== !1 ? ["identity"] : []
|
|
410
411
|
});
|
|
411
412
|
}
|
|
412
|
-
const
|
|
413
|
+
const Ms = /* @__PURE__ */ w({
|
|
413
414
|
__name: "SignInAsButton",
|
|
414
415
|
props: {
|
|
415
416
|
userId: {},
|
|
@@ -417,32 +418,32 @@ const Ds = /* @__PURE__ */ w({
|
|
|
417
418
|
permission: {}
|
|
418
419
|
},
|
|
419
420
|
setup(e) {
|
|
420
|
-
const s = e, { t } = E(), n = x(), m =
|
|
421
|
-
const c =
|
|
421
|
+
const s = e, { t } = E(), n = x(), m = Q(), { home: d } = Z(), u = C(), r = V(!1), a = y(() => {
|
|
422
|
+
const c = R(n.session.state.value);
|
|
422
423
|
return c !== null && c.impersonator === void 0 && c.user.id !== s.userId;
|
|
423
424
|
});
|
|
424
425
|
async function l() {
|
|
425
426
|
r.value = !0;
|
|
426
427
|
try {
|
|
427
|
-
await
|
|
428
|
+
await Re(n, s.userId), await m.push(d);
|
|
428
429
|
} catch (c) {
|
|
429
430
|
$(c) || k.error(u(c, { fallback: t("core.identity.impersonation.sign_in_as_failed", { name: s.name }) }));
|
|
430
431
|
} finally {
|
|
431
432
|
r.value = !1;
|
|
432
433
|
}
|
|
433
434
|
}
|
|
434
|
-
return (c, h) => a.value ? (_(),
|
|
435
|
+
return (c, h) => a.value ? (_(), U(o(Ae), {
|
|
435
436
|
key: 0,
|
|
436
437
|
permission: s.permission
|
|
437
438
|
}, {
|
|
438
439
|
default: T(() => [
|
|
439
|
-
|
|
440
|
+
g(o(G), {
|
|
440
441
|
processing: r.value,
|
|
441
442
|
"data-sign-in-as": "",
|
|
442
443
|
onClick: l
|
|
443
444
|
}, {
|
|
444
445
|
default: T(() => [
|
|
445
|
-
|
|
446
|
+
O(f(o(t)("core.identity.impersonation.sign_in_as", { name: s.name })), 1)
|
|
446
447
|
]),
|
|
447
448
|
_: 1
|
|
448
449
|
}, 8, ["processing"])
|
|
@@ -450,29 +451,51 @@ const Ds = /* @__PURE__ */ w({
|
|
|
450
451
|
_: 1
|
|
451
452
|
}, 8, ["permission"])) : I("", !0);
|
|
452
453
|
}
|
|
454
|
+
}), [rs, Bs] = A("vue-core.serviceaccounts"), Y = "iam.serviceaccount:view", js = "iam.serviceaccount:manage", Ws = "iam.serviceaccount:revoke", H = K({
|
|
455
|
+
index: { name: "serviceaccounts.index", path: "/iam/service-accounts", component: () => import("./ServiceAccountsList-CaXEp73j.js"), meta: { access: Y, titleKey: "core.serviceaccounts.title_plural" } },
|
|
456
|
+
record: {
|
|
457
|
+
name: "serviceaccounts.record",
|
|
458
|
+
path: "/iam/service-accounts/:id",
|
|
459
|
+
component: () => import("./ServiceAccountRecord-Ct3TrSqZ.js"),
|
|
460
|
+
meta: { access: Y, titleKey: "core.serviceaccounts.title_plural", remountOnParam: "id" }
|
|
461
|
+
}
|
|
453
462
|
});
|
|
463
|
+
function Ys(e = {}) {
|
|
464
|
+
return N({
|
|
465
|
+
id: "serviceaccounts",
|
|
466
|
+
routes: H.records,
|
|
467
|
+
context: F(rs, { tenants: e.tenants ?? null }),
|
|
468
|
+
navigation: e.destination ? [{ destination: e.destination, to: H.index, within: ["serviceaccounts.record"] }] : [],
|
|
469
|
+
requires: ["access"]
|
|
470
|
+
});
|
|
471
|
+
}
|
|
454
472
|
export {
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
473
|
+
js as M,
|
|
474
|
+
ts as P,
|
|
475
|
+
Ws as R,
|
|
476
|
+
Ms as _,
|
|
477
|
+
Fe as a,
|
|
478
|
+
Gs as b,
|
|
479
|
+
qs as c,
|
|
461
480
|
$ as d,
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
481
|
+
Fs as e,
|
|
482
|
+
Bs as f,
|
|
483
|
+
ne as g,
|
|
484
|
+
Ds as h,
|
|
466
485
|
b as i,
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
486
|
+
zs as j,
|
|
487
|
+
$s as k,
|
|
488
|
+
Ls as l,
|
|
489
|
+
Ze as m,
|
|
490
|
+
Ce as n,
|
|
491
|
+
Xe as o,
|
|
492
|
+
Ns as p,
|
|
493
|
+
te as q,
|
|
494
|
+
Ke as r,
|
|
495
|
+
H as s,
|
|
496
|
+
Ys as t,
|
|
497
|
+
Z as u,
|
|
498
|
+
Oe as v,
|
|
499
|
+
Re as w,
|
|
500
|
+
Vs as x
|
|
478
501
|
};
|