@feedmepos/mf-hrm-portal 2.0.8-dev → 2.0.8-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-CNrMFE7u.js +708 -0
- package/dist/{EmployeeList-O6XTYBcz.js → EmployeeList-cOmlbt40.js} +164 -169
- package/dist/FormSection.vue_vue_type_script_setup_true_lang-BVb8c4YU.js +71 -0
- package/dist/HorizontalSplitter-o860F4xM.js +12 -0
- package/dist/{Main-XEb1ECXG.js → Main-BDXOkOE2.js} +11 -10
- package/dist/Main-BJh3lH16.js +560 -0
- package/dist/{Main--bRTC1IR.js → Main-C3koRp1u.js} +8 -7
- package/dist/PermissionSetList-CLJn0V0J.js +338 -0
- package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Bcr-EX6B.js +3471 -0
- package/dist/{RoleList-BeB1etH6.js → RoleList-Bd3v0EoJ.js} +26 -24
- package/dist/TeamMemberList-CbfbIqYV.js +989 -0
- package/dist/{TimesheetList-DNzuykEu.js → TimesheetList-DkJWAHEN.js} +11 -10
- package/dist/{app-BovCLczm.js → app-CBCdQFuQ.js} +1458 -1005
- package/dist/app.js +2 -2
- package/dist/{dayjs.min-dxVeOXk_.js → dayjs.min-D-dyRkoG.js} +1 -1
- package/dist/{employee-DGiDGhcK.js → employee-BUIgpjQN.js} +21 -20
- package/dist/{index-CQ26ps7Z.js → index-BMJS_Lkf.js} +1 -1
- package/dist/index-CPrEayXj.js +968 -0
- package/dist/{index-C0yiZ_7g.js → iteration-CsLWDBUl.js} +3444 -4352
- package/dist/{lodash-CBlFHm6b.js → lodash-B9IFDgiG.js} +1 -1
- package/dist/src/api/grant-user/index.d.ts +8 -0
- package/dist/src/api/index.d.ts +3 -1
- package/dist/src/composables/useBasePermission.d.ts +37 -0
- package/dist/src/helpers/permission-set.d.ts +26 -4
- package/dist/src/helpers/permission-set.test.d.ts +1 -0
- package/dist/src/helpers/permission-sync.d.ts +12 -0
- package/dist/src/router/shared.d.ts +2 -1
- package/dist/src/stores/grant-user.d.ts +86 -0
- package/dist/src/types/grant-user.d.ts +27 -0
- package/dist/src/views/audit-log/locales/index.d.ts +140 -0
- package/dist/src/views/grant/GrantUserList.vue.d.ts +17 -0
- package/dist/src/views/grant/Main.vue.d.ts +2 -0
- package/dist/src/views/grant/components/GrantUserForm.vue.d.ts +17 -0
- package/dist/src/views/grant/locales/index.d.ts +232 -0
- package/dist/src/views/team/components/BasePermission.vue.d.ts +3 -3
- package/dist/style.css +1 -1
- package/dist/{team-BqxJ-gNb.js → team-6mA14lfK.js} +1 -1
- package/dist/{timesheet-BVR_FxsT.js → timesheet-DG2p1hTy.js} +10 -9
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{useAppStore-gvdZApLV.js → useAppStore-CmUOIsdB.js} +1 -1
- package/dist/{useLoading-CCzb5k4G.js → useLoading-Ct9N6Ir6.js} +1 -1
- package/dist/{useReportPermissions-9TaHhs9I.js → useReportPermissions-D_KEL6RC.js} +12 -11
- package/dist/useRestaurantMap-e9fQJiLC.js +39 -0
- package/package.json +2 -2
- package/dist/AuditLogList-Dp5B1jR-.js +0 -492
- package/dist/PermissionSetList-DAwnZ-Gu.js +0 -327
- package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Bx7A0p-f.js +0 -3333
- package/dist/TeamMemberList-BKCsNEuQ.js +0 -979
- package/dist/useRestaurantMap-D5BNPLKh.js +0 -107
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IFdtoGrantUser, IFdtoCreateGrantUserReq, IFdtoGrantValidationRes } from '@/types/grant-user';
|
|
2
|
+
declare const GrantUserAPI: {
|
|
3
|
+
getGrantUsers(): Promise<IFdtoGrantUser[]>;
|
|
4
|
+
createGrantUser(dto: IFdtoCreateGrantUserReq): Promise<IFdtoGrantUser>;
|
|
5
|
+
revokeGrantUser(id: string, restaurantId: string): Promise<IFdtoGrantUser>;
|
|
6
|
+
validatePasscode(passcode: string, restaurantId: string): Promise<IFdtoGrantValidationRes>;
|
|
7
|
+
};
|
|
8
|
+
export default GrantUserAPI;
|
package/dist/src/api/index.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ export declare class ApiError extends Error {
|
|
|
3
3
|
readonly status: number;
|
|
4
4
|
constructor(message: string, status: number);
|
|
5
5
|
}
|
|
6
|
-
export declare const businessClientInstance: () => AxiosInstance;
|
|
6
|
+
export declare const businessClientInstance: (subPath?: string) => AxiosInstance;
|
|
7
7
|
export declare const queryEngineClientInstance: () => AxiosInstance;
|
|
8
|
+
export declare const grantClientInstance: () => AxiosInstance;
|
|
9
|
+
export declare const grantValidateClientInstance: () => AxiosInstance;
|
|
8
10
|
export declare function getAxiosData<T>(response: AxiosResponse<T>): T;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type ComputedRef, type Ref } from 'vue';
|
|
2
|
+
import { type IFdtoPortalPermissionsWithVisibilityCondition } from '@feedmepos/hrm-permission';
|
|
3
|
+
import type { FdoPermissionRule } from '@feedmepos/core/entity';
|
|
4
|
+
export type CategoryGroup = {
|
|
5
|
+
category: string;
|
|
6
|
+
options: {
|
|
7
|
+
label: string;
|
|
8
|
+
value: string;
|
|
9
|
+
}[];
|
|
10
|
+
selectedSubjects: string[];
|
|
11
|
+
isMultiAction: boolean;
|
|
12
|
+
actionColumns: string[];
|
|
13
|
+
permissionActionsMap: Map<string, string[]>;
|
|
14
|
+
selectedActionsMap: Map<string, Set<string>>;
|
|
15
|
+
coverSubject: string | null;
|
|
16
|
+
coverSelectedActions: Set<string>;
|
|
17
|
+
coverCoversAll: boolean;
|
|
18
|
+
};
|
|
19
|
+
export declare function useBasePermission(modelValue: Readonly<Ref<FdoPermissionRule[]>>, allPermissions: ComputedRef<IFdtoPortalPermissionsWithVisibilityCondition[]>, excludedSubjects: Readonly<Ref<string[]>>, emit: (event: 'update:model-value', value: FdoPermissionRule[]) => void): {
|
|
20
|
+
categoryGroups: ComputedRef<CategoryGroup[]>;
|
|
21
|
+
toggleCategory: (category: string, subjects: unknown[]) => void;
|
|
22
|
+
isAllManageChecked: (group: CategoryGroup) => boolean;
|
|
23
|
+
toggleAllManage: (group: CategoryGroup) => void;
|
|
24
|
+
isManageChecked: (group: CategoryGroup, subject: string) => boolean;
|
|
25
|
+
isManageIndeterminate: (group: CategoryGroup, subject: string) => boolean;
|
|
26
|
+
toggleManage: (_group: CategoryGroup, subject: string, checked: boolean) => void;
|
|
27
|
+
hasNonManageActions: (group: CategoryGroup, subject: string) => boolean;
|
|
28
|
+
isActionChecked: (group: CategoryGroup, subject: string, action: string) => boolean;
|
|
29
|
+
isRowFullyCoveredByCover: (group: CategoryGroup, subject: string) => boolean;
|
|
30
|
+
isActionCoveredByCover: (group: CategoryGroup, subject: string, action: string) => boolean;
|
|
31
|
+
permissionDefinesAction: (group: CategoryGroup, subject: string, action: string) => boolean;
|
|
32
|
+
toggleAction: (subject: string, action: string, checked: boolean) => void;
|
|
33
|
+
isAllActionChecked: (group: CategoryGroup, action: string) => boolean;
|
|
34
|
+
isAllActionIndeterminate: (group: CategoryGroup, action: string) => boolean;
|
|
35
|
+
toggleAllAction: (group: CategoryGroup, action: string, checked: boolean) => void;
|
|
36
|
+
actionLabel: (action: string) => string;
|
|
37
|
+
};
|
|
@@ -46,15 +46,37 @@ export declare function materializeSystemPermissionSetOverrides(overridePermissi
|
|
|
46
46
|
* Inverted rules (explicit user denials) are always preserved.
|
|
47
47
|
*/
|
|
48
48
|
export declare function stripSystemExpandedPositives(permissions: FdoPermissionRule[]): FdoPermissionRule[];
|
|
49
|
+
export declare const REPORT_SUBJECT_PREFIX = "business::report::";
|
|
49
50
|
/**
|
|
50
|
-
* Filter out
|
|
51
|
-
*
|
|
51
|
+
* Filter out stale report permission rules.
|
|
52
|
+
*
|
|
53
|
+
* Only rules whose subject starts with `business::report::` are candidates for removal —
|
|
54
|
+
* any other subject (restaurant, role, warehouse, etc.) passes through untouched.
|
|
55
|
+
* A report-prefixed subject is kept only if it exists in `knownReportSubjects`.
|
|
52
56
|
*
|
|
53
57
|
* This handles:
|
|
54
58
|
* - Deprecated/renamed subjects (e.g. `business::report::closeup` → `business::report::reports::closeup`)
|
|
55
59
|
* - Deleted dynamic reports that no longer exist
|
|
56
60
|
*/
|
|
57
|
-
export declare function filterStalePermissions(permissions: FdoPermissionRule[],
|
|
61
|
+
export declare function filterStalePermissions(permissions: FdoPermissionRule[], knownReportSubjects: Set<string>): FdoPermissionRule[];
|
|
62
|
+
/**
|
|
63
|
+
* Strip individual-report actions already covered by an `allDefaultReports` or
|
|
64
|
+
* `allCustomReports` positive grant, preventing redundant data from being saved.
|
|
65
|
+
*
|
|
66
|
+
* - If the cover rule has `manage` selected → every individual rule in that bucket is
|
|
67
|
+
* fully covered and dropped entirely.
|
|
68
|
+
* - Otherwise, only covered non-manage actions are stripped from individual rules.
|
|
69
|
+
* If `manage` was present and any non-manage action is stripped (breaking the
|
|
70
|
+
* "manage = all non-manage selected" invariant), `manage` is also stripped.
|
|
71
|
+
* Rules that end up with no remaining actions are dropped.
|
|
72
|
+
*
|
|
73
|
+
* Inverted rules and the cover subjects themselves pass through untouched.
|
|
74
|
+
*
|
|
75
|
+
* @param defaultReportSubjects Full set of subjects in the "Default Report" UI category —
|
|
76
|
+
* includes static hardcoded subjects AND dynamic reports with `isDefault: true`.
|
|
77
|
+
* Built by the caller from `portalTeamPermissions` + `customReportPermissions`.
|
|
78
|
+
*/
|
|
79
|
+
export declare function filterRedundantReportPermissions(permissions: FdoPermissionRule[], defaultReportSubjects: Set<string>): FdoPermissionRule[];
|
|
58
80
|
/**
|
|
59
81
|
* Combine base permissions with override permissions to get effective permissions
|
|
60
82
|
* @param basePermissions - Base permissions from permission sets
|
|
@@ -69,7 +91,7 @@ export declare function getEffectivePermissions(basePermissions: FdoPermissionRu
|
|
|
69
91
|
* subject is NOT present in any base permission set (i.e. they target system-expanded subjects,
|
|
70
92
|
* not permission-set-inherited subjects). These denials seed `visitedSetIds` in
|
|
71
93
|
* `expandWithSystemPermissionSets` to block runtime re-expansion of system sets that the user
|
|
72
|
-
* explicitly unchecked. Without them the editor would
|
|
94
|
+
* explicitly unchecked. Without them the editor would initialize without the denial guard and
|
|
73
95
|
* those subjects would reappear as checked the next time the form opens.
|
|
74
96
|
*
|
|
75
97
|
* Inverted rules whose subject IS in base are handled correctly by `getEffectivePermissions`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { FdoPermissionRule } from '@feedmepos/core/entity';
|
|
2
|
+
/**
|
|
3
|
+
* Keeps the `manage` action in sync with non-manage actions for a given subject.
|
|
4
|
+
*
|
|
5
|
+
* - Adds `manage` when every non-manage action in `definedActions` is selected.
|
|
6
|
+
* - Removes `manage` (and splices the rule if it becomes empty) when any
|
|
7
|
+
* non-manage action is unselected.
|
|
8
|
+
* - No-op when the subject defines only `manage` (or no non-manage actions).
|
|
9
|
+
*
|
|
10
|
+
* Mutates `newRules` in place.
|
|
11
|
+
*/
|
|
12
|
+
export declare function applyManageSync(newRules: FdoPermissionRule[], subject: string, definedActions: string[]): void;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type { IFdtoGrantUser, IFdtoCreateGrantUserReq } from '@/types/grant-user';
|
|
2
|
+
export declare const useGrantUserStore: import("pinia").StoreDefinition<"grantUser", Pick<{
|
|
3
|
+
grantUsers: import("vue").Ref<{
|
|
4
|
+
_id: string;
|
|
5
|
+
passcode: string;
|
|
6
|
+
name: string;
|
|
7
|
+
restaurantId: string;
|
|
8
|
+
roleId: string;
|
|
9
|
+
status: "active" | "used" | "revoked";
|
|
10
|
+
grantById: string;
|
|
11
|
+
grantByName: string;
|
|
12
|
+
createdAt: string;
|
|
13
|
+
updatedAt: string;
|
|
14
|
+
}[], IFdtoGrantUser[] | {
|
|
15
|
+
_id: string;
|
|
16
|
+
passcode: string;
|
|
17
|
+
name: string;
|
|
18
|
+
restaurantId: string;
|
|
19
|
+
roleId: string;
|
|
20
|
+
status: "active" | "used" | "revoked";
|
|
21
|
+
grantById: string;
|
|
22
|
+
grantByName: string;
|
|
23
|
+
createdAt: string;
|
|
24
|
+
updatedAt: string;
|
|
25
|
+
}[]>;
|
|
26
|
+
isLoading: import("vue").Ref<boolean, boolean>;
|
|
27
|
+
readGrantUsers: () => Promise<void>;
|
|
28
|
+
createGrantUser: (dto: IFdtoCreateGrantUserReq) => Promise<IFdtoGrantUser>;
|
|
29
|
+
revokeGrantUser: (id: string, restaurantId: string) => Promise<void>;
|
|
30
|
+
}, "isLoading" | "grantUsers">, Pick<{
|
|
31
|
+
grantUsers: import("vue").Ref<{
|
|
32
|
+
_id: string;
|
|
33
|
+
passcode: string;
|
|
34
|
+
name: string;
|
|
35
|
+
restaurantId: string;
|
|
36
|
+
roleId: string;
|
|
37
|
+
status: "active" | "used" | "revoked";
|
|
38
|
+
grantById: string;
|
|
39
|
+
grantByName: string;
|
|
40
|
+
createdAt: string;
|
|
41
|
+
updatedAt: string;
|
|
42
|
+
}[], IFdtoGrantUser[] | {
|
|
43
|
+
_id: string;
|
|
44
|
+
passcode: string;
|
|
45
|
+
name: string;
|
|
46
|
+
restaurantId: string;
|
|
47
|
+
roleId: string;
|
|
48
|
+
status: "active" | "used" | "revoked";
|
|
49
|
+
grantById: string;
|
|
50
|
+
grantByName: string;
|
|
51
|
+
createdAt: string;
|
|
52
|
+
updatedAt: string;
|
|
53
|
+
}[]>;
|
|
54
|
+
isLoading: import("vue").Ref<boolean, boolean>;
|
|
55
|
+
readGrantUsers: () => Promise<void>;
|
|
56
|
+
createGrantUser: (dto: IFdtoCreateGrantUserReq) => Promise<IFdtoGrantUser>;
|
|
57
|
+
revokeGrantUser: (id: string, restaurantId: string) => Promise<void>;
|
|
58
|
+
}, never>, Pick<{
|
|
59
|
+
grantUsers: import("vue").Ref<{
|
|
60
|
+
_id: string;
|
|
61
|
+
passcode: string;
|
|
62
|
+
name: string;
|
|
63
|
+
restaurantId: string;
|
|
64
|
+
roleId: string;
|
|
65
|
+
status: "active" | "used" | "revoked";
|
|
66
|
+
grantById: string;
|
|
67
|
+
grantByName: string;
|
|
68
|
+
createdAt: string;
|
|
69
|
+
updatedAt: string;
|
|
70
|
+
}[], IFdtoGrantUser[] | {
|
|
71
|
+
_id: string;
|
|
72
|
+
passcode: string;
|
|
73
|
+
name: string;
|
|
74
|
+
restaurantId: string;
|
|
75
|
+
roleId: string;
|
|
76
|
+
status: "active" | "used" | "revoked";
|
|
77
|
+
grantById: string;
|
|
78
|
+
grantByName: string;
|
|
79
|
+
createdAt: string;
|
|
80
|
+
updatedAt: string;
|
|
81
|
+
}[]>;
|
|
82
|
+
isLoading: import("vue").Ref<boolean, boolean>;
|
|
83
|
+
readGrantUsers: () => Promise<void>;
|
|
84
|
+
createGrantUser: (dto: IFdtoCreateGrantUserReq) => Promise<IFdtoGrantUser>;
|
|
85
|
+
revokeGrantUser: (id: string, restaurantId: string) => Promise<void>;
|
|
86
|
+
}, "readGrantUsers" | "createGrantUser" | "revokeGrantUser">>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface IFdtoGrantUser {
|
|
2
|
+
_id: string;
|
|
3
|
+
passcode: string;
|
|
4
|
+
name: string;
|
|
5
|
+
restaurantId: string;
|
|
6
|
+
roleId: string;
|
|
7
|
+
status: 'active' | 'used' | 'revoked';
|
|
8
|
+
grantById: string;
|
|
9
|
+
grantByName: string;
|
|
10
|
+
createdAt: string;
|
|
11
|
+
updatedAt: string;
|
|
12
|
+
}
|
|
13
|
+
export interface IFdtoCreateGrantUserReq {
|
|
14
|
+
name: string;
|
|
15
|
+
restaurantId: string;
|
|
16
|
+
roleId: string;
|
|
17
|
+
}
|
|
18
|
+
export interface IFdtoBypassUser {
|
|
19
|
+
id: string;
|
|
20
|
+
name: string;
|
|
21
|
+
role: string;
|
|
22
|
+
passcode: string;
|
|
23
|
+
}
|
|
24
|
+
export interface IFdtoGrantValidationRes {
|
|
25
|
+
bypass: boolean;
|
|
26
|
+
user: IFdtoBypassUser;
|
|
27
|
+
}
|
|
@@ -4,6 +4,7 @@ export declare const i18nMessages: {
|
|
|
4
4
|
'en-US': {
|
|
5
5
|
auditLog: {
|
|
6
6
|
title: string;
|
|
7
|
+
export: string;
|
|
7
8
|
dateRange: {
|
|
8
9
|
placeholder: string;
|
|
9
10
|
};
|
|
@@ -29,12 +30,15 @@ export declare const i18nMessages: {
|
|
|
29
30
|
columns: {
|
|
30
31
|
timestamp: string;
|
|
31
32
|
user: string;
|
|
33
|
+
role: string;
|
|
32
34
|
subject: string;
|
|
33
35
|
action: string;
|
|
34
36
|
operation: string;
|
|
35
37
|
outcome: string;
|
|
36
38
|
};
|
|
37
39
|
outcome: {
|
|
40
|
+
success: string;
|
|
41
|
+
failed: string;
|
|
38
42
|
allowed: string;
|
|
39
43
|
denied: string;
|
|
40
44
|
skipped: string;
|
|
@@ -48,21 +52,52 @@ export declare const i18nMessages: {
|
|
|
48
52
|
prevPage: string;
|
|
49
53
|
nextPage: string;
|
|
50
54
|
};
|
|
55
|
+
exportSettings: {
|
|
56
|
+
title: string;
|
|
57
|
+
};
|
|
58
|
+
exportFields: {
|
|
59
|
+
timestamp: string;
|
|
60
|
+
userName: string;
|
|
61
|
+
userPhone: string;
|
|
62
|
+
subject: string;
|
|
63
|
+
action: string;
|
|
64
|
+
operation: string;
|
|
65
|
+
outcome: string;
|
|
66
|
+
businessId: string;
|
|
67
|
+
restaurantId: string;
|
|
68
|
+
country: string;
|
|
69
|
+
resolvedFrom: string;
|
|
70
|
+
requestMethod: string;
|
|
71
|
+
requestPath: string;
|
|
72
|
+
};
|
|
51
73
|
detail: {
|
|
52
74
|
header: string;
|
|
75
|
+
date: string;
|
|
53
76
|
timestamp: string;
|
|
54
77
|
user: string;
|
|
55
78
|
email: string;
|
|
56
79
|
action: string;
|
|
57
80
|
operation: string;
|
|
81
|
+
role: string;
|
|
58
82
|
subject: string;
|
|
59
83
|
field: string;
|
|
60
84
|
outcome: string;
|
|
61
85
|
business: string;
|
|
62
86
|
restaurant: string;
|
|
87
|
+
changeDetails: string;
|
|
88
|
+
eventType: string;
|
|
63
89
|
metadata: string;
|
|
64
90
|
reason: string;
|
|
65
91
|
resolvedFrom: string;
|
|
92
|
+
resolvedFromValue: {
|
|
93
|
+
admin: string;
|
|
94
|
+
staff: string;
|
|
95
|
+
permissionSet: string;
|
|
96
|
+
systemPermissionSet: string;
|
|
97
|
+
custom: string;
|
|
98
|
+
noMatch: string;
|
|
99
|
+
unknown: string;
|
|
100
|
+
};
|
|
66
101
|
permissionSet: string;
|
|
67
102
|
permissionTrace: string;
|
|
68
103
|
decisivePermission: string;
|
|
@@ -76,6 +111,7 @@ export declare const i18nMessages: {
|
|
|
76
111
|
'zh-CN': {
|
|
77
112
|
auditLog: {
|
|
78
113
|
title: string;
|
|
114
|
+
export: string;
|
|
79
115
|
dateRange: {
|
|
80
116
|
placeholder: string;
|
|
81
117
|
};
|
|
@@ -101,12 +137,15 @@ export declare const i18nMessages: {
|
|
|
101
137
|
columns: {
|
|
102
138
|
timestamp: string;
|
|
103
139
|
user: string;
|
|
140
|
+
role: string;
|
|
104
141
|
subject: string;
|
|
105
142
|
action: string;
|
|
106
143
|
operation: string;
|
|
107
144
|
outcome: string;
|
|
108
145
|
};
|
|
109
146
|
outcome: {
|
|
147
|
+
success: string;
|
|
148
|
+
failed: string;
|
|
110
149
|
allowed: string;
|
|
111
150
|
denied: string;
|
|
112
151
|
skipped: string;
|
|
@@ -120,21 +159,52 @@ export declare const i18nMessages: {
|
|
|
120
159
|
prevPage: string;
|
|
121
160
|
nextPage: string;
|
|
122
161
|
};
|
|
162
|
+
exportSettings: {
|
|
163
|
+
title: string;
|
|
164
|
+
};
|
|
165
|
+
exportFields: {
|
|
166
|
+
timestamp: string;
|
|
167
|
+
userName: string;
|
|
168
|
+
userPhone: string;
|
|
169
|
+
subject: string;
|
|
170
|
+
action: string;
|
|
171
|
+
operation: string;
|
|
172
|
+
outcome: string;
|
|
173
|
+
businessId: string;
|
|
174
|
+
restaurantId: string;
|
|
175
|
+
country: string;
|
|
176
|
+
resolvedFrom: string;
|
|
177
|
+
requestMethod: string;
|
|
178
|
+
requestPath: string;
|
|
179
|
+
};
|
|
123
180
|
detail: {
|
|
124
181
|
header: string;
|
|
182
|
+
date: string;
|
|
125
183
|
timestamp: string;
|
|
126
184
|
user: string;
|
|
127
185
|
email: string;
|
|
128
186
|
action: string;
|
|
129
187
|
operation: string;
|
|
188
|
+
role: string;
|
|
130
189
|
subject: string;
|
|
131
190
|
field: string;
|
|
132
191
|
outcome: string;
|
|
133
192
|
business: string;
|
|
134
193
|
restaurant: string;
|
|
194
|
+
changeDetails: string;
|
|
195
|
+
eventType: string;
|
|
135
196
|
metadata: string;
|
|
136
197
|
reason: string;
|
|
137
198
|
resolvedFrom: string;
|
|
199
|
+
resolvedFromValue: {
|
|
200
|
+
admin: string;
|
|
201
|
+
staff: string;
|
|
202
|
+
permissionSet: string;
|
|
203
|
+
systemPermissionSet: string;
|
|
204
|
+
custom: string;
|
|
205
|
+
noMatch: string;
|
|
206
|
+
unknown: string;
|
|
207
|
+
};
|
|
138
208
|
permissionSet: string;
|
|
139
209
|
permissionTrace: string;
|
|
140
210
|
decisivePermission: string;
|
|
@@ -149,6 +219,7 @@ export declare const i18nMessages: {
|
|
|
149
219
|
'th-TH': {
|
|
150
220
|
auditLog: {
|
|
151
221
|
title: string;
|
|
222
|
+
export: string;
|
|
152
223
|
dateRange: {
|
|
153
224
|
placeholder: string;
|
|
154
225
|
};
|
|
@@ -174,12 +245,15 @@ export declare const i18nMessages: {
|
|
|
174
245
|
columns: {
|
|
175
246
|
timestamp: string;
|
|
176
247
|
user: string;
|
|
248
|
+
role: string;
|
|
177
249
|
subject: string;
|
|
178
250
|
action: string;
|
|
179
251
|
operation: string;
|
|
180
252
|
outcome: string;
|
|
181
253
|
};
|
|
182
254
|
outcome: {
|
|
255
|
+
success: string;
|
|
256
|
+
failed: string;
|
|
183
257
|
allowed: string;
|
|
184
258
|
denied: string;
|
|
185
259
|
skipped: string;
|
|
@@ -193,21 +267,52 @@ export declare const i18nMessages: {
|
|
|
193
267
|
prevPage: string;
|
|
194
268
|
nextPage: string;
|
|
195
269
|
};
|
|
270
|
+
exportSettings: {
|
|
271
|
+
title: string;
|
|
272
|
+
};
|
|
273
|
+
exportFields: {
|
|
274
|
+
timestamp: string;
|
|
275
|
+
userName: string;
|
|
276
|
+
userPhone: string;
|
|
277
|
+
subject: string;
|
|
278
|
+
action: string;
|
|
279
|
+
operation: string;
|
|
280
|
+
outcome: string;
|
|
281
|
+
businessId: string;
|
|
282
|
+
restaurantId: string;
|
|
283
|
+
country: string;
|
|
284
|
+
resolvedFrom: string;
|
|
285
|
+
requestMethod: string;
|
|
286
|
+
requestPath: string;
|
|
287
|
+
};
|
|
196
288
|
detail: {
|
|
197
289
|
header: string;
|
|
290
|
+
date: string;
|
|
198
291
|
timestamp: string;
|
|
199
292
|
user: string;
|
|
200
293
|
email: string;
|
|
201
294
|
action: string;
|
|
202
295
|
operation: string;
|
|
296
|
+
role: string;
|
|
203
297
|
subject: string;
|
|
204
298
|
field: string;
|
|
205
299
|
outcome: string;
|
|
206
300
|
business: string;
|
|
207
301
|
restaurant: string;
|
|
302
|
+
changeDetails: string;
|
|
303
|
+
eventType: string;
|
|
208
304
|
metadata: string;
|
|
209
305
|
reason: string;
|
|
210
306
|
resolvedFrom: string;
|
|
307
|
+
resolvedFromValue: {
|
|
308
|
+
admin: string;
|
|
309
|
+
staff: string;
|
|
310
|
+
permissionSet: string;
|
|
311
|
+
systemPermissionSet: string;
|
|
312
|
+
custom: string;
|
|
313
|
+
noMatch: string;
|
|
314
|
+
unknown: string;
|
|
315
|
+
};
|
|
211
316
|
permissionSet: string;
|
|
212
317
|
permissionTrace: string;
|
|
213
318
|
decisivePermission: string;
|
|
@@ -222,6 +327,7 @@ export declare const i18nMessages: {
|
|
|
222
327
|
'zh-Hant': {
|
|
223
328
|
auditLog: {
|
|
224
329
|
title: string;
|
|
330
|
+
export: string;
|
|
225
331
|
dateRange: {
|
|
226
332
|
placeholder: string;
|
|
227
333
|
};
|
|
@@ -247,12 +353,15 @@ export declare const i18nMessages: {
|
|
|
247
353
|
columns: {
|
|
248
354
|
timestamp: string;
|
|
249
355
|
user: string;
|
|
356
|
+
role: string;
|
|
250
357
|
subject: string;
|
|
251
358
|
action: string;
|
|
252
359
|
operation: string;
|
|
253
360
|
outcome: string;
|
|
254
361
|
};
|
|
255
362
|
outcome: {
|
|
363
|
+
success: string;
|
|
364
|
+
failed: string;
|
|
256
365
|
allowed: string;
|
|
257
366
|
denied: string;
|
|
258
367
|
skipped: string;
|
|
@@ -266,21 +375,52 @@ export declare const i18nMessages: {
|
|
|
266
375
|
prevPage: string;
|
|
267
376
|
nextPage: string;
|
|
268
377
|
};
|
|
378
|
+
exportSettings: {
|
|
379
|
+
title: string;
|
|
380
|
+
};
|
|
381
|
+
exportFields: {
|
|
382
|
+
timestamp: string;
|
|
383
|
+
userName: string;
|
|
384
|
+
userPhone: string;
|
|
385
|
+
subject: string;
|
|
386
|
+
action: string;
|
|
387
|
+
operation: string;
|
|
388
|
+
outcome: string;
|
|
389
|
+
businessId: string;
|
|
390
|
+
restaurantId: string;
|
|
391
|
+
country: string;
|
|
392
|
+
resolvedFrom: string;
|
|
393
|
+
requestMethod: string;
|
|
394
|
+
requestPath: string;
|
|
395
|
+
};
|
|
269
396
|
detail: {
|
|
270
397
|
header: string;
|
|
398
|
+
date: string;
|
|
271
399
|
timestamp: string;
|
|
272
400
|
user: string;
|
|
273
401
|
email: string;
|
|
274
402
|
action: string;
|
|
275
403
|
operation: string;
|
|
404
|
+
role: string;
|
|
276
405
|
subject: string;
|
|
277
406
|
field: string;
|
|
278
407
|
outcome: string;
|
|
279
408
|
business: string;
|
|
280
409
|
restaurant: string;
|
|
410
|
+
changeDetails: string;
|
|
411
|
+
eventType: string;
|
|
281
412
|
metadata: string;
|
|
282
413
|
reason: string;
|
|
283
414
|
resolvedFrom: string;
|
|
415
|
+
resolvedFromValue: {
|
|
416
|
+
admin: string;
|
|
417
|
+
staff: string;
|
|
418
|
+
permissionSet: string;
|
|
419
|
+
systemPermissionSet: string;
|
|
420
|
+
custom: string;
|
|
421
|
+
noMatch: string;
|
|
422
|
+
unknown: string;
|
|
423
|
+
};
|
|
284
424
|
permissionSet: string;
|
|
285
425
|
permissionTrace: string;
|
|
286
426
|
decisivePermission: string;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
declare function create(): void;
|
|
2
|
+
declare const _default: import("vue").DefineComponent<{}, {
|
|
3
|
+
create: typeof create;
|
|
4
|
+
filteredGrantUsers: import("vue").ComputedRef<{
|
|
5
|
+
_id: string;
|
|
6
|
+
passcode: string;
|
|
7
|
+
name: string;
|
|
8
|
+
restaurantId: string;
|
|
9
|
+
roleId: string;
|
|
10
|
+
status: "active" | "used" | "revoked";
|
|
11
|
+
grantById: string;
|
|
12
|
+
grantByName: string;
|
|
13
|
+
createdAt: string;
|
|
14
|
+
updatedAt: string;
|
|
15
|
+
}[]>;
|
|
16
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
17
|
+
export default _default;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
declare var __VLS_1: {
|
|
2
|
+
trigger: () => void;
|
|
3
|
+
};
|
|
4
|
+
type __VLS_Slots = {} & {
|
|
5
|
+
default?: (props: typeof __VLS_1) => any;
|
|
6
|
+
};
|
|
7
|
+
declare const __VLS_component: import("vue").DefineComponent<{}, {
|
|
8
|
+
show: import("vue").Ref<boolean, boolean>;
|
|
9
|
+
trigger: () => void;
|
|
10
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
11
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
12
|
+
export default _default;
|
|
13
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
14
|
+
new (): {
|
|
15
|
+
$slots: S;
|
|
16
|
+
};
|
|
17
|
+
};
|