@feedmepos/mf-hrm-portal 1.1.0-dev → 1.1.2-dev

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 (101) hide show
  1. package/dist/AuditLogList-CjrocQS2.js +316 -0
  2. package/dist/{EmployeeList-tmUqs5a6.js → EmployeeList-CKHgrdAO.js} +157 -150
  3. package/dist/Main-HzplGv-e.js +85 -0
  4. package/dist/{main-DOtgCRZe.js → Main-YQ5f-v03.js} +1501 -1532
  5. package/dist/{PageLayout.vue_vue_type_script_setup_true_lang-DuwNwJDM.js → PageLayout.vue_vue_type_script_setup_true_lang-HKK4cbW8.js} +2 -2
  6. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-xQ4fjIxa.js +3050 -0
  7. package/dist/ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js +38 -0
  8. package/dist/{RoleList-C5xG7LHg.js → RoleList-Bef-7IhW.js} +52 -50
  9. package/dist/RolePermissionList-BzwpQFeO.js +285 -0
  10. package/dist/{useSearch-C25VELOk.js → SelectFilter-NbXrJ4iH.js} +90 -101
  11. package/dist/TeamMemberList-D2Xey_w9.js +949 -0
  12. package/dist/{TimesheetList-CZfo4Dua.js → TimesheetList-DVIk0Tis.js} +30 -29
  13. package/dist/api/audit-log/index.d.ts +10 -0
  14. package/dist/api/index.d.ts +1 -3
  15. package/dist/api/permission-assignment/index.d.ts +10 -0
  16. package/dist/api/permission-set/index.d.ts +8 -0
  17. package/dist/api/team/index.d.ts +5 -1
  18. package/dist/app-DUs516v0.js +2592 -0
  19. package/dist/app.js +4 -4
  20. package/dist/components/AppForm.vue.d.ts +3 -2
  21. package/dist/components/CheckboxInput.vue.d.ts +10 -4
  22. package/dist/components/CollapsibleWrapper.vue.d.ts +3 -2
  23. package/dist/components/form/SelectFilter.vue.d.ts +3 -2
  24. package/dist/components/layout/FormColumn.vue.d.ts +6 -3
  25. package/dist/components/layout/FormItem.vue.d.ts +2 -1
  26. package/dist/components/layout/FormSection.vue.d.ts +2 -1
  27. package/dist/components/layout/FullWrapper.vue.d.ts +6 -3
  28. package/dist/components/layout/PageLayout.vue.d.ts +2 -1
  29. package/dist/components/menu/BottomSheetMenu.vue.d.ts +2 -1
  30. package/dist/components/menu/BottomSheetMenuItem.vue.d.ts +6 -3
  31. package/dist/components/table/EmptyDataTemplate/index.vue.d.ts +6 -3
  32. package/dist/composables/useAppStore.d.ts +6 -6
  33. package/dist/composables/useDateRange.d.ts +1 -1
  34. package/dist/composables/useRestaurantMap.d.ts +4 -8
  35. package/dist/composables/useSheet.d.ts +1 -1
  36. package/dist/dayjs.min-DVb8OkTL.js +282 -0
  37. package/dist/employee-jH7EJnhi.js +172 -0
  38. package/dist/helpers/permission-set.d.ts +32 -0
  39. package/dist/helpers/portal-user.d.ts +8 -0
  40. package/dist/helpers/rule.d.ts +4 -3
  41. package/dist/index-CicR1-Jp.js +8411 -0
  42. package/dist/{empty-placeholder-ey8LJtN1.js → index.vue_vue_type_script_setup_true_lang-Vc5ARO29.js} +43 -2
  43. package/dist/{lodash-DNzKT_gG.js → lodash-DpoPPi_j.js} +326 -343
  44. package/dist/router/shared.d.ts +3 -1
  45. package/dist/stores/employee.d.ts +4 -4
  46. package/dist/stores/permission-assignment.d.ts +277 -0
  47. package/dist/stores/permission-set.d.ts +250 -0
  48. package/dist/stores/role.d.ts +4 -4
  49. package/dist/stores/team.d.ts +288 -0
  50. package/dist/stores/timesheet.d.ts +19 -19
  51. package/dist/team-CiZSNUQW.js +26 -0
  52. package/dist/timesheet-BRQvljNj.js +56 -0
  53. package/dist/tsconfig.app.tsbuildinfo +1 -1
  54. package/dist/types/audit-log.d.ts +19 -0
  55. package/dist/types/permission-assignment.d.ts +20 -0
  56. package/dist/types/permission-set.d.ts +20 -0
  57. package/dist/types/permission.d.ts +1 -4
  58. package/dist/types/team.d.ts +13 -3
  59. package/dist/useAppStore-RzLLN5d9.js +180 -0
  60. package/dist/useLoading-1OqFn86y.js +99 -0
  61. package/dist/useRestaurantMap-D5BNPLKh.js +107 -0
  62. package/dist/useSearch-B6WK1LBB.js +15 -0
  63. package/dist/views/audit-log/locales/index.d.ts +211 -0
  64. package/dist/views/hr/employee/{components/EmployeeForm.vue.d.ts → EmployeeForm.vue.d.ts} +10 -7
  65. package/dist/views/hr/locales/index.d.ts +0 -214
  66. package/dist/views/team/components/BasePermission.vue.d.ts +64 -0
  67. package/dist/views/team/components/{TeamMemberConditionPermission.vue.d.ts → ConditionPermission.vue.d.ts} +14 -1
  68. package/dist/views/team/components/InheritPermissionTooltip.vue.d.ts +14 -0
  69. package/dist/views/team/components/PermissionWithTooltip.vue.d.ts +14 -0
  70. package/dist/views/team/components/PortalPermissionEditor.vue.d.ts +68 -28
  71. package/dist/views/team/components/{TeamMemberRolePermission.vue.d.ts → PosRolePermission.vue.d.ts} +14 -1
  72. package/dist/views/team/locales/index.d.ts +176 -4
  73. package/dist/views/team/{components → member}/AddMemberForm.vue.d.ts +1 -0
  74. package/dist/views/team/member/TeamMemberList.vue.d.ts +4 -0
  75. package/dist/views/team/member/TeamMemberMasterUser.vue.d.ts +55 -0
  76. package/dist/views/team/role/RolePermissionForm.vue.d.ts +19 -0
  77. package/dist/views/{hr/grant-user/GrantUserList.vue.d.ts → team/role/RolePermissionList.vue.d.ts} +0 -12
  78. package/package.json +14 -9
  79. package/dist/FormSection.vue_vue_type_script_setup_true_lang-BY9VGOoM.js +0 -71
  80. package/dist/HorizontalSplitter-B9DVYJIM.js +0 -12
  81. package/dist/Main-ebQsujY3.js +0 -600
  82. package/dist/TeamMemberList-09_3YTHe.js +0 -1509
  83. package/dist/api/grant-user/index.d.ts +0 -8
  84. package/dist/app-B4KDGOw1.js +0 -1432
  85. package/dist/employee-BQc7Wgpu.js +0 -450
  86. package/dist/index-CSG8t9Dl.js +0 -58
  87. package/dist/role-DGAu9X1X.js +0 -9728
  88. package/dist/rule-CSj0p2P3.js +0 -450
  89. package/dist/stores/grant-user.d.ts +0 -86
  90. package/dist/timesheet-B4M1nCIm.js +0 -57
  91. package/dist/types/grant-user.d.ts +0 -17
  92. package/dist/useAppStore-CKmMR-gI.js +0 -93
  93. package/dist/useLoading-v4m-6mEy.js +0 -141
  94. package/dist/useRestaurantMap-e9fQJiLC.js +0 -39
  95. package/dist/views/hr/grant-user/components/GrantUserForm.vue.d.ts +0 -14
  96. package/dist/views/team/components/TeamMemberBasePermission.vue.d.ts +0 -36
  97. package/dist/views/team/components/TeamMemberMasterUser.vue.d.ts +0 -718
  98. /package/dist/views/{hr/grant-user/Main.vue.d.ts → audit-log/AuditLogList.vue.d.ts} +0 -0
  99. /package/dist/views/hr/{main.vue.d.ts → Main.vue.d.ts} +0 -0
  100. /package/dist/views/team/{TeamMemberList.vue.d.ts → Main.vue.d.ts} +0 -0
  101. /package/dist/views/team/{components → member}/MemberInfo.vue.d.ts +0 -0
