Skip to content

Commit

Permalink
Fix sapsystem saga
Browse files Browse the repository at this point in the history
  • Loading branch information
fabriziosestito committed Jul 3, 2023
1 parent 73a460b commit 0120c7c
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 22 deletions.
21 changes: 16 additions & 5 deletions assets/js/state/sagas/sapSystems.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ function* sapSystemRegistered({ payload }) {
}

function* sapSystemHealthChanged({ payload }) {
const sid = (yield select(getSapSystem(payload.id)))?.sid || 'unable to determine SID';
const sid =
(yield select(getSapSystem(payload.id)))?.sid || 'unable to determine SID';

yield put(updateSapSystemHealth(payload));
yield put(
Expand All @@ -65,7 +66,8 @@ function* applicationInstanceRegistered({ payload }) {
);
}

export function* applicationInstanceMoved({ payload: { sid, instance_number } }) {
export function* applicationInstanceMoved({ payload }) {
const { sid, instance_number } = payload;
yield put(updateApplicationInstanceHost(payload));
yield put(
notify({
Expand Down Expand Up @@ -112,10 +114,19 @@ export function* sapSystemUpdated({ payload }) {
export function* watchSapSystem() {
yield takeEvery(SAP_SYSTEM_REGISTERED, sapSystemRegistered);
yield takeEvery(SAP_SYSTEM_HEALTH_CHANGED, sapSystemHealthChanged);
yield takeEvery(APPLICATION_INSTANCE_REGISTERED, applicationInstanceRegistered);
yield takeEvery(
APPLICATION_INSTANCE_REGISTERED,
applicationInstanceRegistered
);
yield takeEvery(APPLICATION_INSTANCE_MOVED, applicationInstanceMoved);
yield takeEvery(APPLICATION_INSTANCE_DEREGISTERED, applicationInstanceDeregistered);
yield takeEvery(APPLICATION_INSTANCE_HEALTH_CHANGED, applicationInstanceHealthChanged);
yield takeEvery(
APPLICATION_INSTANCE_DEREGISTERED,
applicationInstanceDeregistered
);
yield takeEvery(
APPLICATION_INSTANCE_HEALTH_CHANGED,
applicationInstanceHealthChanged
);
yield takeEvery(SAP_SYSTEM_DEREGISTERED, sapSystemDeregistered);
yield takeEvery(SAP_SYSTEM_UPDATED, sapSystemUpdated);
}
49 changes: 32 additions & 17 deletions assets/js/state/sapSystems.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,12 @@ export const sapSystemsListSlice = createSlice({
setSapSystems: (state, { payload }) => {
state.sapSystems = payload;

state.applicationInstances = payload.flatMap((sapSystem) => sapSystem.application_instances);
state.databaseInstances = payload.flatMap((sapSystem) => sapSystem.database_instances);
state.applicationInstances = payload.flatMap(
(sapSystem) => sapSystem.application_instances
);
state.databaseInstances = payload.flatMap(
(sapSystem) => sapSystem.database_instances
);
},
startSapSystemsLoading: (state) => {
state.loading = true;
Expand All @@ -36,7 +40,10 @@ export const sapSystemsListSlice = createSlice({
// When a new ApplicationInstanceRegistered comes in,
// it need to be appended to the list of the application instances of the relative sap system
appendApplicationInstance: (state, action) => {
state.applicationInstances = [...state.applicationInstances, action.payload];
state.applicationInstances = [
...state.applicationInstances,
action.payload,
];
},
removeApplicationInstance: (
state,
Expand Down Expand Up @@ -81,16 +88,18 @@ export const sapSystemsListSlice = createSlice({
state,
{ payload: { sap_system_id, old_host_id, new_host_id, instance_number } }
) => {
state.applicationInstances = state.applicationInstances.map((instance) => {
if (
instance.sap_system_id === sap_system_id &&
instance.host_id === old_host_id &&
instance.instance_number === instance_number
) {
instance.host_id = new_host_id;
state.applicationInstances = state.applicationInstances.map(
(instance) => {
if (
instance.sap_system_id === sap_system_id &&
instance.host_id === old_host_id &&
instance.instance_number === instance_number
) {
instance.host_id = new_host_id;
}
return instance;
}
return instance;
});
);
},
updateApplicationInstanceHealth: (state, action) => {
state.applicationInstances = state.applicationInstances.map((instance) =>
Expand All @@ -110,7 +119,8 @@ export const sapSystemsListSlice = createSlice({
action.payload.instance_number === instance.instance_number
) {
instance.system_replication = action.payload.system_replication;
instance.system_replication_status = action.payload.system_replication_status;
instance.system_replication_status =
action.payload.system_replication_status;
}
return instance;
});
Expand All @@ -134,7 +144,9 @@ export const sapSystemsListSlice = createSlice({
});
},
removeSAPSystem: (state, { payload: { id } }) => {
state.sapSystems = state.sapSystems.filter((sapSystem) => sapSystem.id !== id);
state.sapSystems = state.sapSystems.filter(
(sapSystem) => sapSystem.id !== id
);
},
updateSAPSystem: (state, { payload }) => {
state.sapSystems = state.sapSystems.map((sapSystem) => {
Expand All @@ -149,10 +161,13 @@ export const sapSystemsListSlice = createSlice({

export const SAP_SYSTEM_REGISTERED = 'SAP_SYSTEM_REGISTERED';
export const SAP_SYSTEM_HEALTH_CHANGED = 'SAP_SYSTEM_HEALTH_CHANGED';
export const APPLICATION_INSTANCE_REGISTERED = 'APPLICATION_INSTANCE_REGISTERED';
export const APPLICATION_INSTANCE_REGISTERED =
'APPLICATION_INSTANCE_REGISTERED';
export const APPLICATION_INSTANCE_MOVED = 'APPLICATION_INSTANCE_MOVED';
export const APPLICATION_INSTANCE_DEREGISTERED = 'APPLICATION_INSTANCE_DEREGISTERED';
export const APPLICATION_INSTANCE_HEALTH_CHANGED = 'APPLICATION_INSTANCE_HEALTH_CHANGED';
export const APPLICATION_INSTANCE_DEREGISTERED =
'APPLICATION_INSTANCE_DEREGISTERED';
export const APPLICATION_INSTANCE_HEALTH_CHANGED =
'APPLICATION_INSTANCE_HEALTH_CHANGED';
export const SAP_SYSTEM_DEREGISTERED = 'SAP_SYSTEM_DEREGISTERED';
export const SAP_SYSTEM_UPDATED = 'SAP_SYSTEM_UPDATED';

Expand Down

0 comments on commit 0120c7c

Please sign in to comment.