Skip to content

Commit e375c61

Browse files
arvi3411301shahidhk
authored andcommitted
fix to create correct down migrations for permission (close hasura#1366) (hasura#1376)
1 parent 500a9b2 commit e375c61

File tree

3 files changed

+18
-8
lines changed

3 files changed

+18
-8
lines changed

console/src/components/Services/Data/DataState.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ const defaultModifyState = {
9999
},
100100
},
101101
permissionsState: { ...defaultPermissionsState },
102+
prevPermissionState: { ...defaultPermissionsState },
102103
ongoingRequest: false,
103104
lastError: null,
104105
lastSuccess: null,

console/src/components/Services/Data/TableCommon/TableReducer.js

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -274,17 +274,21 @@ const modifyReducer = (tableName, schemas, modifyStateOrig, action) => {
274274
};
275275

276276
case PERM_OPEN_EDIT:
277+
const permState = getBasePermissionsState(
278+
action.tableSchema,
279+
action.role,
280+
action.query,
281+
action.insertPermColumnRestriction
282+
);
277283
return {
278284
...modifyState,
279285
permissionsState: {
280-
...getBasePermissionsState(
281-
action.tableSchema,
282-
action.role,
283-
action.query,
284-
action.insertPermColumnRestriction
285-
),
286+
...permState,
286287
tableSchemas: schemas,
287288
},
289+
prevPermissionState: {
290+
...permState,
291+
},
288292
};
289293

290294
case PERM_ADD_TABLE_SCHEMAS:

console/src/components/Services/Data/TablePermissions/Actions.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -549,6 +549,9 @@ const permChangePermissions = changeType => {
549549
const permissionsState = {
550550
...getState().tables.modify.permissionsState,
551551
};
552+
const prevPermissionsState = {
553+
...getState().tables.modify.prevPermissionState,
554+
};
552555
const limitEnabled = permissionsState.limitEnabled;
553556

554557
const table = permissionsState.table;
@@ -579,7 +582,7 @@ const permChangePermissions = changeType => {
579582
args: {
580583
table: { name: table, schema: currentSchema },
581584
role: role,
582-
permission: permissionsState[query],
585+
permission: prevPermissionsState[query],
583586
},
584587
};
585588
permissionsUpQueries.push(deleteQuery);
@@ -614,7 +617,6 @@ const permChangePermissions = changeType => {
614617
delete permissionsState[query].localSet;
615618
}
616619

617-
//
618620
const deleteQuery = {
619621
type: 'drop_' + query + '_permission',
620622
args: {
@@ -627,6 +629,9 @@ const permChangePermissions = changeType => {
627629
permissionsDownQueries.push(deleteQuery);
628630
}
629631

632+
// Reverse order of down migration
633+
permissionsDownQueries.reverse();
634+
630635
// Apply migration
631636
const migrationName =
632637
changeType +

0 commit comments

Comments
 (0)