@feedmepos/mf-hrm-portal 2.2.5-dev → 2.2.5-dev.10
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/{ApprovalCodeList-DgcWZ3SZ.js → ApprovalCodeList-BsDMMSIz.js} +4 -4
- package/dist/{AuditLogList-vWKMMGvd.js → AuditLogList-CGNZdtmn.js} +18 -17
- package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-DuhXogXK.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-C6MoToqi.js} +2 -2
- package/dist/EmployeeList-B_OuDWWQ.js +787 -0
- package/dist/{FormItem.vue_vue_type_script_setup_true_lang-DPT2FoIc.js → FormItem.vue_vue_type_script_setup_true_lang-CUnlKsxk.js} +1 -1
- package/dist/{GrantUserList-BAW0C1bA.js → GrantUserList-Bd0lXmFo.js} +5 -5
- package/dist/{Main-NzpdRNB3.js → Main-B66lSeOv.js} +5 -5
- package/dist/{Main-Wr6cTqfM.js → Main-CzHSNHsH.js} +2 -2
- package/dist/{Main-B7Nn8CLQ.js → Main-njRQ1tFk.js} +9 -9
- package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-CqG0v0Sz.js +243 -0
- package/dist/{PermissionSetList-D6AFOleD.js → PermissionSetList-GTI6Cwj5.js} +18 -18
- package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Bzq2_BMn.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-C-QEQ-js.js} +1052 -1052
- package/dist/{RoleList-BuqpmXn_.js → RoleList-CmHgtM0m.js} +7 -7
- package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-SFqxftRx.js +426 -0
- package/dist/ScheduleButton.vue_vue_type_script_setup_true_lang-CrWfo-zF.js +690 -0
- package/dist/ScheduleGeneralPage-DxFxJN5j.js +320 -0
- package/dist/SchedulePage-cJDI3-E7.js +14647 -0
- package/dist/SchedulePositionPage-n1wUShIM.js +293 -0
- package/dist/ScheduleSelect.vue_vue_type_script_setup_true_lang-B8W4sTsA.js +242 -0
- package/dist/SelectFilter-CG13h83-.js +264 -0
- package/dist/TeamMemberList-ByZt3VqN.js +1154 -0
- package/dist/{TimesheetList-B5FyVyCz.js → TimesheetList-Dv0-W--W.js} +54 -53
- package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-C99Jr6Ax.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-DIo6h5-a.js} +2 -2
- package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
- package/dist/{app-8samJY5z.js → app-SCXGJ95F.js} +3146 -2553
- package/dist/app.js +1 -1
- package/dist/{dayjs.min-Ba4X_9nY.js → dayjs.min-DqMLPYv-.js} +1 -1
- package/dist/{employee-BcFgm8Rt.js → employee-DT_xYQkz.js} +3 -3
- package/dist/{iteration-Dhdew1jW.js → iteration-B5dB9ecy.js} +1 -1
- package/dist/{lodash-CJ3mHku0.js → lodash-CRHFapxI.js} +1 -1
- package/dist/{role-BViYS7RK.js → role-CJm8pXaw.js} +1 -1
- package/dist/{rule-Dxt1ZSQS.js → rule-AJm-eVzJ.js} +276 -272
- package/dist/src/api/schedule/index.d.ts +41 -0
- package/dist/src/components/form/OutletRoleAssignment.vue.d.ts +16 -0
- package/dist/src/components/layout/AppSidebar.vue.d.ts +2 -0
- package/dist/src/components/layout/PortalShell.vue.d.ts +12 -0
- package/dist/src/components/layout/withShell.d.ts +14 -0
- package/dist/src/helpers/outlet-role-assignment.d.ts +40 -0
- package/dist/src/helpers/rule.d.ts +15 -0
- package/dist/src/router/shared.d.ts +4 -1
- package/dist/src/types/schedule.d.ts +232 -0
- package/dist/src/views/scheduling/ScheduleGeneralPage.vue.d.ts +3 -0
- package/dist/src/views/scheduling/SchedulePage.vue.d.ts +3 -0
- package/dist/src/views/scheduling/SchedulePositionPage.vue.d.ts +3 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeeIdentitySection.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeeModal.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeeModeStep.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeePosAccessSection.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeePositionsSection.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeeSchedulingSection.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddPickPopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddPositionModal.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAllShiftsRow.vue.d.ts +22 -0
- package/dist/src/views/scheduling/components/ScheduleAreaRows.vue.d.ts +34 -0
- package/dist/src/views/scheduling/components/ScheduleAssignEmployeePopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAutoScheduleModal.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleButton.vue.d.ts +23 -0
- package/dist/src/views/scheduling/components/ScheduleChangeEmployeeModal.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleConfirmModal.vue.d.ts +24 -0
- package/dist/src/views/scheduling/components/ScheduleCostRail.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleDateRangePopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleDayNotePopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleDayTimeline.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleDemandRow.vue.d.ts +23 -0
- package/dist/src/views/scheduling/components/ScheduleDemandSheet.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleDotsIcon.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleEmployeeDetailPanel.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleEmployeeIdentity.vue.d.ts +17 -0
- package/dist/src/views/scheduling/components/ScheduleEmployeeMenu.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleFilterBar.vue.d.ts +18 -0
- package/dist/src/views/scheduling/components/ScheduleGapPopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleGridHeader.vue.d.ts +18 -0
- package/dist/src/views/scheduling/components/ScheduleGridSkeleton.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleLeaveEditModal.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleLegendBar.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingWelcome.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingWizard.vue.d.ts +9 -0
- package/dist/src/views/scheduling/components/ScheduleOpenShiftCardMenu.vue.d.ts +14 -0
- package/dist/src/views/scheduling/components/SchedulePdfPreview.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/SchedulePublishModal.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleReviewBar.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleSelect.vue.d.ts +54 -0
- package/dist/src/views/scheduling/components/ScheduleSelectExistingEmployeeModal.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleShiftCardMenu.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleShiftCell.vue.d.ts +35 -0
- package/dist/src/views/scheduling/components/ScheduleShiftHeadcountEditor.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleShiftImpact.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleShiftMoreOptions.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleShiftPopover.vue.d.ts +16 -0
- package/dist/src/views/scheduling/components/ScheduleShiftRepeatDaysRow.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleShiftSegmentsEditor.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleShiftWhoPicker.vue.d.ts +25 -0
- package/dist/src/views/scheduling/components/ScheduleStackPopover.vue.d.ts +14 -0
- package/dist/src/views/scheduling/components/ScheduleStaffRail.vue.d.ts +18 -0
- package/dist/src/views/scheduling/components/ScheduleStaffRows.vue.d.ts +60 -0
- package/dist/src/views/scheduling/components/ScheduleStatsRow.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleSwapShiftsModal.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleTimePickerPopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleTopbar.vue.d.ts +20 -0
- package/dist/src/views/scheduling/composables/schedule-add-employee-form.d.ts +72 -0
- package/dist/src/views/scheduling/composables/schedule-board-helpers.d.ts +38 -0
- package/dist/src/views/scheduling/composables/schedule-day-meta.d.ts +29 -0
- package/dist/src/views/scheduling/composables/schedule-employee-profile.d.ts +7 -0
- package/dist/src/views/scheduling/composables/schedule-popover-position.d.ts +16 -0
- package/dist/src/views/scheduling/composables/schedule-shift-time.d.ts +14 -0
- package/dist/src/views/scheduling/composables/schedule-week-cache.d.ts +10 -0
- package/dist/src/views/scheduling/composables/scheduleAutoSolver.d.ts +21 -0
- package/dist/src/views/scheduling/composables/useCollapsedList.d.ts +9 -0
- package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +98 -0
- package/dist/src/views/scheduling/composables/useScheduleAddPick.d.ts +73 -0
- package/dist/src/views/scheduling/composables/useScheduleAllShiftsRow.d.ts +77 -0
- package/dist/src/views/scheduling/composables/useScheduleAreaBoard.d.ts +50 -0
- package/dist/src/views/scheduling/composables/useScheduleAreaDragDrop.d.ts +18 -0
- package/dist/src/views/scheduling/composables/useScheduleAssign.d.ts +122 -0
- package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +143 -0
- package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +426 -0
- package/dist/src/views/scheduling/composables/useScheduleCellState.d.ts +27 -0
- package/dist/src/views/scheduling/composables/useScheduleClashDetection.d.ts +18 -0
- package/dist/src/views/scheduling/composables/useScheduleCopyWeek.d.ts +19 -0
- package/dist/src/views/scheduling/composables/useScheduleCostRail.d.ts +43 -0
- package/dist/src/views/scheduling/composables/useScheduleDayNote.d.ts +48 -0
- package/dist/src/views/scheduling/composables/useScheduleDayTimeline.d.ts +77 -0
- package/dist/src/views/scheduling/composables/useScheduleDemand.d.ts +76 -0
- package/dist/src/views/scheduling/composables/useScheduleDemandRow.d.ts +45 -0
- package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +145 -0
- package/dist/src/views/scheduling/composables/useScheduleDragDrop.d.ts +22 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeIdentity.d.ts +41 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeMenu.d.ts +35 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeProfile.d.ts +16 -0
- package/dist/src/views/scheduling/composables/useScheduleExport.d.ts +26 -0
- package/dist/src/views/scheduling/composables/useScheduleFilterBar.d.ts +14 -0
- package/dist/src/views/scheduling/composables/useScheduleGapPopover.d.ts +82 -0
- package/dist/src/views/scheduling/composables/useScheduleLeave.d.ts +70 -0
- package/dist/src/views/scheduling/composables/useScheduleLegend.d.ts +15 -0
- package/dist/src/views/scheduling/composables/useScheduleLegendBar.d.ts +35 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +1316 -0
- package/dist/src/views/scheduling/composables/useScheduleOpenShiftCard.d.ts +23 -0
- package/dist/src/views/scheduling/composables/useScheduleOutlet.d.ts +20 -0
- package/dist/src/views/scheduling/composables/useSchedulePositionModal.d.ts +50 -0
- package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +32 -0
- package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +93 -0
- package/dist/src/views/scheduling/composables/useScheduleRangeCalendar.d.ts +27 -0
- package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +189 -0
- package/dist/src/views/scheduling/composables/useScheduleSettings.d.ts +54 -0
- package/dist/src/views/scheduling/composables/useScheduleSetupBanner.d.ts +18 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +163 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +181 -0
- package/dist/src/views/scheduling/composables/useScheduleStaffRail.d.ts +23 -0
- package/dist/src/views/scheduling/composables/useScheduleStatsRow.d.ts +25 -0
- package/dist/src/views/scheduling/composables/useScheduleTimePicker.d.ts +49 -0
- package/dist/src/views/scheduling/composables/useScheduleTopbar.d.ts +10 -0
- package/dist/src/views/scheduling/composables/useScheduleViewportFit.d.ts +9 -0
- package/dist/src/views/scheduling/data.d.ts +110 -0
- package/dist/src/views/scheduling/locales/index.d.ts +496 -0
- package/dist/src/views/scheduling/schedule-store.d.ts +151 -0
- package/dist/src/views/scheduling/types.d.ts +324 -0
- package/dist/src/views/team/components/PortalConditionForm.vue.d.ts +2 -2
- package/dist/src/views/team/condition-builders/ConditionBuilderForm.vue.d.ts +2 -2
- package/dist/src/views/team/member/TeamMemberMasterUser.vue.d.ts +12 -3
- package/dist/style.css +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{useReportPermissions-BiyAfGvZ.js → useReportPermissions-Cg3lV70m.js} +3 -3
- package/package.json +1 -1
- package/dist/EmployeeList-Cu4RxVQX.js +0 -889
- package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-BUI0Xsgc.js +0 -85
- package/dist/SelectFilter-ATOm0hdn.js +0 -269
- package/dist/TeamMemberList-M6HA9BWu.js +0 -1248
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { s as W, c as
|
|
2
|
-
import {
|
|
3
|
-
import { s as
|
|
4
|
-
import { g, b, q as x, u as te } from "./restaurant-BTpBmfBV.js";
|
|
1
|
+
import { s as W, c as q, e as y } from "./iteration-B5dB9ecy.js";
|
|
2
|
+
import { e as O, b as V, c as _, v as F, n as h, O as ee, D as M } from "./app-SCXGJ95F.js";
|
|
3
|
+
import { s as se } from "./utils-BZkjJbju.js";
|
|
4
|
+
import { g, b as v, q as x, u as te } from "./restaurant-BTpBmfBV.js";
|
|
5
5
|
import { defineStore as z, storeToRefs as K } from "pinia";
|
|
6
6
|
import { ref as S, computed as T } from "vue";
|
|
7
7
|
import { useCoreStore as X } from "@feedmepos/mf-common";
|
|
8
8
|
const E = "/permission-sets", N = {
|
|
9
9
|
async read() {
|
|
10
|
-
return g(await
|
|
10
|
+
return g(await v().get(E));
|
|
11
11
|
},
|
|
12
12
|
async create(e) {
|
|
13
|
-
return g(await
|
|
13
|
+
return g(await v().post(E, e));
|
|
14
14
|
},
|
|
15
|
-
async update(e,
|
|
16
|
-
return g(await
|
|
15
|
+
async update(e, s) {
|
|
16
|
+
return g(await v().put(`${E}/${e}`, s));
|
|
17
17
|
},
|
|
18
18
|
async delete(e) {
|
|
19
|
-
return g(await
|
|
19
|
+
return g(await v().delete(`${E}/${e}`));
|
|
20
20
|
}
|
|
21
|
-
},
|
|
22
|
-
const { currentBusiness: e } = X(),
|
|
21
|
+
}, ne = z("permissionSet", () => {
|
|
22
|
+
const { currentBusiness: e } = X(), s = S([]), r = S(!1), n = S(null);
|
|
23
23
|
async function i() {
|
|
24
24
|
var l;
|
|
25
25
|
const c = ((l = e.value) == null ? void 0 : l._id) ?? null;
|
|
@@ -27,35 +27,35 @@ const E = "/permission-sets", N = {
|
|
|
27
27
|
try {
|
|
28
28
|
r.value = !0;
|
|
29
29
|
const d = await N.read();
|
|
30
|
-
|
|
30
|
+
s.value = u(d), n.value = c;
|
|
31
31
|
} finally {
|
|
32
32
|
r.value = !1;
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
async function
|
|
35
|
+
async function t(c) {
|
|
36
36
|
const l = await N.create(c);
|
|
37
|
-
|
|
37
|
+
s.value = u([...s.value, l]);
|
|
38
38
|
}
|
|
39
39
|
async function a(c, l) {
|
|
40
40
|
const d = await N.update(c, l);
|
|
41
|
-
|
|
41
|
+
s.value = u(s.value.map((f) => f.id === c ? d : f));
|
|
42
42
|
}
|
|
43
43
|
async function o(c) {
|
|
44
|
-
await N.delete(c),
|
|
44
|
+
await N.delete(c), s.value = u(s.value.filter((l) => l.id !== c));
|
|
45
45
|
}
|
|
46
46
|
function u(c) {
|
|
47
47
|
return c.sort((l, d) => l.name.localeCompare(d.name));
|
|
48
48
|
}
|
|
49
49
|
return {
|
|
50
|
-
permissionSets:
|
|
50
|
+
permissionSets: s,
|
|
51
51
|
isLoading: r,
|
|
52
52
|
readPermissionSets: i,
|
|
53
|
-
createPermissionSet:
|
|
53
|
+
createPermissionSet: t,
|
|
54
54
|
updatePermissionSet: a,
|
|
55
55
|
deletePermissionSet: o
|
|
56
56
|
};
|
|
57
|
-
}),
|
|
58
|
-
const e =
|
|
57
|
+
}), re = () => {
|
|
58
|
+
const e = ne();
|
|
59
59
|
return {
|
|
60
60
|
...e,
|
|
61
61
|
...K(e)
|
|
@@ -77,60 +77,60 @@ function D(e) {
|
|
|
77
77
|
}
|
|
78
78
|
function j(e) {
|
|
79
79
|
return e ? Object.values(e).every(
|
|
80
|
-
(
|
|
80
|
+
(s) => s !== null && typeof s == "object" && !Array.isArray(s) && Object.keys(s).length === 1 && Array.isArray(s.$in)
|
|
81
81
|
) : !0;
|
|
82
82
|
}
|
|
83
83
|
function Q(e) {
|
|
84
|
-
const
|
|
84
|
+
const s = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), n = (i, t, a) => {
|
|
85
85
|
var o, u;
|
|
86
|
-
const c = D(
|
|
87
|
-
let l = `${
|
|
86
|
+
const c = D(t.conditions);
|
|
87
|
+
let l = `${t.subject}::${JSON.stringify([...t.actions].sort())}`;
|
|
88
88
|
j(c) || (l += `::${JSON.stringify(c)}`);
|
|
89
89
|
const d = i.get(l);
|
|
90
90
|
if (!d) {
|
|
91
|
-
i.set(l, { ...
|
|
91
|
+
i.set(l, { ...t, setNames: [a.name], setId: a._id });
|
|
92
92
|
return;
|
|
93
93
|
}
|
|
94
94
|
d.setNames.push(a.name);
|
|
95
|
-
const
|
|
96
|
-
if (!
|
|
95
|
+
const f = D(d.conditions);
|
|
96
|
+
if (!f || !c) {
|
|
97
97
|
d.conditions = void 0;
|
|
98
98
|
return;
|
|
99
99
|
}
|
|
100
|
-
for (const
|
|
101
|
-
(o = m
|
|
102
|
-
/* @__PURE__ */ new Set([...m
|
|
103
|
-
) : m
|
|
104
|
-
d.conditions = JSON.stringify(
|
|
100
|
+
for (const m in c)
|
|
101
|
+
(o = f[m]) != null && o.$in && (u = c[m]) != null && u.$in ? f[m].$in = Array.from(
|
|
102
|
+
/* @__PURE__ */ new Set([...f[m].$in, ...c[m].$in])
|
|
103
|
+
) : f[m] || (f[m] = c[m]);
|
|
104
|
+
d.conditions = JSON.stringify(f);
|
|
105
105
|
};
|
|
106
106
|
for (const i of e)
|
|
107
|
-
for (const
|
|
108
|
-
n(
|
|
109
|
-
return [...Array.from(
|
|
107
|
+
for (const t of i.permissions)
|
|
108
|
+
n(t.inverted ? r : s, t, i);
|
|
109
|
+
return [...Array.from(s.values()), ...Array.from(r.values())];
|
|
110
110
|
}
|
|
111
|
-
function B(e,
|
|
112
|
-
return `${e}::${[...
|
|
111
|
+
function B(e, s) {
|
|
112
|
+
return `${e}::${[...s].sort().join(",")}`;
|
|
113
113
|
}
|
|
114
|
-
function G(e,
|
|
115
|
-
const r = [...e], n = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set(),
|
|
114
|
+
function G(e, s) {
|
|
115
|
+
const r = [...e], n = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set(), t = /* @__PURE__ */ new Set();
|
|
116
116
|
for (const o of e) {
|
|
117
117
|
const u = O(o.subject);
|
|
118
|
-
n.add(B(u, o.actions)), o.inverted && o.actions.includes("manage") && i.add(`set_${u}`), !o.inverted && o.actions.includes("manage") &&
|
|
118
|
+
n.add(B(u, o.actions)), o.inverted && o.actions.includes("manage") && i.add(`set_${u}`), !o.inverted && o.actions.includes("manage") && t.add(u);
|
|
119
119
|
}
|
|
120
120
|
const a = [...e];
|
|
121
121
|
for (; a.length > 0; ) {
|
|
122
|
-
const o = a.shift(), u = `set_${O(o.subject)}`, c =
|
|
122
|
+
const o = a.shift(), u = `set_${O(o.subject)}`, c = s[u];
|
|
123
123
|
if (!c || i.has(u) || !o.actions.includes("manage") || o.inverted) continue;
|
|
124
124
|
i.add(u);
|
|
125
|
-
const l =
|
|
125
|
+
const l = ie(o);
|
|
126
126
|
o.source && !o.source.trace && (o.source = { ...o.source, trace: l });
|
|
127
127
|
const d = [...l, `${c.name} (system)`];
|
|
128
|
-
for (const
|
|
129
|
-
const
|
|
130
|
-
n.has(p) ||
|
|
131
|
-
...
|
|
128
|
+
for (const f of c.permissions ?? []) {
|
|
129
|
+
const m = O(f.subject), p = B(m, f.actions);
|
|
130
|
+
n.has(p) || t.has(m) || (n.add(p), r.push({
|
|
131
|
+
...f,
|
|
132
132
|
// FdoPermissionRule.fields is string[] | null; RawRule expects string[] | undefined
|
|
133
|
-
fields:
|
|
133
|
+
fields: f.fields ?? void 0,
|
|
134
134
|
source: {
|
|
135
135
|
type: "systemPermissionSet",
|
|
136
136
|
permissionSetId: c.key,
|
|
@@ -139,9 +139,9 @@ function G(e, t) {
|
|
|
139
139
|
}
|
|
140
140
|
}));
|
|
141
141
|
}
|
|
142
|
-
for (const
|
|
143
|
-
const
|
|
144
|
-
subject:
|
|
142
|
+
for (const f of c.permissionSets ?? []) {
|
|
143
|
+
const m = O(f), p = B(m, ["manage"]), b = {
|
|
144
|
+
subject: m,
|
|
145
145
|
actions: ["manage"],
|
|
146
146
|
source: {
|
|
147
147
|
type: "systemPermissionSet",
|
|
@@ -150,16 +150,16 @@ function G(e, t) {
|
|
|
150
150
|
trace: d
|
|
151
151
|
}
|
|
152
152
|
};
|
|
153
|
-
n.has(p) || (n.add(p), r.push(
|
|
153
|
+
n.has(p) || (n.add(p), r.push(b)), a.push(b);
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
156
|
return [...r.filter((o) => !o.inverted), ...r.filter((o) => o.inverted)];
|
|
157
157
|
}
|
|
158
|
-
function
|
|
158
|
+
function ie(e) {
|
|
159
159
|
if (!e.source) return [];
|
|
160
|
-
const { type:
|
|
160
|
+
const { type: s, trace: r, permissionSetName: n } = e.source;
|
|
161
161
|
if (r && r.length > 0) return r;
|
|
162
|
-
switch (
|
|
162
|
+
switch (s) {
|
|
163
163
|
case "permissionSet":
|
|
164
164
|
return n ? [n] : [];
|
|
165
165
|
case "custom":
|
|
@@ -168,41 +168,41 @@ function re(e) {
|
|
|
168
168
|
return [];
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
|
-
function H(e,
|
|
171
|
+
function H(e, s, r = /* @__PURE__ */ new Set()) {
|
|
172
172
|
var i;
|
|
173
173
|
const n = [];
|
|
174
|
-
for (const
|
|
175
|
-
if (r.has(
|
|
176
|
-
r.add(
|
|
177
|
-
const a =
|
|
178
|
-
a && (n.push(a), (i = a.permissionSetIds) != null && i.length && n.push(...H(a.permissionSetIds,
|
|
174
|
+
for (const t of e) {
|
|
175
|
+
if (r.has(t)) continue;
|
|
176
|
+
r.add(t);
|
|
177
|
+
const a = s.find((o) => o.id === t);
|
|
178
|
+
a && (n.push(a), (i = a.permissionSetIds) != null && i.length && n.push(...H(a.permissionSetIds, s, r)));
|
|
179
179
|
}
|
|
180
180
|
return n;
|
|
181
181
|
}
|
|
182
|
-
function
|
|
183
|
-
const
|
|
184
|
-
({ setNames: i, setId:
|
|
185
|
-
), r =
|
|
182
|
+
function Ae(e) {
|
|
183
|
+
const s = Q(e).map(
|
|
184
|
+
({ setNames: i, setId: t, ...a }) => a
|
|
185
|
+
), r = s.filter((i) => !i.inverted), n = s.filter((i) => i.inverted);
|
|
186
186
|
return L(r, n);
|
|
187
187
|
}
|
|
188
|
-
function
|
|
188
|
+
function Oe(e, s, r) {
|
|
189
189
|
const n = /* @__PURE__ */ new Map();
|
|
190
190
|
return e.forEach(
|
|
191
|
-
({ name: i, permissions:
|
|
191
|
+
({ name: i, permissions: t }) => t.forEach(({ conditions: a, actions: o }) => {
|
|
192
192
|
var c, l;
|
|
193
193
|
const u = JSON.parse(a || "{}");
|
|
194
|
-
(c = u[
|
|
194
|
+
(c = u[s]) != null && c.$in ? (l = u[s]) == null || l.$in.forEach(
|
|
195
195
|
(d) => (n.get(d) ?? n.set(d, /* @__PURE__ */ new Set()).get(d)).add(i)
|
|
196
196
|
) : o[0] === "manage" && r.forEach((d) => {
|
|
197
197
|
(n.get(d) ?? n.set(d, /* @__PURE__ */ new Set()).get(d)).add(i);
|
|
198
198
|
});
|
|
199
199
|
})
|
|
200
|
-
), [...n].map(([i,
|
|
200
|
+
), [...n].map(([i, t]) => ({
|
|
201
201
|
id: i,
|
|
202
|
-
setNames: [...
|
|
202
|
+
setNames: [...t]
|
|
203
203
|
}));
|
|
204
204
|
}
|
|
205
|
-
function
|
|
205
|
+
function _e(e, s) {
|
|
206
206
|
const r = (o, u) => {
|
|
207
207
|
const c = { ...o }, l = JSON.parse(c.conditions || "{}");
|
|
208
208
|
if (u)
|
|
@@ -216,45 +216,45 @@ function Oe(e, t) {
|
|
|
216
216
|
inverted: !0,
|
|
217
217
|
...c.conditions && { conditions: JSON.stringify(l) }
|
|
218
218
|
};
|
|
219
|
-
}, n = new Map(e.map((o) => [o.subject, o])), i = new Map(
|
|
219
|
+
}, n = new Map(e.map((o) => [o.subject, o])), i = new Map(s.map((o) => [o.subject, o])), t = [], a = /* @__PURE__ */ new Set([...n.keys(), ...i.keys()]);
|
|
220
220
|
for (const o of a) {
|
|
221
221
|
const u = n.get(o), c = i.get(o);
|
|
222
222
|
if (u && c) {
|
|
223
223
|
if (u.conditions && c.conditions) {
|
|
224
224
|
const l = JSON.parse(u.conditions), d = JSON.parse(c.conditions);
|
|
225
225
|
if (!j(l) || !j(d)) {
|
|
226
|
-
JSON.stringify(l) !== JSON.stringify(d) &&
|
|
226
|
+
JSON.stringify(l) !== JSON.stringify(d) && t.push(c);
|
|
227
227
|
continue;
|
|
228
228
|
}
|
|
229
|
-
const
|
|
230
|
-
(
|
|
229
|
+
const f = Object.keys(l)[0], m = l[f].$in.filter(
|
|
230
|
+
(b) => !d[f].$in.includes(b)
|
|
231
231
|
);
|
|
232
|
-
|
|
233
|
-
(
|
|
234
|
-
).length > 0 &&
|
|
232
|
+
m.length > 0 && t.push(r(u, m)), d[f].$in.filter(
|
|
233
|
+
(b) => !l[f].$in.includes(b)
|
|
234
|
+
).length > 0 && t.push(c);
|
|
235
235
|
} else if (!u.conditions && c.conditions)
|
|
236
|
-
|
|
236
|
+
t.push(c);
|
|
237
237
|
else if (u.conditions && !c.conditions)
|
|
238
|
-
j(JSON.parse(u.conditions)) ||
|
|
238
|
+
j(JSON.parse(u.conditions)) || t.push(c);
|
|
239
239
|
else if (!u.conditions && !c.conditions) {
|
|
240
|
-
const l = new Set(u.actions), d = new Set(c.actions),
|
|
241
|
-
if (
|
|
242
|
-
const p = c.actions.filter((
|
|
243
|
-
|
|
240
|
+
const l = new Set(u.actions), d = new Set(c.actions), f = c.actions.some((p) => !l.has(p)), m = u.actions.filter((p) => !d.has(p));
|
|
241
|
+
if (f) {
|
|
242
|
+
const p = c.actions.filter((b) => !l.has(b));
|
|
243
|
+
t.push({
|
|
244
244
|
...c,
|
|
245
245
|
actions: p
|
|
246
246
|
});
|
|
247
247
|
}
|
|
248
|
-
|
|
248
|
+
m.length > 0 && t.push({
|
|
249
249
|
...u,
|
|
250
|
-
actions:
|
|
250
|
+
actions: m,
|
|
251
251
|
inverted: !0
|
|
252
252
|
});
|
|
253
253
|
}
|
|
254
254
|
continue;
|
|
255
255
|
}
|
|
256
256
|
if (u) {
|
|
257
|
-
|
|
257
|
+
t.push(
|
|
258
258
|
r(
|
|
259
259
|
u,
|
|
260
260
|
// If base has conditions, set diffIds to empty array, disallow all access to collection
|
|
@@ -264,223 +264,223 @@ function Oe(e, t) {
|
|
|
264
264
|
);
|
|
265
265
|
continue;
|
|
266
266
|
}
|
|
267
|
-
c &&
|
|
267
|
+
c && t.push(c);
|
|
268
268
|
}
|
|
269
|
-
return
|
|
269
|
+
return t;
|
|
270
270
|
}
|
|
271
|
-
function
|
|
272
|
-
const
|
|
271
|
+
function Ee(e) {
|
|
272
|
+
const s = G(
|
|
273
273
|
e,
|
|
274
274
|
V
|
|
275
275
|
), r = new Set(
|
|
276
|
-
|
|
277
|
-
var
|
|
278
|
-
return ((
|
|
276
|
+
s.filter((i) => {
|
|
277
|
+
var t;
|
|
278
|
+
return ((t = i.source) == null ? void 0 : t.type) === "systemPermissionSet" && !i.inverted;
|
|
279
279
|
}).map((i) => i.subject)
|
|
280
280
|
), n = new Set(
|
|
281
|
-
|
|
281
|
+
s.filter(
|
|
282
282
|
(i) => {
|
|
283
|
-
var
|
|
284
|
-
return ((
|
|
283
|
+
var t;
|
|
284
|
+
return ((t = i.source) == null ? void 0 : t.type) === "systemPermissionSet" && !i.inverted && i.actions.includes("manage");
|
|
285
285
|
}
|
|
286
286
|
).map((i) => i.subject)
|
|
287
287
|
);
|
|
288
288
|
return e.filter((i) => i.inverted ? !(r.has(i.subject) && !n.has(i.subject)) : !r.has(i.subject));
|
|
289
289
|
}
|
|
290
|
-
const
|
|
291
|
-
function
|
|
290
|
+
const oe = "business::report::";
|
|
291
|
+
function Ne(e, s) {
|
|
292
292
|
const r = [], n = e.filter((i) => {
|
|
293
|
-
const
|
|
294
|
-
return !
|
|
293
|
+
const t = i.subject;
|
|
294
|
+
return !t.startsWith(oe) || s.has(t) ? !0 : (r.push(t), !1);
|
|
295
295
|
});
|
|
296
296
|
return r.length > 0 && console.warn("[filterStalePermissions] dropped stale report permissions:", r), n;
|
|
297
297
|
}
|
|
298
|
-
const
|
|
299
|
-
function
|
|
300
|
-
return e.conditions ? !!
|
|
298
|
+
const ae = "business::report::reports::", ce = _.Subject.Business.report_reports_allDefaultReports, ue = _.Subject.Business.report_reports_allCustomReports;
|
|
299
|
+
function le(e, s) {
|
|
300
|
+
return e.conditions ? !!s.conditions && e.conditions === s.conditions : !s.conditions;
|
|
301
301
|
}
|
|
302
|
-
function
|
|
302
|
+
function Ue(e, s) {
|
|
303
303
|
const r = e.find(
|
|
304
|
-
(a) => !a.inverted && a.subject === ae
|
|
305
|
-
), n = e.find(
|
|
306
304
|
(a) => !a.inverted && a.subject === ce
|
|
305
|
+
), n = e.find(
|
|
306
|
+
(a) => !a.inverted && a.subject === ue
|
|
307
307
|
);
|
|
308
308
|
if (!r && !n) return e;
|
|
309
|
-
const i = r ? new Set(r.actions) : null,
|
|
309
|
+
const i = r ? new Set(r.actions) : null, t = n ? new Set(n.actions) : null;
|
|
310
310
|
return e.reduce((a, o) => {
|
|
311
311
|
if (o.inverted)
|
|
312
312
|
return a.push(o), a;
|
|
313
313
|
const u = o.subject;
|
|
314
|
-
if (!u.startsWith(
|
|
314
|
+
if (!u.startsWith(ae))
|
|
315
315
|
return a.push(o), a;
|
|
316
|
-
const c =
|
|
317
|
-
if (!l || !d || !
|
|
316
|
+
const c = s.has(u), l = c ? i : t, d = c ? r : n;
|
|
317
|
+
if (!l || !d || !le(d, o))
|
|
318
318
|
return a.push(o), a;
|
|
319
319
|
if (l.has("manage")) return a;
|
|
320
|
-
const
|
|
321
|
-
if (
|
|
320
|
+
const f = o.actions;
|
|
321
|
+
if (f.includes("manage"))
|
|
322
322
|
return a.push(o), a;
|
|
323
|
-
const
|
|
323
|
+
const m = new Set(f);
|
|
324
324
|
for (const p of l)
|
|
325
|
-
|
|
326
|
-
return
|
|
325
|
+
m.delete(p);
|
|
326
|
+
return m.size === 0 || a.push({ ...o, actions: Array.from(m) }), a;
|
|
327
327
|
}, []);
|
|
328
328
|
}
|
|
329
|
-
function L(e,
|
|
329
|
+
function L(e, s) {
|
|
330
330
|
var n, i;
|
|
331
|
-
const r = new Map(e.map((
|
|
332
|
-
for (const
|
|
333
|
-
if (
|
|
334
|
-
const o = r.get(
|
|
335
|
-
if (
|
|
331
|
+
const r = new Map(e.map((t) => [t.subject, t]));
|
|
332
|
+
for (const t of s) {
|
|
333
|
+
if (t.inverted) {
|
|
334
|
+
const o = r.get(t.subject);
|
|
335
|
+
if (t.conditions) {
|
|
336
336
|
if (o != null && o.conditions) {
|
|
337
|
-
const u = JSON.parse(o.conditions), c = JSON.parse(
|
|
337
|
+
const u = JSON.parse(o.conditions), c = JSON.parse(t.conditions);
|
|
338
338
|
if (!j(u) || !j(c)) {
|
|
339
|
-
r.delete(
|
|
339
|
+
r.delete(t.subject);
|
|
340
340
|
continue;
|
|
341
341
|
}
|
|
342
|
-
const l = Object.keys(c)[0], d = ((n = c[l]) == null ? void 0 : n.$in) ?? [],
|
|
343
|
-
|
|
342
|
+
const l = Object.keys(c)[0], d = ((n = c[l]) == null ? void 0 : n.$in) ?? [], m = (((i = u[l]) == null ? void 0 : i.$in) ?? []).filter((p) => !d.includes(p));
|
|
343
|
+
m.length > 0 ? r.set(t.subject, {
|
|
344
344
|
...o,
|
|
345
|
-
conditions: JSON.stringify({ [l]: { $in:
|
|
346
|
-
}) : r.delete(
|
|
345
|
+
conditions: JSON.stringify({ [l]: { $in: m } })
|
|
346
|
+
}) : r.delete(t.subject);
|
|
347
347
|
} else
|
|
348
|
-
r.delete(
|
|
348
|
+
r.delete(t.subject);
|
|
349
349
|
continue;
|
|
350
350
|
}
|
|
351
351
|
if (o) {
|
|
352
|
-
const u = new Set(
|
|
353
|
-
c.length > 0 ? r.set(
|
|
352
|
+
const u = new Set(t.actions), c = o.actions.filter((l) => !u.has(l));
|
|
353
|
+
c.length > 0 ? r.set(t.subject, { ...o, actions: c }) : r.delete(t.subject);
|
|
354
354
|
continue;
|
|
355
355
|
}
|
|
356
356
|
continue;
|
|
357
357
|
}
|
|
358
|
-
if (
|
|
359
|
-
r.set(
|
|
358
|
+
if (t.conditions) {
|
|
359
|
+
r.set(t.subject, t);
|
|
360
360
|
continue;
|
|
361
361
|
}
|
|
362
|
-
const a = r.get(
|
|
362
|
+
const a = r.get(t.subject);
|
|
363
363
|
if (a != null && a.conditions && !j(JSON.parse(a.conditions))) {
|
|
364
|
-
r.set(
|
|
364
|
+
r.set(t.subject, t);
|
|
365
365
|
continue;
|
|
366
366
|
}
|
|
367
367
|
if (a) {
|
|
368
368
|
const o = [
|
|
369
369
|
.../* @__PURE__ */ new Set([
|
|
370
370
|
...a.actions,
|
|
371
|
-
...
|
|
371
|
+
...t.actions
|
|
372
372
|
])
|
|
373
373
|
];
|
|
374
|
-
r.set(
|
|
374
|
+
r.set(t.subject, { ...a, actions: o });
|
|
375
375
|
} else
|
|
376
|
-
r.set(
|
|
376
|
+
r.set(t.subject, t);
|
|
377
377
|
}
|
|
378
378
|
return Array.from(r.values());
|
|
379
379
|
}
|
|
380
|
-
function
|
|
381
|
-
const r = L(e,
|
|
382
|
-
(
|
|
380
|
+
function de(e, s) {
|
|
381
|
+
const r = L(e, s), n = new Set(e.map((t) => t.subject)), i = s.filter(
|
|
382
|
+
(t) => t.inverted && !n.has(t.subject)
|
|
383
383
|
);
|
|
384
384
|
return [...r, ...i];
|
|
385
385
|
}
|
|
386
|
-
const P = "/permission-assignments",
|
|
386
|
+
const P = "/permission-assignments", I = {
|
|
387
387
|
async readAll() {
|
|
388
|
-
return g(await
|
|
388
|
+
return g(await v().get(P));
|
|
389
389
|
},
|
|
390
390
|
async readByUserId(e) {
|
|
391
|
-
return g(await
|
|
391
|
+
return g(await v().get(`${P}/user/${e}`));
|
|
392
392
|
},
|
|
393
393
|
async readById(e) {
|
|
394
|
-
return g(await
|
|
394
|
+
return g(await v().get(`${P}/${e}`));
|
|
395
395
|
},
|
|
396
396
|
async create(e) {
|
|
397
|
-
return g(await
|
|
397
|
+
return g(await v().post(P, e));
|
|
398
398
|
},
|
|
399
|
-
async update(e,
|
|
400
|
-
return g(await
|
|
399
|
+
async update(e, s) {
|
|
400
|
+
return g(await v().put(`${P}/${e}`, s));
|
|
401
401
|
},
|
|
402
402
|
async delete(e) {
|
|
403
|
-
return g(await
|
|
403
|
+
return g(await v().delete(`${P}/${e}`));
|
|
404
404
|
},
|
|
405
|
-
async addReportManagePermission(e,
|
|
405
|
+
async addReportManagePermission(e, s) {
|
|
406
406
|
return g(
|
|
407
|
-
await
|
|
407
|
+
await v().post("/my-permissions/report-manage", { permissionKey: e, label: s })
|
|
408
408
|
);
|
|
409
409
|
}
|
|
410
|
-
},
|
|
410
|
+
}, fe = z("permissionAssignment", () => {
|
|
411
411
|
const e = S([]);
|
|
412
|
-
async function
|
|
413
|
-
const o = await
|
|
412
|
+
async function s() {
|
|
413
|
+
const o = await I.readAll();
|
|
414
414
|
e.value = o;
|
|
415
415
|
}
|
|
416
416
|
async function r(o) {
|
|
417
|
-
return await
|
|
417
|
+
return await I.readByUserId(o);
|
|
418
418
|
}
|
|
419
419
|
async function n(o) {
|
|
420
|
-
const u = await
|
|
420
|
+
const u = await I.create(o);
|
|
421
421
|
e.value = [...e.value, u];
|
|
422
422
|
}
|
|
423
423
|
async function i(o, u) {
|
|
424
|
-
const c = await
|
|
424
|
+
const c = await I.update(o, u);
|
|
425
425
|
e.value = e.value.map((l) => l.id === o ? c : l);
|
|
426
426
|
}
|
|
427
|
-
async function
|
|
428
|
-
await
|
|
427
|
+
async function t(o) {
|
|
428
|
+
await I.delete(o), e.value = e.value.filter((u) => u.id !== o);
|
|
429
429
|
}
|
|
430
430
|
function a(o) {
|
|
431
431
|
return e.value.find((u) => u.userId === o);
|
|
432
432
|
}
|
|
433
433
|
return {
|
|
434
434
|
permissionAssignments: e,
|
|
435
|
-
readPermissionAssignments:
|
|
435
|
+
readPermissionAssignments: s,
|
|
436
436
|
readPermissionAssignmentByUserId: r,
|
|
437
437
|
createPermissionAssignment: n,
|
|
438
438
|
updatePermissionAssignment: i,
|
|
439
|
-
deletePermissionAssignment:
|
|
439
|
+
deletePermissionAssignment: t,
|
|
440
440
|
getPermissionAssignmentByUserId: a
|
|
441
441
|
};
|
|
442
442
|
}), me = () => {
|
|
443
|
-
const e =
|
|
443
|
+
const e = fe();
|
|
444
444
|
return {
|
|
445
445
|
...e,
|
|
446
446
|
...K(e)
|
|
447
447
|
};
|
|
448
|
-
},
|
|
449
|
-
async fetchReportPermissions(e,
|
|
450
|
-
const r =
|
|
448
|
+
}, pe = {
|
|
449
|
+
async fetchReportPermissions(e, s) {
|
|
450
|
+
const r = s ? { lang: s } : {};
|
|
451
451
|
return g(
|
|
452
452
|
await x().get(`/report-query/hrm/${e}/reports`, { params: r })
|
|
453
453
|
);
|
|
454
454
|
},
|
|
455
|
-
async fetchReportPermissionsForPortal(e,
|
|
456
|
-
const r =
|
|
455
|
+
async fetchReportPermissionsForPortal(e, s) {
|
|
456
|
+
const r = s ? { isSupportPos: !1, lang: s } : { isSupportPos: !1 };
|
|
457
457
|
return g(
|
|
458
458
|
await x().get(`/report-query/hrm/${e}/reports`, { params: r })
|
|
459
459
|
);
|
|
460
460
|
}
|
|
461
|
-
}, U = S([]), C = S(!1),
|
|
462
|
-
function
|
|
461
|
+
}, U = S([]), C = S(!1), R = S(!1), $ = S(null), k = S(null), J = S(!1);
|
|
462
|
+
function ge() {
|
|
463
463
|
const e = X();
|
|
464
|
-
async function
|
|
465
|
-
var
|
|
466
|
-
const n = (
|
|
464
|
+
async function s() {
|
|
465
|
+
var t;
|
|
466
|
+
const n = (t = e.currentBusiness.value) == null ? void 0 : t.id;
|
|
467
467
|
if (!n) return;
|
|
468
468
|
const i = localStorage.getItem("locale");
|
|
469
|
-
if ($.value !== n && (U.value = [], C.value = !1,
|
|
470
|
-
if (
|
|
469
|
+
if ($.value !== n && (U.value = [], C.value = !1, R.value = !1, $.value = n, J.value = !1), !(C.value && k.value === i)) {
|
|
470
|
+
if (R.value) {
|
|
471
471
|
J.value = !0;
|
|
472
472
|
return;
|
|
473
473
|
}
|
|
474
|
-
|
|
474
|
+
R.value = !0;
|
|
475
475
|
try {
|
|
476
|
-
const a = await
|
|
476
|
+
const a = await pe.fetchReportPermissionsForPortal(n, i);
|
|
477
477
|
if ($.value !== n) return;
|
|
478
478
|
U.value = a, C.value = !0, k.value = i;
|
|
479
479
|
} catch (a) {
|
|
480
480
|
if ($.value !== n) return;
|
|
481
481
|
console.warn("Failed to fetch custom report permissions:", a), U.value = [];
|
|
482
482
|
} finally {
|
|
483
|
-
$.value === n && (
|
|
483
|
+
$.value === n && (R.value = !1, J.value && (J.value = !1, await s()));
|
|
484
484
|
}
|
|
485
485
|
}
|
|
486
486
|
}
|
|
@@ -504,25 +504,25 @@ function pe() {
|
|
|
504
504
|
}
|
|
505
505
|
));
|
|
506
506
|
return {
|
|
507
|
-
fetchCustomReportPermissions:
|
|
507
|
+
fetchCustomReportPermissions: s,
|
|
508
508
|
customReportPermissions: r,
|
|
509
|
-
isLoading: T(() =>
|
|
509
|
+
isLoading: T(() => R.value),
|
|
510
510
|
isLoaded: T(() => C.value)
|
|
511
511
|
};
|
|
512
512
|
}
|
|
513
513
|
function A(e) {
|
|
514
|
-
const
|
|
515
|
-
(
|
|
516
|
-
|
|
514
|
+
const s = re(), r = me(), n = te().restaurants, { customReportPermissions: i } = ge(), t = r.getPermissionAssignmentByUserId(e.id), a = H(
|
|
515
|
+
(t == null ? void 0 : t.permissionSetIds) ?? [],
|
|
516
|
+
s.permissionSets.value
|
|
517
517
|
), o = Q(a).map(
|
|
518
|
-
({ setNames: p, ...
|
|
519
|
-
), u =
|
|
518
|
+
({ setNames: p, ...b }) => b
|
|
519
|
+
), u = t == null ? void 0 : t.customPermissions, c = u ?? e.permissions.map((p) => ({
|
|
520
520
|
...p,
|
|
521
521
|
subject: O(p.subject)
|
|
522
522
|
})), l = L(o, c), d = G(
|
|
523
|
-
|
|
523
|
+
de(o, c),
|
|
524
524
|
V
|
|
525
|
-
).filter((p) => !p.inverted),
|
|
525
|
+
).filter((p) => !p.inverted), f = Y(d), m = f ?? n.value.map((p) => p._id);
|
|
526
526
|
return {
|
|
527
527
|
doc: e,
|
|
528
528
|
id: e.id,
|
|
@@ -530,28 +530,28 @@ function A(e) {
|
|
|
530
530
|
phoneNumber: e.phoneNumber,
|
|
531
531
|
email: e.email,
|
|
532
532
|
restaurants: W(
|
|
533
|
-
|
|
534
|
-
var
|
|
535
|
-
return ((
|
|
533
|
+
m.map((p) => {
|
|
534
|
+
var b;
|
|
535
|
+
return ((b = n.value.find((Z) => Z._id === p)) == null ? void 0 : b.profile.name) ?? "";
|
|
536
536
|
})
|
|
537
537
|
),
|
|
538
|
-
managableRestaurantIds:
|
|
539
|
-
permissionLabels:
|
|
538
|
+
managableRestaurantIds: f,
|
|
539
|
+
permissionLabels: he(d, i.value),
|
|
540
540
|
permissions: l
|
|
541
541
|
};
|
|
542
542
|
}
|
|
543
|
-
const
|
|
544
|
-
Object.values(
|
|
545
|
-
),
|
|
543
|
+
const ve = Object.freeze(
|
|
544
|
+
Object.values(ee)
|
|
545
|
+
), Ce = {
|
|
546
546
|
async readTeamMembers() {
|
|
547
547
|
return g(
|
|
548
|
-
await
|
|
548
|
+
await v().get("/portal-users")
|
|
549
549
|
).map(A);
|
|
550
550
|
},
|
|
551
551
|
async readTeamMembersPage(e) {
|
|
552
552
|
var r, n, i;
|
|
553
|
-
const
|
|
554
|
-
await
|
|
553
|
+
const s = g(
|
|
554
|
+
await v().get("/portal-users/paged", {
|
|
555
555
|
params: {
|
|
556
556
|
limit: e.limit,
|
|
557
557
|
offset: e.offset,
|
|
@@ -563,55 +563,55 @@ const ge = Object.freeze(
|
|
|
563
563
|
})
|
|
564
564
|
);
|
|
565
565
|
return {
|
|
566
|
-
items:
|
|
567
|
-
total:
|
|
566
|
+
items: s.items.map(A),
|
|
567
|
+
total: s.total
|
|
568
568
|
};
|
|
569
569
|
},
|
|
570
570
|
async readTeamMember(e) {
|
|
571
571
|
return A(
|
|
572
|
-
g(await
|
|
572
|
+
g(await v().get(`/portal-users/${e}`))
|
|
573
573
|
);
|
|
574
574
|
},
|
|
575
575
|
async createTeamMember(e) {
|
|
576
576
|
return A(
|
|
577
|
-
g(await
|
|
577
|
+
g(await v().post("/portal-users", e))
|
|
578
578
|
);
|
|
579
579
|
},
|
|
580
|
-
async updateTeamMember(e,
|
|
580
|
+
async updateTeamMember(e, s) {
|
|
581
581
|
return A(
|
|
582
|
-
g(await
|
|
582
|
+
g(await v().put(`/portal-users/${e}`, s))
|
|
583
583
|
);
|
|
584
584
|
},
|
|
585
585
|
async deleteTeamMember(e) {
|
|
586
|
-
return g(await
|
|
586
|
+
return g(await v().delete(`/portal-users/${e}`));
|
|
587
587
|
},
|
|
588
588
|
async readTeamMemberPosUserIds() {
|
|
589
|
-
return g(await
|
|
589
|
+
return g(await v().get("/portal-users")).map((s) => s.posUserId);
|
|
590
590
|
},
|
|
591
591
|
async generateMasterUserPasscode(e) {
|
|
592
592
|
return `${g(
|
|
593
|
-
await
|
|
593
|
+
await v().post("/portal-users/generate-passcode", {
|
|
594
594
|
restaurantIds: e.restaurantIds,
|
|
595
595
|
excludePosUserId: e.excludePosUserId
|
|
596
596
|
})
|
|
597
597
|
)}`;
|
|
598
598
|
}
|
|
599
599
|
};
|
|
600
|
-
function
|
|
600
|
+
function Je(e, s, r) {
|
|
601
601
|
if (e.some((a) => a.subject === "all")) return "All";
|
|
602
602
|
const n = (r ?? M).filter(
|
|
603
|
-
(a) => a.subject ===
|
|
604
|
-
), i = new Set(n.map((a) => w(a).value)),
|
|
605
|
-
return
|
|
603
|
+
(a) => a.subject === s
|
|
604
|
+
), i = new Set(n.map((a) => w(a).value)), t = e.filter((a) => a.subject === s).filter((a) => i.has(w(a).value));
|
|
605
|
+
return t.length === n.length ? "All" : t.length === 0 ? "-" : `${t.length} permission allow`;
|
|
606
606
|
}
|
|
607
607
|
function w(e) {
|
|
608
|
-
const
|
|
608
|
+
const s = q(e), r = s.subject;
|
|
609
609
|
return {
|
|
610
|
-
...
|
|
610
|
+
...s,
|
|
611
611
|
get conditions() {
|
|
612
|
-
if (typeof
|
|
612
|
+
if (typeof s.conditions != "string") return s.conditions;
|
|
613
613
|
try {
|
|
614
|
-
return JSON.parse(
|
|
614
|
+
return JSON.parse(s.conditions);
|
|
615
615
|
} catch {
|
|
616
616
|
return;
|
|
617
617
|
}
|
|
@@ -652,7 +652,7 @@ function w(e) {
|
|
|
652
652
|
return n === void 0 ? r.toString() : n.endsWith("_") ? n.slice(0, n.length - 1) : n;
|
|
653
653
|
},
|
|
654
654
|
get label() {
|
|
655
|
-
return
|
|
655
|
+
return s.label || se(this.formatted);
|
|
656
656
|
},
|
|
657
657
|
get value() {
|
|
658
658
|
const n = this.discriminator;
|
|
@@ -660,57 +660,60 @@ function w(e) {
|
|
|
660
660
|
}
|
|
661
661
|
};
|
|
662
662
|
}
|
|
663
|
-
function
|
|
663
|
+
function Te(e) {
|
|
664
664
|
var n, i;
|
|
665
|
-
const
|
|
666
|
-
if (!
|
|
667
|
-
const r = Number((i = (n =
|
|
665
|
+
const s = e.map((t) => w(t)).find((t) => t.isDiscountOperation);
|
|
666
|
+
if (!s) return 100;
|
|
667
|
+
const r = Number((i = (n = s.conditions) == null ? void 0 : n.adjustment) == null ? void 0 : i.$lte);
|
|
668
668
|
return Number.isFinite(r) ? parseInt((r * 100).toFixed(0)) : 0;
|
|
669
669
|
}
|
|
670
|
-
function
|
|
671
|
-
const
|
|
670
|
+
function Y(e) {
|
|
671
|
+
const s = e.find(
|
|
672
672
|
(r) => r.subject === _.Subject.Restaurant.restaurant
|
|
673
673
|
);
|
|
674
|
-
return
|
|
674
|
+
return s ? s.conditions ? JSON.parse(s.conditions).restaurantId.$in : null : [];
|
|
675
675
|
}
|
|
676
|
-
function
|
|
677
|
-
return
|
|
678
|
-
}
|
|
679
|
-
function Be(e) {
|
|
680
|
-
const t = e.find((r) => r.subject === _.Subject.Business.role);
|
|
681
|
-
return t ? t.conditions ? JSON.parse(t.conditions).roleId.$in : null : [];
|
|
676
|
+
function Be(e, s) {
|
|
677
|
+
return s.isOwner ? { restaurantIds: null, roleIds: null } : { restaurantIds: Y(e), roleIds: be(e) };
|
|
682
678
|
}
|
|
683
679
|
function Me(e) {
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
680
|
+
return (e == null ? void 0 : e.some((s) => s.subject === "all")) ?? !1;
|
|
681
|
+
}
|
|
682
|
+
function be(e) {
|
|
683
|
+
const s = e.find((r) => r.subject === _.Subject.Business.role);
|
|
684
|
+
return s ? s.conditions ? JSON.parse(s.conditions).roleId.$in : null : [];
|
|
685
|
+
}
|
|
686
|
+
function Le(e) {
|
|
687
|
+
const s = w(e);
|
|
688
|
+
if (!s.isReportPermission) return;
|
|
689
|
+
const { name: r, ...n } = s.conditions ?? {};
|
|
687
690
|
return Object.keys(n).length > 0 ? n : void 0;
|
|
688
691
|
}
|
|
689
|
-
function
|
|
692
|
+
function Fe(e, s, r) {
|
|
690
693
|
return e.flatMap((n) => {
|
|
691
|
-
const i =
|
|
694
|
+
const i = Se(n);
|
|
692
695
|
if (!i) return [];
|
|
693
|
-
const
|
|
696
|
+
const t = i.isReportPermission ? r == null ? void 0 : r.get(n) : void 0;
|
|
694
697
|
return [
|
|
695
698
|
{
|
|
696
699
|
subject: i.subject,
|
|
697
700
|
actions: i.actions,
|
|
698
701
|
conditions: {
|
|
699
702
|
...i.conditions,
|
|
700
|
-
...
|
|
701
|
-
adjustment: i.isDiscountOperation ? { $lte: parseFloat((
|
|
703
|
+
...t ?? {},
|
|
704
|
+
adjustment: i.isDiscountOperation ? { $lte: parseFloat((s / 100).toFixed(2)) } : void 0
|
|
702
705
|
}
|
|
703
706
|
}
|
|
704
707
|
];
|
|
705
708
|
});
|
|
706
709
|
}
|
|
707
|
-
function
|
|
708
|
-
const
|
|
709
|
-
if (
|
|
710
|
+
function Se(e) {
|
|
711
|
+
const s = e.indexOf(":"), r = s === -1 ? e : e.slice(0, s), n = s === -1 ? void 0 : e.slice(s + 1);
|
|
712
|
+
if (s !== -1 && !n) return;
|
|
710
713
|
let i;
|
|
711
|
-
return n ? (i = M.find((
|
|
712
|
-
if (
|
|
713
|
-
const a = typeof
|
|
714
|
+
return n ? (i = M.find((t) => {
|
|
715
|
+
if (t.subject !== r) return !1;
|
|
716
|
+
const a = typeof t.conditions == "string" ? JSON.parse(t.conditions) : t.conditions;
|
|
714
717
|
return [a == null ? void 0 : a.operation, a == null ? void 0 : a.name].includes(n);
|
|
715
718
|
}), !i && r === y.F_RULE_SUBJECT.enum.report && (i = {
|
|
716
719
|
label: "",
|
|
@@ -719,9 +722,9 @@ function ve(e) {
|
|
|
719
722
|
conditions: { name: n },
|
|
720
723
|
inverted: !1,
|
|
721
724
|
reason: ""
|
|
722
|
-
})) : i = M.find((
|
|
725
|
+
})) : i = M.find((t) => t.subject === r), i ? w(i) : void 0;
|
|
723
726
|
}
|
|
724
|
-
function
|
|
727
|
+
function xe(e, s) {
|
|
725
728
|
const r = { values: [], passthrough: [], dropped: [] };
|
|
726
729
|
for (const n of e) {
|
|
727
730
|
const i = n == null ? void 0 : n.actions;
|
|
@@ -729,20 +732,20 @@ function Fe(e, t) {
|
|
|
729
732
|
r.dropped.push(n);
|
|
730
733
|
continue;
|
|
731
734
|
}
|
|
732
|
-
const
|
|
733
|
-
|
|
735
|
+
const t = w(n).value, a = `${y.F_RULE_SUBJECT.enum.report}:`, o = t.startsWith(a) ? t.slice(a.length) : "";
|
|
736
|
+
s.has(t) || o && o !== "undefined" ? r.values.push(t) : r.passthrough.push(n);
|
|
734
737
|
}
|
|
735
738
|
return r;
|
|
736
739
|
}
|
|
737
|
-
function
|
|
740
|
+
function he(e, s = []) {
|
|
738
741
|
return W(
|
|
739
742
|
e.reduce((r, n) => {
|
|
740
|
-
const i =
|
|
741
|
-
(
|
|
742
|
-
) ||
|
|
743
|
+
const i = ve.find(
|
|
744
|
+
(t) => t.subject === n.subject && n.actions.includes("manage")
|
|
745
|
+
) || s.find((t) => t.subject === n.subject);
|
|
743
746
|
if (i) {
|
|
744
|
-
const
|
|
745
|
-
r.push(
|
|
747
|
+
const t = i.subject === _.Subject.Business.inventory_stock ? "Warehouse Management" : i.label;
|
|
748
|
+
r.push(t);
|
|
746
749
|
}
|
|
747
750
|
return r;
|
|
748
751
|
}, [])
|
|
@@ -751,29 +754,30 @@ function Se(e, t = []) {
|
|
|
751
754
|
export {
|
|
752
755
|
G as N,
|
|
753
756
|
Q as P,
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
+
pe as R,
|
|
758
|
+
Je as a,
|
|
759
|
+
de as b,
|
|
757
760
|
H as c,
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
761
|
+
ge as d,
|
|
762
|
+
Le as e,
|
|
763
|
+
Fe as f,
|
|
764
|
+
Te as g,
|
|
765
|
+
Me as h,
|
|
766
|
+
oe as i,
|
|
764
767
|
Be as j,
|
|
765
|
-
|
|
768
|
+
Ee as k,
|
|
766
769
|
_e as l,
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
770
|
+
Ae as m,
|
|
771
|
+
Ne as n,
|
|
772
|
+
Ue as o,
|
|
773
|
+
ve as p,
|
|
774
|
+
me as q,
|
|
772
775
|
w as r,
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
776
|
+
xe as s,
|
|
777
|
+
Ce as t,
|
|
778
|
+
re as u,
|
|
779
|
+
he as v,
|
|
780
|
+
Oe as w,
|
|
781
|
+
Y as x,
|
|
782
|
+
be as y
|
|
779
783
|
};
|