Skip to content

Commit 92c36e0

Browse files
committed
fix: Set attribute_permissions to null when not picking
1 parent aeafe22 commit 92c36e0

File tree

2 files changed

+26
-25
lines changed

2 files changed

+26
-25
lines changed

src/features/instance/config/roles/defaultCalculator.ts

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -96,35 +96,36 @@ function buildCurrent(
9696
attributes: string[],
9797
showAttributes: boolean,
9898
): LocalRolePermissionTable {
99-
const attributePermissionsMap = extantTablePermissions && keyBy(extantTablePermissions.attribute_permissions, 'attribute_name');
99+
const attributePermissionsMap = extantTablePermissions && keyBy(extantTablePermissions.attribute_permissions || [], 'attribute_name');
100100
return {
101101
read: extantTablePermissions ? extantTablePermissions.read : false,
102102
insert: extantTablePermissions ? extantTablePermissions.insert : false,
103103
update: extantTablePermissions ? extantTablePermissions.update : false,
104104
delete: extantTablePermissions ? extantTablePermissions.delete : false,
105-
attribute_permissions: attributes
106-
.filter(() => showAttributes)
107-
.map((a: string) => {
108-
const extantAttributePermissions = attributePermissionsMap?.[a];
105+
attribute_permissions: showAttributes
106+
? attributes
107+
.map((a: string) => {
108+
const extantAttributePermissions = attributePermissionsMap?.[a];
109109

110-
return {
111-
attribute_name: a,
112-
read: extantAttributePermissions
113-
? extantAttributePermissions.read
114-
: extantTablePermissions?.attribute_permissions.length
115-
? false
116-
: extantTablePermissions?.read || false,
117-
insert: extantAttributePermissions
118-
? extantAttributePermissions.insert
119-
: extantTablePermissions?.attribute_permissions.length
120-
? false
121-
: extantTablePermissions?.insert || false,
122-
update: extantAttributePermissions
123-
? extantAttributePermissions.update
124-
: extantTablePermissions?.attribute_permissions.length
125-
? false
126-
: extantTablePermissions?.update || false,
127-
};
128-
}),
110+
return {
111+
attribute_name: a,
112+
read: extantAttributePermissions
113+
? extantAttributePermissions.read
114+
: extantTablePermissions?.attribute_permissions?.length
115+
? false
116+
: extantTablePermissions?.read || false,
117+
insert: extantAttributePermissions
118+
? extantAttributePermissions.insert
119+
: extantTablePermissions?.attribute_permissions?.length
120+
? false
121+
: extantTablePermissions?.insert || false,
122+
update: extantAttributePermissions
123+
? extantAttributePermissions.update
124+
: extantTablePermissions?.attribute_permissions?.length
125+
? false
126+
: extantTablePermissions?.update || false,
127+
};
128+
})
129+
: null,
129130
};
130131
}

src/lib/api.patch.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export interface LocalRolePermissionTable {
4747
insert: boolean;
4848
update: boolean;
4949
delete: boolean;
50-
attribute_permissions: LocalRoleAttributePermissionTable[];
50+
attribute_permissions: LocalRoleAttributePermissionTable[] | null;
5151
}
5252

5353
export type LocalRolePermissionAction = keyof Omit<LocalRolePermissionTable, 'attribute_permissions'>;

0 commit comments

Comments
 (0)