@@ -0,0 +1,172 @@
1
+ import { d as v } from "./dayjs.min-DVb8OkTL.js";
2
+ import { defineStore as T, storeToRefs as _ } from "pinia";
3
+ import { ref as h } from "vue";
4
+ import { useCoreStore as U } from "@feedmepos/mf-common";
5
+ import { b as o, g as n, t as $, k as b, s as I } from "./index-CicR1-Jp.js";
6
+ import { u as S } from "./useAppStore-RzLLN5d9.js";
7
+ const c = {
8
+ async readEmployees() {
9
+ return n(await o().get("/pos-users"));
10
+ },
11
+ async createEmployee(e) {
12
+ return n(await o().post("/pos-users", e));
13
+ },
14
+ async createMasterEmployee(e) {
15
+ return n(await o().post("/pos-users/master-user", e));
16
+ },
17
+ async migrateToMasterEmployee(e, s) {
18
+ return n(await o().put(`/pos-users/migrate/${e}`, s));
19
+ },
20
+ async updateEmployee(e, s) {
21
+ return n(await o().put(`/pos-users/${e}`, s));
22
+ },
23
+ async updateMasterEmployee(e, s) {
24
+ return n(await o().put(`/pos-users/master-user/${e}`, s));
25
+ },
26
+ async deleteEmployee(e) {
27
+ return n(
28
+ await o().put(`/pos-users/${e._id}`, {
29
+ user: e,
30
+ roles: []
31
+ })
32
+ );
33
+ },
34
+ async deleteMasterEmployee(e) {
35
+ return n(
36
+ await o().put(`/pos-users/master-user/${e._id}`, {
37
+ user: e,
38
+ roles: []
39
+ })
40
+ );
41
+ },
42
+ async generateEmployeePasscode() {
43
+ return `${n(await o().get("/pos-users/generate-passcode"))}`;
44
+ },
45
+ async syncUsersMeta() {
46
+ await o().post("/pos-users/create-users-meta");
47
+ }
48
+ };
49
+ async function i(e) {
50
+ const s = S().roles.value, { restaurants: d } = U(), w = e.reduce((l, m) => {
51
+ var f;
52
+ const { _id: E, restaurantId: y } = m, p = l.findIndex((r) => r._id === E), M = ((f = d.value.find((r) => r._id === y)) == null ? void 0 : f.profile.name) || "", u = s.find((r) => r._id === m.role), g = {
53
+ restaurantId: y,
54
+ restaurantName: M,
55
+ roleId: (u == null ? void 0 : u._id) || "",
56
+ roleName: (u == null ? void 0 : u.name) || ""
57
+ };
58
+ return p < 0 ? l.push({
59
+ ...m,
60
+ since: v(b(E)).format("DD/MM/YYYY"),
61
+ restaurants: [g]
62
+ }) : l[p].restaurants.some((r) => r.restaurantId === y) || (l[p].restaurants = I([...l[p].restaurants, g], {
63
+ selector: "restaurantName"
64
+ })), l;
65
+ }, []);
66
+ return I(w, { selector: "name" });
67
+ }
68
+ const x = T("employee", () => {
69
+ const e = h([]), s = h(!1), d = h([]);
70
+ async function w() {
71
+ try {
72
+ s.value = !0;
73
+ const r = await c.readEmployees();
74
+ e.value = await i(r);
75
+ } catch (r) {
76
+ console.log("Error reading employees:", r);
77
+ } finally {
78
+ s.value = !1;
79
+ }
80
+ }
81
+ async function l(r) {
82
+ try {
83
+ const t = await c.createEmployee(r);
84
+ e.value = await i(t);
85
+ } catch (t) {
86
+ console.log("Error creating employee:", t);
87
+ }
88
+ }
89
+ async function m(r, t) {
90
+ try {
91
+ const a = await c.updateEmployee(r, t);
92
+ e.value = await i(a);
93
+ } catch (a) {
94
+ console.log("Error updating employee:", a);
95
+ }
96
+ }
97
+ async function E(r) {
98
+ try {
99
+ const t = await c.deleteEmployee(r);
100
+ e.value = await i(t);
101
+ } catch (t) {
102
+ console.log("Error deleting employee:", t);
103
+ }
104
+ }
105
+ async function y(r) {
106
+ try {
107
+ const t = await c.deleteMasterEmployee(r);
108
+ e.value = await i(t);
109
+ } catch (t) {
110
+ console.log("Error deleting master employee:", t);
111
+ }
112
+ }
113
+ async function p(r) {
114
+ try {
115
+ const t = await c.createMasterEmployee(r);
116
+ e.value = await i(t);
117
+ } catch (t) {
118
+ console.log("Error creating master employee:", t);
119
+ }
120
+ }
121
+ async function M(r, t) {
122
+ try {
123
+ const a = await c.updateMasterEmployee(r, t);
124
+ e.value = await i(a);
125
+ } catch (a) {
126
+ console.log("Error updating master employee:", a);
127
+ }
128
+ }
129
+ async function u(r, t) {
130
+ try {
131
+ const a = await c.migrateToMasterEmployee(r, t);
132
+ e.value = await i(a);
133
+ } catch (a) {
134
+ console.log("Error migrating to master employee:", a);
135
+ }
136
+ }
137
+ async function g() {
138
+ try {
139
+ d.value = await $.readTeamMemberPosUserIds();
140
+ } catch (r) {
141
+ console.log("Error reading team member pos user ids:", r);
142
+ }
143
+ }
144
+ async function f() {
145
+ await c.syncUsersMeta();
146
+ }
147
+ return {
148
+ employees: e,
149
+ restrictEmployeeIds: d,
150
+ isLoading: s,
151
+ readEmployees: w,
152
+ createEmployee: l,
153
+ updateEmployee: m,
154
+ deleteEmployee: E,
155
+ createMasterEmployee: p,
156
+ updateMasterEmployee: M,
157
+ deleteMasterEmployee: y,
158
+ migrateToMasterUser: u,
159
+ readTeamMemberPosUserIds: g,
160
+ syncUsersMeta: f
161
+ };
162
+ }), R = () => {
163
+ const e = x();
164
+ return {
165
+ ...e,
166
+ ..._(e)
167
+ };
168
+ };
169
+ export {
170
+ c as E,
171
+ R as u
172
+ };
@@ -0,0 +1,32 @@
1
+ import type { InheritedPermission, IFdtoPermissionSet } from '@/types/permission-set';
2
+ import type { FdoPermissionRule } from '@feedmepos/core/entity';
3
+ /**
4
+ * Transform permission sets by grouping role names by collection IDs for a specific field
5
+ * @param permissionSets - Array of permission sets with their permissions
6
+ * @param field - The field name to extract collection IDs from (e.g., 'restaurantId', 'warehouseId')
7
+ * @param resource - The collection of resource (e.g., list of restaurants, warehouses)
8
+ * @returns Array of objects containing collection ID and associated role names
9
+ */
10
+ export declare function transformByCollection(permissionSets: IFdtoPermissionSet[], field: string, resourceIds: string[]): InheritedPermission[];
11
+ /**
12
+ * Combine base permissions (permissions set) with user permissions
13
+ * @param basePermissions - Base permissions
14
+ * @param overridePermissions - User permissions
15
+ * @returns Combined permissions
16
+ * Return combined result with below criteria:
17
+ * - If base has it and user doesn't, return base permission with { inverted: true }
18
+ * - If user has it and base doesn't, return user permission
19
+ * - If base and user has it, nothing return
20
+ * For permission with conditions (collection: warehouses, roles, restaurants)
21
+ * - If base conditions different from user conditions, return rule with { inverted: true } and conditions on collection ids to be denied
22
+ * - If base has conditions and user doesn't, return base with { inverted: true } without conditions, essentially denied all access
23
+ * - If user has conditions and base doesn't, return user's rule (user added)
24
+ */
25
+ export declare function getOverridePermissions(basePermissions: FdoPermissionRule[], overridePermissions: FdoPermissionRule[]): FdoPermissionRule[];
26
+ /**
27
+ * Combine base permissions with override permissions to get effective permissions
28
+ * @param basePermissions - Base permissions from permission sets
29
+ * @param overridePermissions - Override permissions from permission user
30
+ * @returns - Combined effective permissions
31
+ */
32
+ export declare function getEffectivePermissions(basePermissions: FdoPermissionRule[], overridePermissions: FdoPermissionRule[]): FdoPermissionRule[];
@@ -0,0 +1,8 @@
1
+ import type { FTeamMember, IFdtoPortalUser } from '@/types/team';
2
+ /**
3
+ * Combine portal user data with permission assignment and return as team member data
4
+ * @param doc
5
+ * @param options
6
+ * @returns
7
+ */
8
+ export declare function portalUserToTeamMember(doc: IFdtoPortalUser): FTeamMember;
@@ -14,15 +14,16 @@ export declare function ruleExtension(rule: FdoPermissionRule): {
14
14
  fields?: string[] | null | undefined;
15
15
  inverted?: boolean | null | undefined;
16
16
  subject: string;
17
- actions: ("delete" | "update" | "create" | "read" | "manage")[];
17
+ actions: ("update" | "create" | "read" | "delete" | "manage")[];
18
18
  };
19
19
  export declare function getMaxDiscount(rules: FdoPermissionRule[]): number;
20
- export declare function getManagableRestaurantIds(rules: RawRule[]): string[] | null;
20
+ export declare function getManagableRestaurantIds(rules: (FdoPermissionRule | RawRule)[]): string[] | null;
21
21
  export declare function hasAdminRule(rules: FdoPermissionRule[]): boolean;
22
- export declare function usableRoleIds(rules: RawRule[]): string[] | null;
22
+ export declare function usableRoleIds(rules: (FdoPermissionRule | RawRule)[]): string[] | null;
23
23
  export declare function fromValue(values: string[], maxDiscountPercentage: number): {
24
24
  subject: string;
25
25
  actions: ("delete" | "update" | "create" | "read" | "manage")[];
26
26
  conditions: object;
27
27
  }[];
28
28
  export declare function toRule(v: string): Rule;
29
+ export declare function mapAndSortPermissions(permissions: Array<FdoPermissionRule | RawRule>): string[];