@feedmepos/mf-hrm-portal 2.2.5-dev → 2.2.5-dev.3

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 (33) hide show
  1. package/dist/{ApprovalCodeList-DgcWZ3SZ.js → ApprovalCodeList-BuIPVwsl.js} +2 -2
  2. package/dist/{AuditLogList-vWKMMGvd.js → AuditLogList-l3fv_3jD.js} +3 -3
  3. package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-DuhXogXK.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-BYY9dMSQ.js} +2 -2
  4. package/dist/EmployeeList-HjNxPBcN.js +786 -0
  5. package/dist/{GrantUserList-BAW0C1bA.js → GrantUserList-B91EBl82.js} +3 -3
  6. package/dist/{Main-B7Nn8CLQ.js → Main-C_tQuQsU.js} +9 -9
  7. package/dist/{Main-Wr6cTqfM.js → Main-DeqJPnm7.js} +2 -2
  8. package/dist/{Main-NzpdRNB3.js → Main-TuG-h_qY.js} +5 -5
  9. package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-CqG0v0Sz.js +243 -0
  10. package/dist/{PermissionSetList-D6AFOleD.js → PermissionSetList-qVaYkiQ4.js} +18 -18
  11. package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Bzq2_BMn.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DcpNr0M4.js} +784 -784
  12. package/dist/{RoleList-BuqpmXn_.js → RoleList-CM0m4nya.js} +7 -7
  13. package/dist/TeamMemberList-GkMQuyoE.js +1153 -0
  14. package/dist/{TimesheetList-B5FyVyCz.js → TimesheetList-Ci2r3AOF.js} +5 -5
  15. package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-C99Jr6Ax.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-QbQ7tbJP.js} +2 -2
  16. package/dist/{app-8samJY5z.js → app-MXDLzWd6.js} +1140 -1132
  17. package/dist/app.js +1 -1
  18. package/dist/{dayjs.min-Ba4X_9nY.js → dayjs.min-DRqYbe11.js} +1 -1
  19. package/dist/{employee-BcFgm8Rt.js → employee-zsQMMIVM.js} +3 -3
  20. package/dist/{iteration-Dhdew1jW.js → iteration-CtN8sidV.js} +1 -1
  21. package/dist/{lodash-CJ3mHku0.js → lodash-BwY7earz.js} +1 -1
  22. package/dist/{role-BViYS7RK.js → role-Ds1yN3BN.js} +1 -1
  23. package/dist/{rule-Dxt1ZSQS.js → rule-DkG2eGGH.js} +257 -253
  24. package/dist/src/components/form/OutletRoleAssignment.vue.d.ts +16 -0
  25. package/dist/src/helpers/outlet-role-assignment.d.ts +40 -0
  26. package/dist/src/helpers/rule.d.ts +15 -0
  27. package/dist/src/views/team/member/TeamMemberMasterUser.vue.d.ts +12 -3
  28. package/dist/tsconfig.app.tsbuildinfo +1 -1
  29. package/dist/{useReportPermissions-BiyAfGvZ.js → useReportPermissions-B_YakoB-.js} +3 -3
  30. package/package.json +1 -1
  31. package/dist/EmployeeList-Cu4RxVQX.js +0 -889
  32. package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-BUI0Xsgc.js +0 -85
  33. package/dist/TeamMemberList-M6HA9BWu.js +0 -1248
