Skip to content

Commit 5cd1a66

Browse files
committed
fix: added delete functionality
1 parent 4b85cb8 commit 5cd1a66

File tree

5 files changed

+57
-0
lines changed

5 files changed

+57
-0
lines changed

admin-ui/plugins/admin/components/Mapping/MappingItem.js

+23
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import {
1414
addPermissionsToRole,
1515
updatePermissionsToServer,
1616
updatePermissionsServerResponse,
17+
deleteMapping,
1718
} from '../../redux/actions/MappingActions'
1819
import GluuTypeAhead from '../../../../app/routes/Apps/Gluu/GluuTypeAhead'
1920
import applicationStyle from '../../../../app/routes/Apps/Gluu/styles/applicationstyle'
@@ -76,6 +77,14 @@ function MappingItem({ candidate }) {
7677
resetForm()
7778
autocompleteRef.current.clear()
7879
}
80+
const handleDeleteRole = () => {
81+
dispatch(
82+
deleteMapping({
83+
role: candidate.role,
84+
permissions: candidate.permissions,
85+
}),
86+
)
87+
}
7988

8089
return (
8190
<div>
@@ -86,6 +95,20 @@ function MappingItem({ candidate }) {
8695
<Accordion.Header className="text-info">
8796
<Accordion.Indicator className="mr-2" />
8897
{candidate.role}
98+
99+
<Button
100+
type="button"
101+
color="danger"
102+
onClick={() => handleDeleteRole()}
103+
style={{
104+
margin: '1px',
105+
float: 'right',
106+
padding: '0px',
107+
}}
108+
>
109+
<i className="fa fa-trash mr-2"></i>
110+
Delete
111+
</Button>
89112
<Badge
90113
color="info"
91114
style={{

admin-ui/plugins/admin/redux/actions/MappingActions.js

+6
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
UPDATE_PERMISSIONS_LOADING,
88
UPDATE_PERMISSIONS_SERVER_RESPONSE,
99
ADD_MAPPING_ROLE_PERMISSIONS,
10+
DELETE_MAPPING,
1011
} from './types'
1112

1213
export const getMapping = (action) => ({
@@ -47,3 +48,8 @@ export const addNewRolePermissions = (data) => ({
4748
type: ADD_MAPPING_ROLE_PERMISSIONS,
4849
payload: { data },
4950
})
51+
52+
export const deleteMapping = (data) => ({
53+
type: DELETE_MAPPING,
54+
payload: { data },
55+
})

admin-ui/plugins/admin/redux/actions/types.js

+1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ export const UPDATE_PERMISSIONS_SERVER_RESPONSE =
5353
'UPDATE_PERMISSIONS_SERVER_RESPONSE'
5454
export const UPDATE_PERMISSIONS_LOADING = 'UPDATE_PERMISSIONS_LOADING'
5555
export const ADD_MAPPING_ROLE_PERMISSIONS = 'ADD_MAPPING_ROLE_PERMISSIONS'
56+
export const DELETE_MAPPING = 'DELETE_MAPPING'
5657
//License Details
5758

5859
export const GET_LICENSE_DETAILS = 'GET_LICENSE_DETAILS'

admin-ui/plugins/admin/redux/api/MappingApi.js

+9
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,15 @@ export default class MappingApi {
2929
})
3030
})
3131
}
32+
deleteMapping = (data) => {
33+
const options = {}
34+
options['rolePermissionMapping'] = data
35+
return new Promise((resolve, reject) => {
36+
this.api.removeRolePermissionsPermission(options, (error, options) => {
37+
this.handleResponse(error, reject, resolve, data)
38+
})
39+
})
40+
}
3241

3342
handleResponse(error, reject, resolve, data) {
3443
if (error) {

admin-ui/plugins/admin/redux/sagas/MappingSaga.js

+18
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import {
2424
GET_MAPPING,
2525
UPDATE_PERMISSIONS_TO_SERVER,
2626
ADD_MAPPING_ROLE_PERMISSIONS,
27+
DELETE_MAPPING,
2728
} from '../actions/types'
2829
import MappingApi from '../api/MappingApi'
2930
import { getClient } from '../../../../app/redux/api/base'
@@ -88,10 +89,27 @@ export function* addMapping({ payload }) {
8889
}
8990
}
9091

92+
export function* deleteMapping({ payload }) {
93+
yield put(updatePermissionsLoading(true))
94+
try {
95+
const mappingApi = yield* newFunction()
96+
const data = yield call(mappingApi.deleteMapping, payload.data)
97+
yield put(getMapping({}))
98+
} catch (e) {
99+
yield put(updatePermissionsLoading(false))
100+
// yield put(getMappingResponse(null))
101+
if (isFourZeroOneError(e)) {
102+
const jwt = yield select((state) => state.authReducer.userinfo_jwt)
103+
yield put(getAPIAccessToken(jwt))
104+
}
105+
}
106+
}
107+
91108
export function* watchGetMapping() {
92109
yield takeLatest(GET_MAPPING, fetchMapping)
93110
yield takeEvery(UPDATE_PERMISSIONS_TO_SERVER, updateMapping)
94111
yield takeEvery(ADD_MAPPING_ROLE_PERMISSIONS, addMapping)
112+
yield takeEvery(DELETE_MAPPING, deleteMapping)
95113
}
96114

97115
export default function* rootSaga() {

0 commit comments

Comments
 (0)