@feedmepos/mf-hrm-portal 1.1.3-dev → 1.1.3-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/AuditLogList-BghaBoJj.js +436 -0
- package/dist/EmployeeList-C4knb1ZM.js +626 -0
- package/dist/{Main-DGymQNz9.js → Main-BGcdVWrj.js} +10 -9
- package/dist/{Main-BqhrqOzx.js → Main-DYuuBLTj.js} +28 -27
- package/dist/PermissionSetList-DPKmbnO4.js +323 -0
- package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-nbk54pp5.js +3092 -0
- package/dist/RoleList-CWUkSfcS.js +494 -0
- package/dist/TeamMemberList-BDB9zWwa.js +965 -0
- package/dist/{TimesheetList-hgT9DrHd.js → TimesheetList-CqVVoydR.js} +25 -24
- package/dist/api/index.d.ts +5 -0
- package/dist/api/report-query/index.d.ts +5 -0
- package/dist/api/team/index.d.ts +2 -5
- package/dist/{app-CcbYGJ22.js → app-C04LPGZa.js} +1606 -918
- package/dist/app.js +4 -4
- package/dist/composables/useReportPermissions.d.ts +14 -0
- package/dist/{dayjs.min-CgN1oBQf.js → dayjs.min-CKv07Hiu.js} +1 -1
- package/dist/employee-DyW4lRCb.js +144 -0
- package/dist/helpers/permission-set.d.ts +37 -0
- package/dist/helpers/rule.d.ts +1 -1
- package/dist/index-CIz_Nsy5.js +10340 -0
- package/dist/index-DGq_eY85.js +827 -0
- package/dist/{lodash-7Am6_Zd3.js → lodash-r0Tf8VGX.js} +1 -1
- package/dist/stores/permission-set.d.ts +15 -0
- package/dist/stores/team.d.ts +4 -1
- package/dist/style.css +1 -1
- package/dist/team-CSB4_BXX.js +29 -0
- package/dist/{timesheet-DKhEeLe7.js → timesheet-CTS0MzUs.js} +2 -2
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/types/audit-log.d.ts +1 -19
- package/dist/types/permission-set.d.ts +4 -0
- package/dist/types/report-query.d.ts +6 -0
- package/dist/{useAppStore-DOSLuH24.js → useAppStore-CWtHdJdl.js} +34 -46
- package/dist/{useLoading-BA-GSZ3R.js → useLoading-gYEFsA3E.js} +1 -1
- package/dist/useReportPermissions--n283f22.js +65 -0
- package/dist/views/audit-log/locales/index.d.ts +84 -0
- package/dist/views/team/locales/index.d.ts +32 -8
- package/package.json +4 -2
- package/dist/AuditLogList-DNQh1rE9.js +0 -316
- package/dist/EmployeeList-zU7fmC4c.js +0 -607
- package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-BvjXcknf.js +0 -3050
- package/dist/RoleList-jbZqer7A.js +0 -496
- package/dist/RolePermissionList-Dd8ks5i7.js +0 -285
- package/dist/TeamMemberList-uamoOFIV.js +0 -949
- package/dist/employee-khk560IC.js +0 -172
- package/dist/index-D5sdamN5.js +0 -8411
- package/dist/team-CFyc6tnm.js +0 -26
- package/dist/types/permission.d.ts +0 -1
- /package/dist/views/team/{role/RolePermissionForm.vue.d.ts → permission-set/PermissionSetForm.vue.d.ts} +0 -0
- /package/dist/views/team/{role/RolePermissionList.vue.d.ts → permission-set/PermissionSetList.vue.d.ts} +0 -0
|
@@ -1,19 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
reason: string;
|
|
3
|
-
resolvedFrom: 'admin' | 'staff' | 'permissionSet' | 'custom' | 'unknown';
|
|
4
|
-
permissionSetId?: string;
|
|
5
|
-
requestPath?: string;
|
|
6
|
-
requestMethod?: string;
|
|
7
|
-
requestBody?: Record<string, unknown>;
|
|
8
|
-
}
|
|
9
|
-
export interface AuditLogEntry {
|
|
10
|
-
timestamp: string;
|
|
11
|
-
userId: string;
|
|
12
|
-
subject: string;
|
|
13
|
-
action: string;
|
|
14
|
-
field?: string | null;
|
|
15
|
-
businessId?: string | null;
|
|
16
|
-
restaurantId?: string | null;
|
|
17
|
-
outcome: 'allowed' | 'denied';
|
|
18
|
-
metadata: AuditLogMetadata;
|
|
19
|
-
}
|
|
1
|
+
export type { AuditLogEntry, AuditLogMetadata, AuditLogOutcome, AuditLogResolvedFrom } from '@feedmepos/hrm-permission';
|
|
@@ -2,6 +2,7 @@ import type { FdoPermissionRule } from '@feedmepos/core/entity';
|
|
|
2
2
|
export interface IFdtoPermissionSet {
|
|
3
3
|
id: string;
|
|
4
4
|
permissions: FdoPermissionRule[];
|
|
5
|
+
permissionSetIds: string[];
|
|
5
6
|
businessId: string;
|
|
6
7
|
name: string;
|
|
7
8
|
}
|
|
@@ -9,10 +10,13 @@ export interface IFdtoCreatePermissionSetReq {
|
|
|
9
10
|
name: string;
|
|
10
11
|
businessId: string;
|
|
11
12
|
permissions: FdoPermissionRule[];
|
|
13
|
+
permissionSetIds: string[];
|
|
12
14
|
}
|
|
13
15
|
export interface IFdtoUpdatePermissionSetReq {
|
|
14
16
|
name?: string;
|
|
15
17
|
permissions?: FdoPermissionRule[];
|
|
18
|
+
permissionSetIds?: string[];
|
|
19
|
+
businessId?: string;
|
|
16
20
|
}
|
|
17
21
|
export interface InheritedPermission {
|
|
18
22
|
id: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineStore as f, storeToRefs as v } from "pinia";
|
|
2
2
|
import { ref as b } from "vue";
|
|
3
|
-
import { useCoreStore as I, baseClientInstance as
|
|
4
|
-
import { g as l, b as d, s as
|
|
3
|
+
import { useCoreStore as I, baseClientInstance as w } from "@feedmepos/mf-common";
|
|
4
|
+
import { g as l, b as d, s as R } from "./index-CIz_Nsy5.js";
|
|
5
5
|
const p = {
|
|
6
6
|
async readRoles() {
|
|
7
7
|
return l(await d().get("/pos-roles"));
|
|
@@ -23,54 +23,42 @@ const p = {
|
|
|
23
23
|
};
|
|
24
24
|
async function g(e) {
|
|
25
25
|
const { restaurants: t } = I(), i = e.reduce((a, u) => {
|
|
26
|
-
var
|
|
27
|
-
const c = a.findIndex((o) => o._id === u._id),
|
|
26
|
+
var r;
|
|
27
|
+
const c = a.findIndex((o) => o._id === u._id), s = {
|
|
28
28
|
id: u.restaurantId,
|
|
29
|
-
name: ((
|
|
29
|
+
name: ((r = t.value.find((o) => o._id === u.restaurantId)) == null ? void 0 : r.profile.name) || ""
|
|
30
30
|
};
|
|
31
31
|
return c < 0 ? a.push({
|
|
32
32
|
...u,
|
|
33
|
-
restaurants: [
|
|
34
|
-
}) : a[c].restaurants.some((o) => o.id === u.restaurantId) || (a[c].restaurants =
|
|
33
|
+
restaurants: [s]
|
|
34
|
+
}) : a[c].restaurants.some((o) => o.id === u.restaurantId) || (a[c].restaurants = R([...a[c].restaurants, s], { selector: "name" })), a;
|
|
35
35
|
}, []);
|
|
36
|
-
return
|
|
36
|
+
return R(i, { selector: "name" });
|
|
37
37
|
}
|
|
38
38
|
const x = f("role", () => {
|
|
39
39
|
const e = b([]), t = b(!1);
|
|
40
40
|
async function i() {
|
|
41
41
|
try {
|
|
42
42
|
t.value = !0;
|
|
43
|
-
const
|
|
44
|
-
e.value = await g(
|
|
45
|
-
} catch (
|
|
46
|
-
console.log("Error reading roles:",
|
|
43
|
+
const s = await p.readRoles();
|
|
44
|
+
e.value = await g(s);
|
|
45
|
+
} catch (s) {
|
|
46
|
+
console.log("Error reading roles:", s);
|
|
47
47
|
} finally {
|
|
48
48
|
t.value = !1;
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
async function a(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
e.value = await g(s);
|
|
55
|
-
} catch (s) {
|
|
56
|
-
console.log("Error creating role:", s);
|
|
57
|
-
}
|
|
51
|
+
async function a(s) {
|
|
52
|
+
const r = await p.createRole(s);
|
|
53
|
+
e.value = await g(r);
|
|
58
54
|
}
|
|
59
|
-
async function u(
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
e.value = await g(o);
|
|
63
|
-
} catch (o) {
|
|
64
|
-
console.log("Error updating role:", o);
|
|
65
|
-
}
|
|
55
|
+
async function u(s, r) {
|
|
56
|
+
const o = await p.updateRole(s, r);
|
|
57
|
+
e.value = await g(o);
|
|
66
58
|
}
|
|
67
|
-
async function c(
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
e.value = await g(s);
|
|
71
|
-
} catch (s) {
|
|
72
|
-
console.log("Error deleting role:", s);
|
|
73
|
-
}
|
|
59
|
+
async function c(s) {
|
|
60
|
+
const r = await p.deleteRole(s);
|
|
61
|
+
e.value = await g(r);
|
|
74
62
|
}
|
|
75
63
|
return {
|
|
76
64
|
roles: e,
|
|
@@ -100,25 +88,25 @@ function D() {
|
|
|
100
88
|
return y(U);
|
|
101
89
|
}
|
|
102
90
|
var A = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto);
|
|
103
|
-
const
|
|
91
|
+
const S = {
|
|
104
92
|
randomUUID: A
|
|
105
93
|
};
|
|
106
|
-
function
|
|
107
|
-
if (
|
|
108
|
-
return
|
|
94
|
+
function L(e, t, i) {
|
|
95
|
+
if (S.randomUUID && !e)
|
|
96
|
+
return S.randomUUID();
|
|
109
97
|
e = e || {};
|
|
110
98
|
var a = e.random || (e.rng || D)();
|
|
111
99
|
return a[6] = a[6] & 15 | 64, a[8] = a[8] & 63 | 128, Q(a);
|
|
112
100
|
}
|
|
113
|
-
const
|
|
101
|
+
const h = {
|
|
114
102
|
async read() {
|
|
115
|
-
return l(await
|
|
103
|
+
return l(await w("/").get("/public-setting"));
|
|
116
104
|
},
|
|
117
105
|
async update(e) {
|
|
118
|
-
return l(await
|
|
106
|
+
return l(await w("/").put("/public-setting", e));
|
|
119
107
|
}
|
|
120
108
|
};
|
|
121
|
-
function
|
|
109
|
+
function C() {
|
|
122
110
|
return {
|
|
123
111
|
loadingQueue: [],
|
|
124
112
|
publicSetting: {
|
|
@@ -142,7 +130,7 @@ function L() {
|
|
|
142
130
|
};
|
|
143
131
|
}
|
|
144
132
|
const $ = f("portal-app-store", {
|
|
145
|
-
state: () =>
|
|
133
|
+
state: () => C(),
|
|
146
134
|
actions: {
|
|
147
135
|
addLoadingQueues(e) {
|
|
148
136
|
this.loadingQueue = [...this.loadingQueue, ...e];
|
|
@@ -154,7 +142,7 @@ const $ = f("portal-app-store", {
|
|
|
154
142
|
this.loadingQueue = this.loadingQueue.filter((t) => !e.includes(t.id));
|
|
155
143
|
},
|
|
156
144
|
async promise(e, t = !0) {
|
|
157
|
-
const i =
|
|
145
|
+
const i = L();
|
|
158
146
|
try {
|
|
159
147
|
const a = [{ id: i, isGlobal: t }];
|
|
160
148
|
return this.addLoadingQueues(a), await e();
|
|
@@ -163,10 +151,10 @@ const $ = f("portal-app-store", {
|
|
|
163
151
|
}
|
|
164
152
|
},
|
|
165
153
|
async getPublicSetting() {
|
|
166
|
-
return this.publicSetting = await
|
|
154
|
+
return this.publicSetting = await h.read(), this.publicSetting;
|
|
167
155
|
},
|
|
168
156
|
async updatePublicSetting(e) {
|
|
169
|
-
return this.publicSetting = await
|
|
157
|
+
return this.publicSetting = await h.update({
|
|
170
158
|
...this.publicSetting,
|
|
171
159
|
...e
|
|
172
160
|
}), this.publicSetting;
|
|
@@ -176,5 +164,5 @@ const $ = f("portal-app-store", {
|
|
|
176
164
|
export {
|
|
177
165
|
$ as a,
|
|
178
166
|
T as u,
|
|
179
|
-
|
|
167
|
+
L as v
|
|
180
168
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { computed as I, isRef as L, watch as M } from "vue";
|
|
2
2
|
import { SnackbarPosition as y } from "@feedmepos/ui-library";
|
|
3
|
-
import { a as w, v } from "./useAppStore-
|
|
3
|
+
import { a as w, v } from "./useAppStore-CWtHdJdl.js";
|
|
4
4
|
const E = (r) => {
|
|
5
5
|
async function d(u, e) {
|
|
6
6
|
var l, a;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { computed as u, ref as r } from "vue";
|
|
2
|
+
import { g as v, q as R, e as h, a as m } from "./index-CIz_Nsy5.js";
|
|
3
|
+
import { useCoreStore as g } from "@feedmepos/mf-common";
|
|
4
|
+
import "./app-C04LPGZa.js";
|
|
5
|
+
const P = {
|
|
6
|
+
async fetchReportPermissions(i) {
|
|
7
|
+
return v(
|
|
8
|
+
await R().get(`/report-query/hrm/${i}/reports`)
|
|
9
|
+
);
|
|
10
|
+
}
|
|
11
|
+
}, t = r([]), l = r(!1), o = r(!1), d = r(null);
|
|
12
|
+
function K() {
|
|
13
|
+
const i = g();
|
|
14
|
+
async function f() {
|
|
15
|
+
var n;
|
|
16
|
+
const s = (n = i.currentBusiness.value) == null ? void 0 : n.id;
|
|
17
|
+
if (s && (d.value !== s && (t.value = [], l.value = !1, o.value = !1, d.value = s), !(l.value || o.value))) {
|
|
18
|
+
o.value = !0;
|
|
19
|
+
try {
|
|
20
|
+
t.value = await P.fetchReportPermissions(s), l.value = !0;
|
|
21
|
+
} catch (e) {
|
|
22
|
+
console.warn("Failed to fetch dynamic report permissions, using hardcoded only:", e), t.value = [];
|
|
23
|
+
} finally {
|
|
24
|
+
o.value = !1;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const a = h.filter(
|
|
29
|
+
(s) => s.subject === m.F_RULE_SUBJECT.enum.report && s.conditions
|
|
30
|
+
), p = u(() => {
|
|
31
|
+
const s = new Set(
|
|
32
|
+
a.map((e) => {
|
|
33
|
+
const c = typeof e.conditions == "string" ? JSON.parse(e.conditions) : e.conditions;
|
|
34
|
+
return c == null ? void 0 : c.name;
|
|
35
|
+
})
|
|
36
|
+
), n = t.value.filter((e) => !s.has(e.permissionKey)).map((e) => ({
|
|
37
|
+
label: e.name,
|
|
38
|
+
subject: m.F_RULE_SUBJECT.enum.report,
|
|
39
|
+
actions: ["read"],
|
|
40
|
+
conditions: { name: e.permissionKey },
|
|
41
|
+
inverted: !1,
|
|
42
|
+
reason: ""
|
|
43
|
+
}));
|
|
44
|
+
return [...a, ...n];
|
|
45
|
+
}), y = u(() => {
|
|
46
|
+
const s = new Set(
|
|
47
|
+
a.map((n) => {
|
|
48
|
+
const e = typeof n.conditions == "string" ? JSON.parse(n.conditions) : n.conditions;
|
|
49
|
+
return e == null ? void 0 : e.name;
|
|
50
|
+
})
|
|
51
|
+
);
|
|
52
|
+
for (const n of t.value)
|
|
53
|
+
s.add(n.permissionKey);
|
|
54
|
+
return s;
|
|
55
|
+
});
|
|
56
|
+
return {
|
|
57
|
+
fetchReportPermissions: f,
|
|
58
|
+
allReportPermissions: p,
|
|
59
|
+
availableReportKeys: y,
|
|
60
|
+
isLoading: u(() => o.value)
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
export {
|
|
64
|
+
K as u
|
|
65
|
+
};
|
|
@@ -8,14 +8,30 @@ export declare const i18nMessages: {
|
|
|
8
8
|
placeholder: string;
|
|
9
9
|
};
|
|
10
10
|
filter: {
|
|
11
|
+
user_placeholder: string;
|
|
12
|
+
selected_user_prefix: string;
|
|
13
|
+
subject_placeholder: string;
|
|
14
|
+
selected_subject_prefix: string;
|
|
15
|
+
action_placeholder: string;
|
|
16
|
+
selected_action_prefix: string;
|
|
17
|
+
status_placeholder: string;
|
|
18
|
+
selected_status_prefix: string;
|
|
11
19
|
outcome_placeholder: string;
|
|
12
20
|
selected_outcome_prefix: string;
|
|
13
21
|
};
|
|
22
|
+
action: {
|
|
23
|
+
manage: string;
|
|
24
|
+
create: string;
|
|
25
|
+
read: string;
|
|
26
|
+
update: string;
|
|
27
|
+
delete: string;
|
|
28
|
+
};
|
|
14
29
|
columns: {
|
|
15
30
|
timestamp: string;
|
|
16
31
|
user: string;
|
|
17
32
|
subject: string;
|
|
18
33
|
action: string;
|
|
34
|
+
operation: string;
|
|
19
35
|
outcome: string;
|
|
20
36
|
};
|
|
21
37
|
outcome: {
|
|
@@ -36,7 +52,9 @@ export declare const i18nMessages: {
|
|
|
36
52
|
header: string;
|
|
37
53
|
timestamp: string;
|
|
38
54
|
user: string;
|
|
55
|
+
email: string;
|
|
39
56
|
action: string;
|
|
57
|
+
operation: string;
|
|
40
58
|
subject: string;
|
|
41
59
|
field: string;
|
|
42
60
|
outcome: string;
|
|
@@ -46,6 +64,9 @@ export declare const i18nMessages: {
|
|
|
46
64
|
reason: string;
|
|
47
65
|
resolvedFrom: string;
|
|
48
66
|
permissionSet: string;
|
|
67
|
+
permissionTrace: string;
|
|
68
|
+
decisivePermission: string;
|
|
69
|
+
decisiveRule: string;
|
|
49
70
|
requestMethod: string;
|
|
50
71
|
requestPath: string;
|
|
51
72
|
requestBody: string;
|
|
@@ -59,14 +80,30 @@ export declare const i18nMessages: {
|
|
|
59
80
|
placeholder: string;
|
|
60
81
|
};
|
|
61
82
|
filter: {
|
|
83
|
+
user_placeholder: string;
|
|
84
|
+
selected_user_prefix: string;
|
|
85
|
+
subject_placeholder: string;
|
|
86
|
+
selected_subject_prefix: string;
|
|
87
|
+
action_placeholder: string;
|
|
88
|
+
selected_action_prefix: string;
|
|
89
|
+
status_placeholder: string;
|
|
90
|
+
selected_status_prefix: string;
|
|
62
91
|
outcome_placeholder: string;
|
|
63
92
|
selected_outcome_prefix: string;
|
|
64
93
|
};
|
|
94
|
+
action: {
|
|
95
|
+
manage: string;
|
|
96
|
+
create: string;
|
|
97
|
+
read: string;
|
|
98
|
+
update: string;
|
|
99
|
+
delete: string;
|
|
100
|
+
};
|
|
65
101
|
columns: {
|
|
66
102
|
timestamp: string;
|
|
67
103
|
user: string;
|
|
68
104
|
subject: string;
|
|
69
105
|
action: string;
|
|
106
|
+
operation: string;
|
|
70
107
|
outcome: string;
|
|
71
108
|
};
|
|
72
109
|
outcome: {
|
|
@@ -87,7 +124,9 @@ export declare const i18nMessages: {
|
|
|
87
124
|
header: string;
|
|
88
125
|
timestamp: string;
|
|
89
126
|
user: string;
|
|
127
|
+
email: string;
|
|
90
128
|
action: string;
|
|
129
|
+
operation: string;
|
|
91
130
|
subject: string;
|
|
92
131
|
field: string;
|
|
93
132
|
outcome: string;
|
|
@@ -97,6 +136,9 @@ export declare const i18nMessages: {
|
|
|
97
136
|
reason: string;
|
|
98
137
|
resolvedFrom: string;
|
|
99
138
|
permissionSet: string;
|
|
139
|
+
permissionTrace: string;
|
|
140
|
+
decisivePermission: string;
|
|
141
|
+
decisiveRule: string;
|
|
100
142
|
request: string;
|
|
101
143
|
requestMethod: string;
|
|
102
144
|
requestPath: string;
|
|
@@ -111,14 +153,30 @@ export declare const i18nMessages: {
|
|
|
111
153
|
placeholder: string;
|
|
112
154
|
};
|
|
113
155
|
filter: {
|
|
156
|
+
user_placeholder: string;
|
|
157
|
+
selected_user_prefix: string;
|
|
158
|
+
subject_placeholder: string;
|
|
159
|
+
selected_subject_prefix: string;
|
|
160
|
+
action_placeholder: string;
|
|
161
|
+
selected_action_prefix: string;
|
|
162
|
+
status_placeholder: string;
|
|
163
|
+
selected_status_prefix: string;
|
|
114
164
|
outcome_placeholder: string;
|
|
115
165
|
selected_outcome_prefix: string;
|
|
116
166
|
};
|
|
167
|
+
action: {
|
|
168
|
+
manage: string;
|
|
169
|
+
create: string;
|
|
170
|
+
read: string;
|
|
171
|
+
update: string;
|
|
172
|
+
delete: string;
|
|
173
|
+
};
|
|
117
174
|
columns: {
|
|
118
175
|
timestamp: string;
|
|
119
176
|
user: string;
|
|
120
177
|
subject: string;
|
|
121
178
|
action: string;
|
|
179
|
+
operation: string;
|
|
122
180
|
outcome: string;
|
|
123
181
|
};
|
|
124
182
|
outcome: {
|
|
@@ -139,7 +197,9 @@ export declare const i18nMessages: {
|
|
|
139
197
|
header: string;
|
|
140
198
|
timestamp: string;
|
|
141
199
|
user: string;
|
|
200
|
+
email: string;
|
|
142
201
|
action: string;
|
|
202
|
+
operation: string;
|
|
143
203
|
subject: string;
|
|
144
204
|
field: string;
|
|
145
205
|
outcome: string;
|
|
@@ -149,6 +209,9 @@ export declare const i18nMessages: {
|
|
|
149
209
|
reason: string;
|
|
150
210
|
resolvedFrom: string;
|
|
151
211
|
permissionSet: string;
|
|
212
|
+
permissionTrace: string;
|
|
213
|
+
decisivePermission: string;
|
|
214
|
+
decisiveRule: string;
|
|
152
215
|
request: string;
|
|
153
216
|
requestMethod: string;
|
|
154
217
|
requestPath: string;
|
|
@@ -163,14 +226,30 @@ export declare const i18nMessages: {
|
|
|
163
226
|
placeholder: string;
|
|
164
227
|
};
|
|
165
228
|
filter: {
|
|
229
|
+
user_placeholder: string;
|
|
230
|
+
selected_user_prefix: string;
|
|
231
|
+
subject_placeholder: string;
|
|
232
|
+
selected_subject_prefix: string;
|
|
233
|
+
action_placeholder: string;
|
|
234
|
+
selected_action_prefix: string;
|
|
235
|
+
status_placeholder: string;
|
|
236
|
+
selected_status_prefix: string;
|
|
166
237
|
outcome_placeholder: string;
|
|
167
238
|
selected_outcome_prefix: string;
|
|
168
239
|
};
|
|
240
|
+
action: {
|
|
241
|
+
manage: string;
|
|
242
|
+
create: string;
|
|
243
|
+
read: string;
|
|
244
|
+
update: string;
|
|
245
|
+
delete: string;
|
|
246
|
+
};
|
|
169
247
|
columns: {
|
|
170
248
|
timestamp: string;
|
|
171
249
|
user: string;
|
|
172
250
|
subject: string;
|
|
173
251
|
action: string;
|
|
252
|
+
operation: string;
|
|
174
253
|
outcome: string;
|
|
175
254
|
};
|
|
176
255
|
outcome: {
|
|
@@ -191,7 +270,9 @@ export declare const i18nMessages: {
|
|
|
191
270
|
header: string;
|
|
192
271
|
timestamp: string;
|
|
193
272
|
user: string;
|
|
273
|
+
email: string;
|
|
194
274
|
action: string;
|
|
275
|
+
operation: string;
|
|
195
276
|
subject: string;
|
|
196
277
|
field: string;
|
|
197
278
|
outcome: string;
|
|
@@ -201,6 +282,9 @@ export declare const i18nMessages: {
|
|
|
201
282
|
reason: string;
|
|
202
283
|
resolvedFrom: string;
|
|
203
284
|
permissionSet: string;
|
|
285
|
+
permissionTrace: string;
|
|
286
|
+
decisivePermission: string;
|
|
287
|
+
decisiveRule: string;
|
|
204
288
|
request: string;
|
|
205
289
|
requestMethod: string;
|
|
206
290
|
requestPath: string;
|
|
@@ -87,6 +87,8 @@ export declare const i18nMessages: {
|
|
|
87
87
|
name: string;
|
|
88
88
|
role: string;
|
|
89
89
|
nameEmptyError: string;
|
|
90
|
+
restaurantRequired: string;
|
|
91
|
+
roleRequired: string;
|
|
90
92
|
};
|
|
91
93
|
posRole: {
|
|
92
94
|
placeholder: string;
|
|
@@ -97,7 +99,7 @@ export declare const i18nMessages: {
|
|
|
97
99
|
};
|
|
98
100
|
};
|
|
99
101
|
};
|
|
100
|
-
|
|
102
|
+
permissionSet: {
|
|
101
103
|
title: string;
|
|
102
104
|
createButtonLabel: string;
|
|
103
105
|
search: {
|
|
@@ -120,9 +122,13 @@ export declare const i18nMessages: {
|
|
|
120
122
|
title: string;
|
|
121
123
|
confirmationMessage: string;
|
|
122
124
|
successMessage: string;
|
|
125
|
+
conflictError: string;
|
|
126
|
+
setReferencedConflictError: string;
|
|
123
127
|
};
|
|
124
128
|
name: string;
|
|
125
|
-
|
|
129
|
+
namePlaceholder: string;
|
|
130
|
+
includedSets: string;
|
|
131
|
+
includedSetsPlaceholder: string;
|
|
126
132
|
};
|
|
127
133
|
table: {
|
|
128
134
|
columns: {
|
|
@@ -217,6 +223,8 @@ export declare const i18nMessages: {
|
|
|
217
223
|
name: string;
|
|
218
224
|
role: string;
|
|
219
225
|
nameEmptyError: string;
|
|
226
|
+
restaurantRequired: string;
|
|
227
|
+
roleRequired: string;
|
|
220
228
|
};
|
|
221
229
|
posRole: {
|
|
222
230
|
placeholder: string;
|
|
@@ -227,7 +235,7 @@ export declare const i18nMessages: {
|
|
|
227
235
|
};
|
|
228
236
|
};
|
|
229
237
|
};
|
|
230
|
-
|
|
238
|
+
permissionSet: {
|
|
231
239
|
title: string;
|
|
232
240
|
createButtonLabel: string;
|
|
233
241
|
search: {
|
|
@@ -250,9 +258,13 @@ export declare const i18nMessages: {
|
|
|
250
258
|
title: string;
|
|
251
259
|
confirmationMessage: string;
|
|
252
260
|
successMessage: string;
|
|
261
|
+
conflictError: string;
|
|
262
|
+
setReferencedConflictError: string;
|
|
253
263
|
};
|
|
254
264
|
name: string;
|
|
255
|
-
|
|
265
|
+
namePlaceholder: string;
|
|
266
|
+
includedSets: string;
|
|
267
|
+
includedSetsPlaceholder: string;
|
|
256
268
|
};
|
|
257
269
|
table: {
|
|
258
270
|
columns: {
|
|
@@ -347,6 +359,8 @@ export declare const i18nMessages: {
|
|
|
347
359
|
name: string;
|
|
348
360
|
role: string;
|
|
349
361
|
nameEmptyError: string;
|
|
362
|
+
restaurantRequired: string;
|
|
363
|
+
roleRequired: string;
|
|
350
364
|
};
|
|
351
365
|
posRole: {
|
|
352
366
|
placeholder: string;
|
|
@@ -357,7 +371,7 @@ export declare const i18nMessages: {
|
|
|
357
371
|
};
|
|
358
372
|
};
|
|
359
373
|
};
|
|
360
|
-
|
|
374
|
+
permissionSet: {
|
|
361
375
|
title: string;
|
|
362
376
|
createButtonLabel: string;
|
|
363
377
|
search: {
|
|
@@ -380,9 +394,13 @@ export declare const i18nMessages: {
|
|
|
380
394
|
title: string;
|
|
381
395
|
confirmationMessage: string;
|
|
382
396
|
successMessage: string;
|
|
397
|
+
conflictError: string;
|
|
398
|
+
setReferencedConflictError: string;
|
|
383
399
|
};
|
|
384
400
|
name: string;
|
|
385
|
-
|
|
401
|
+
namePlaceholder: string;
|
|
402
|
+
includedSets: string;
|
|
403
|
+
includedSetsPlaceholder: string;
|
|
386
404
|
};
|
|
387
405
|
table: {
|
|
388
406
|
columns: {
|
|
@@ -477,6 +495,8 @@ export declare const i18nMessages: {
|
|
|
477
495
|
name: string;
|
|
478
496
|
role: string;
|
|
479
497
|
nameEmptyError: string;
|
|
498
|
+
restaurantRequired: string;
|
|
499
|
+
roleRequired: string;
|
|
480
500
|
};
|
|
481
501
|
posRole: {
|
|
482
502
|
placeholder: string;
|
|
@@ -494,7 +514,7 @@ export declare const i18nMessages: {
|
|
|
494
514
|
};
|
|
495
515
|
};
|
|
496
516
|
};
|
|
497
|
-
|
|
517
|
+
permissionSet: {
|
|
498
518
|
title: string;
|
|
499
519
|
createButtonLabel: string;
|
|
500
520
|
search: {
|
|
@@ -517,9 +537,13 @@ export declare const i18nMessages: {
|
|
|
517
537
|
title: string;
|
|
518
538
|
confirmationMessage: string;
|
|
519
539
|
successMessage: string;
|
|
540
|
+
conflictError: string;
|
|
541
|
+
setReferencedConflictError: string;
|
|
520
542
|
};
|
|
521
543
|
name: string;
|
|
522
|
-
|
|
544
|
+
namePlaceholder: string;
|
|
545
|
+
includedSets: string;
|
|
546
|
+
includedSetsPlaceholder: string;
|
|
523
547
|
};
|
|
524
548
|
table: {
|
|
525
549
|
columns: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@feedmepos/mf-hrm-portal",
|
|
3
|
-
"version": "1.1.3-dev",
|
|
3
|
+
"version": "1.1.3-dev.10",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist"
|
|
6
6
|
],
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"@feedmepos/core": "^2.14.36",
|
|
19
19
|
"@feedmepos/mf-common": "^1.29.10",
|
|
20
20
|
"@feedmepos/ui-library": "^1.7.0",
|
|
21
|
+
"@feedmepos/feature-flag": "^0.0.15",
|
|
21
22
|
"axios": "^1.7.7",
|
|
22
23
|
"dayjs": "^1.11.10",
|
|
23
24
|
"libphonenumber-js": "^1.11.1",
|
|
@@ -28,7 +29,7 @@
|
|
|
28
29
|
"vue-router": "^4.3.2",
|
|
29
30
|
"vue3-lottie": "^3.3.0",
|
|
30
31
|
"xlsx": "^0.18.5",
|
|
31
|
-
"@feedmepos/hrm-permission": "
|
|
32
|
+
"@feedmepos/hrm-permission": "0.0.4-dev.10"
|
|
32
33
|
},
|
|
33
34
|
"devDependencies": {
|
|
34
35
|
"@casl/ability": "^3.4.0",
|
|
@@ -76,6 +77,7 @@
|
|
|
76
77
|
"publish-github": "pnpm build && pnpm publish --registry https://npm.pkg.github.com/ --tag latest --no-git-checks",
|
|
77
78
|
"publish-github:beta": "pnpm build && pnpm publish --registry https://npm.pkg.github.com/ --tag beta --no-git-checks",
|
|
78
79
|
"build-only": "pnpm build:mf && pnpm build:dts",
|
|
80
|
+
"build-only:dev": "VITE_TARGET_ENV=dev pnpm build:mf && pnpm build:dts",
|
|
79
81
|
"type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false",
|
|
80
82
|
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
|
|
81
83
|
"format": "prettier --write src/",
|