@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.
Files changed (49) hide show
  1. package/dist/AuditLogList-BghaBoJj.js +436 -0
  2. package/dist/EmployeeList-C4knb1ZM.js +626 -0
  3. package/dist/{Main-DGymQNz9.js → Main-BGcdVWrj.js} +10 -9
  4. package/dist/{Main-BqhrqOzx.js → Main-DYuuBLTj.js} +28 -27
  5. package/dist/PermissionSetList-DPKmbnO4.js +323 -0
  6. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-nbk54pp5.js +3092 -0
  7. package/dist/RoleList-CWUkSfcS.js +494 -0
  8. package/dist/TeamMemberList-BDB9zWwa.js +965 -0
  9. package/dist/{TimesheetList-hgT9DrHd.js → TimesheetList-CqVVoydR.js} +25 -24
  10. package/dist/api/index.d.ts +5 -0
  11. package/dist/api/report-query/index.d.ts +5 -0
  12. package/dist/api/team/index.d.ts +2 -5
  13. package/dist/{app-CcbYGJ22.js → app-C04LPGZa.js} +1606 -918
  14. package/dist/app.js +4 -4
  15. package/dist/composables/useReportPermissions.d.ts +14 -0
  16. package/dist/{dayjs.min-CgN1oBQf.js → dayjs.min-CKv07Hiu.js} +1 -1
  17. package/dist/employee-DyW4lRCb.js +144 -0
  18. package/dist/helpers/permission-set.d.ts +37 -0
  19. package/dist/helpers/rule.d.ts +1 -1
  20. package/dist/index-CIz_Nsy5.js +10340 -0
  21. package/dist/index-DGq_eY85.js +827 -0
  22. package/dist/{lodash-7Am6_Zd3.js → lodash-r0Tf8VGX.js} +1 -1
  23. package/dist/stores/permission-set.d.ts +15 -0
  24. package/dist/stores/team.d.ts +4 -1
  25. package/dist/style.css +1 -1
  26. package/dist/team-CSB4_BXX.js +29 -0
  27. package/dist/{timesheet-DKhEeLe7.js → timesheet-CTS0MzUs.js} +2 -2
  28. package/dist/tsconfig.app.tsbuildinfo +1 -1
  29. package/dist/types/audit-log.d.ts +1 -19
  30. package/dist/types/permission-set.d.ts +4 -0
  31. package/dist/types/report-query.d.ts +6 -0
  32. package/dist/{useAppStore-DOSLuH24.js → useAppStore-CWtHdJdl.js} +34 -46
  33. package/dist/{useLoading-BA-GSZ3R.js → useLoading-gYEFsA3E.js} +1 -1
  34. package/dist/useReportPermissions--n283f22.js +65 -0
  35. package/dist/views/audit-log/locales/index.d.ts +84 -0
  36. package/dist/views/team/locales/index.d.ts +32 -8
  37. package/package.json +4 -2
  38. package/dist/AuditLogList-DNQh1rE9.js +0 -316
  39. package/dist/EmployeeList-zU7fmC4c.js +0 -607
  40. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-BvjXcknf.js +0 -3050
  41. package/dist/RoleList-jbZqer7A.js +0 -496
  42. package/dist/RolePermissionList-Dd8ks5i7.js +0 -285
  43. package/dist/TeamMemberList-uamoOFIV.js +0 -949
  44. package/dist/employee-khk560IC.js +0 -172
  45. package/dist/index-D5sdamN5.js +0 -8411
  46. package/dist/team-CFyc6tnm.js +0 -26
  47. package/dist/types/permission.d.ts +0 -1
  48. /package/dist/views/team/{role/RolePermissionForm.vue.d.ts → permission-set/PermissionSetForm.vue.d.ts} +0 -0
  49. /package/dist/views/team/{role/RolePermissionList.vue.d.ts → permission-set/PermissionSetList.vue.d.ts} +0 -0
@@ -1,19 +1 @@
1
- export interface AuditLogMetadata {
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;
@@ -0,0 +1,6 @@
1
+ export interface ReportPermissionItem {
2
+ name: string;
3
+ permissionKey: string;
4
+ category: string;
5
+ categoryName: string;
6
+ }
@@ -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 h } from "@feedmepos/mf-common";
4
- import { g as l, b as d, s as w } from "./index-D5sdamN5.js";
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 s;
27
- const c = a.findIndex((o) => o._id === u._id), r = {
26
+ var r;
27
+ const c = a.findIndex((o) => o._id === u._id), s = {
28
28
  id: u.restaurantId,
29
- name: ((s = t.value.find((o) => o._id === u.restaurantId)) == null ? void 0 : s.profile.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: [r]
34
- }) : a[c].restaurants.some((o) => o.id === u.restaurantId) || (a[c].restaurants = w([...a[c].restaurants, r], { selector: "name" })), a;
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 w(i, { selector: "name" });
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 r = await p.readRoles();
44
- e.value = await g(r);
45
- } catch (r) {
46
- console.log("Error reading roles:", r);
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(r) {
52
- try {
53
- const s = await p.createRole(r);
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(r, s) {
60
- try {
61
- const o = await p.updateRole(r, s);
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(r) {
68
- try {
69
- const s = await p.deleteRole(r);
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 R = {
91
+ const S = {
104
92
  randomUUID: A
105
93
  };
106
- function E(e, t, i) {
107
- if (R.randomUUID && !e)
108
- return R.randomUUID();
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 S = {
101
+ const h = {
114
102
  async read() {
115
- return l(await h("/").get("/public-setting"));
103
+ return l(await w("/").get("/public-setting"));
116
104
  },
117
105
  async update(e) {
118
- return l(await h("/").put("/public-setting", e));
106
+ return l(await w("/").put("/public-setting", e));
119
107
  }
120
108
  };
121
- function L() {
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: () => L(),
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 = E();
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 S.read(), this.publicSetting;
154
+ return this.publicSetting = await h.read(), this.publicSetting;
167
155
  },
168
156
  async updatePublicSetting(e) {
169
- return this.publicSetting = await S.update({
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
- E as v
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-DOSLuH24.js";
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
- role: {
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
- roleNamePlaceholder: string;
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
- role: {
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
- roleNamePlaceholder: string;
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
- role: {
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
- roleNamePlaceholder: string;
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
- role: {
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
- roleNamePlaceholder: string;
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": "^0.0.4-dev"
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/",