@@ -0,0 +1,16 @@
1
+ import { type OutletRoleAssignmentProps, type OutletRoleRow } from '@/helpers/outlet-role-assignment';
2
+ declare const _default: <T extends OutletRoleRow>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
4
+ readonly "onUpdate:modelValue"?: ((rows: T[]) => any) | undefined;
5
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:modelValue"> & OutletRoleAssignmentProps<T> & Partial<{}>> & import("vue").PublicProps;
6
+ expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
7
+ attrs: any;
8
+ slots: {};
9
+ emit: (evt: "update:modelValue", rows: T[]) => void;
10
+ }>) => import("vue").VNode & {
11
+ __ctx?: Awaited<typeof __VLS_setup>;
12
+ };
13
+ export default _default;
14
+ type __VLS_PrettifyLocal<T> = {
15
+ [K in keyof T]: T[K];
16
+ } & {};
@@ -0,0 +1,40 @@
1
+ import type { HrmRestaurant } from '@/types/restaurant';
2
+ import type { Role } from '@/types/role';
3
+ export interface OutletRoleRow {
4
+ restaurantId: string;
5
+ roleId: string;
6
+ }
7
+ export interface SelectOption {
8
+ label: string;
9
+ value: string;
10
+ disabled: boolean;
11
+ }
12
+ export interface AssignmentRules {
13
+ /** Whether this role may be picked at this outlet (caller policy). */
14
+ isRoleUsable: (role: Role, restaurantId: string) => boolean;
15
+ /** Locked rows cannot be edited or removed. */
16
+ isRestaurantLocked: (restaurantId: string) => boolean;
17
+ }
18
+ /**
19
+ * Props of OutletRoleAssignment.vue. Exported from here (not declared in the
20
+ * SFC) so the generated component declaration can reference it.
21
+ */
22
+ export interface OutletRoleAssignmentProps<T extends OutletRoleRow> {
23
+ modelValue: T[];
24
+ restaurants: HrmRestaurant[];
25
+ roles: Role[];
26
+ isRoleUsable: (role: Role, restaurantId: string) => boolean;
27
+ isRestaurantLocked?: (restaurantId: string) => boolean;
28
+ createRow: () => T;
29
+ title: string;
30
+ restaurantLabel: string;
31
+ roleLabel: string;
32
+ addLabel: string;
33
+ removeLabel: string;
34
+ }
35
+ export declare function selectedRestaurantIds(rows: OutletRoleRow[]): string[];
36
+ export declare function buildRestaurantOptions(restaurants: HrmRestaurant[], rows: OutletRoleRow[], currentRestaurantId: string): SelectOption[];
37
+ export declare function buildRoleOptions(roles: Role[], restaurantId: string, currentRoleId: string, rules: AssignmentRules): SelectOption[];
38
+ export declare function pickRoleForRestaurant(roles: Role[], restaurantId: string, currentRoleId: string, rules: AssignmentRules): string;
39
+ export declare function canAddAssignment(restaurants: HrmRestaurant[], rows: OutletRoleRow[]): boolean;
40
+ export declare function removeAssignment<T extends OutletRoleRow>(rows: T[], index: number, createRow: () => T, rules: AssignmentRules): T[];
@@ -20,6 +20,21 @@ export declare function ruleExtension(rule: FdoPermissionRule): {
20
20
  };
21
21
  export declare function getMaxDiscount(rules: FdoPermissionRule[]): number;
22
22
  export declare function getManagableRestaurantIds(rules: (FdoPermissionRule | RawRule)[]): string[] | null;
23
+ export interface MasterUserAccess {
24
+ /** null = every restaurant, [] = none */
25
+ restaurantIds: string[] | null;
26
+ /** null = every role, [] = none */
27
+ roleIds: string[] | null;
28
+ }
29
+ /**
30
+ * Outlets and POS roles a team member may be assigned as a master user.
31
+ * The business owner is unrestricted regardless of stored rules: their rules
32
+ * are not editable in the portal and legacy documents often lack the
33
+ * `restaurant` / `business::role` subjects this derivation depends on.
34
+ */
35
+ export declare function resolveMasterUserAccess(rules: (FdoPermissionRule | RawRule)[], options: {
36
+ isOwner: boolean;
37
+ }): MasterUserAccess;
23
38
  export declare function hasAdminRule(rules: FdoPermissionRule[]): boolean;
24
39
  export declare function usableRoleIds(rules: (FdoPermissionRule | RawRule)[]): string[] | null;
25
40
  export declare function extractReportExtraCondition(rule: FdoPermissionRule): Record<string, unknown> | undefined;
@@ -1,6 +1,6 @@
1
1
  import { type PropType } from 'vue';
2
2
  import type { HrmRestaurant } from '@/types/restaurant';
3
- import type { CheckboxOption } from '@/components/CheckboxInput.vue';
3
+ import type { Role } from '@/types/role';
4
4
  import type { IFdtoPermissionPosUser } from '@/types/team';
5
5
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6
6
  modelValue: {
@@ -20,9 +20,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
20
20
  required: true;
21
21
  };
22
22
  roles: {
23
- type: PropType<CheckboxOption[]>;
23
+ type: PropType<Role[]>;
24
24
  required: true;
25
25
  };
26
+ usableRoleIds: {
27
+ type: PropType<string[] | null>;
28
+ default: null;
29
+ };
26
30
  posUserId: {
27
31
  type: StringConstructor;
28
32
  default: undefined;
@@ -47,9 +51,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
47
51
  required: true;
48
52
  };
49
53
  roles: {
50
- type: PropType<CheckboxOption[]>;
54
+ type: PropType<Role[]>;
51
55
  required: true;
52
56
  };
57
+ usableRoleIds: {
58
+ type: PropType<string[] | null>;
59
+ default: null;
60
+ };
53
61
  posUserId: {
54
62
  type: StringConstructor;
55
63
  default: undefined;
@@ -59,6 +67,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
59
67
  }>, {
60
68
  modelValue: IFdtoPermissionPosUser | null;
61
69
  fallbackPasscode: string;
70
+ usableRoleIds: string[] | null;
62
71
  posUserId: string;
63
72
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
64
73
  export default _default;