Skip to content

Commit 8a0ac86

Browse files
author
walrus51
committed
Refactor QueriesReducer and action creators for improved readability and consistency
1 parent e676516 commit 8a0ac86

File tree

2 files changed

+76
-81
lines changed

2 files changed

+76
-81
lines changed

applications/virtual-fly-brain/frontend/src/reducers/QueriesReducer.js

Lines changed: 62 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -19,80 +19,75 @@ const QueriesReducer = (state = initialStateQueriesReducer, response) => {
1919
let updatedQueries = [...state.queries];
2020
response.payload.query.active = true;
2121
if (Array.isArray(response.payload.query.queries)) {
22-
\ let findQuery = updatedQueries?.find(
23-
(i) => i.short_form === response.payload.short_form
24-
);
25-
26-
if (findQuery === undefined) {
27-
// Create a NEW query entry with ALL queries at once
28-
const queriesObject = {};
29-
response.payload.query.queries.forEach((query) => {
30-
query.active = true;
31-
queriesObject[query["query"]] = query;
32-
});
33-
34-
const newQuery = {
35-
short_form: response.payload.short_form,
36-
name: response.payload.query.name,
37-
queries: queriesObject,
38-
};
39-
updatedQueries.push(newQuery);
40-
} else {
41-
// Query entry exists, add/update individual queries
42-
response.payload.query.queries.forEach((query) => {
43-
query.active = true;
44-
findQuery.queries[query["query"]] = query;
45-
});
46-
}
22+
let findQuery = updatedQueries?.find(
23+
(i) => i.short_form === response.payload.short_form
24+
);
25+
if (findQuery === undefined) {
26+
const queriesObject = {};
27+
response.payload.query.queries.forEach((query) => {
28+
query.active = true;
29+
queriesObject[query["query"]] = query;
30+
});
31+
const newQuery = {
32+
short_form: response.payload.short_form,
33+
name: response.payload.query.name,
34+
queries: queriesObject,
35+
};
36+
updatedQueries.push(newQuery);
37+
} else {
38+
response.payload.query.queries.forEach((query) => {
39+
query.active = true;
40+
findQuery.queries[query["query"]] = query;
41+
});
42+
}
4743
} else {
48-
let findQuery = updatedQueries?.find(
49-
(i) => i.short_form === response.payload.short_form
50-
);
51-
if (findQuery === undefined) {
52-
const newQuery = {
53-
short_form: response.payload.short_form,
54-
name: response.payload.query.name,
55-
queries: { [response.payload.type]: response.payload.query },
56-
};
57-
updatedQueries.push(newQuery);
58-
} else {
59-
findQuery.type = response.payload.type;
60-
findQuery.queries[response.payload.type] = response.payload.query;
61-
}
62-
}
63-
64-
return Object.assign({}, state, {
65-
queries: updatedQueries,
66-
isLoading: false,
67-
});
44+
let findQuery = updatedQueries?.find(
45+
(i) => i.short_form === response.payload.short_form
46+
);
47+
if (findQuery === undefined) {
48+
const newQuery = {
49+
short_form: response.payload.short_form,
50+
name: response.payload.query.name,
51+
queries: { [response.payload.type]: response.payload.query },
52+
};
53+
updatedQueries.push(newQuery);
54+
} else {
55+
findQuery.type = response.payload.type;
56+
findQuery.queries[response.payload.type] = response.payload.query;
57+
}
58+
}
59+
return Object.assign({}, state, {
60+
queries: updatedQueries,
61+
isLoading: false,
62+
});
6863
}
6964
case getQueriesTypes.UPDATE_QUERIES:
70-
return Object.assign({}, state, {
71-
queries: response.payload,
72-
});
65+
return Object.assign({}, state, {
66+
queries: response.payload,
67+
});
7368
case getQueriesTypes.DELETE_QUERY:
74-
return Object.assign({}, state, {
75-
queries: state.queries?.filter(
76-
(i) => i.short_form !== response.payload.id
77-
),
78-
isLoading: false,
79-
error: false,
80-
errorMessage: undefined,
81-
});
69+
return Object.assign({}, state, {
70+
queries: state.queries?.filter(
71+
(i) => i.short_form !== response.payload.id
72+
),
73+
isLoading: false,
74+
error: false,
75+
errorMessage: undefined,
76+
});
8277
case getQueriesTypes.GET_QUERIES_FAILURE:
83-
return Object.assign({}, state, {
84-
error: true,
85-
errorMessage: response.payload.error,
86-
errorID: response.payload.id,
87-
});
78+
return Object.assign({}, state, {
79+
error: true,
80+
errorMessage: response.payload.error,
81+
errorID: response.payload.id,
82+
});
8883
case getGlobalTypes.RESET_ERRORS: {
89-
return Object.assign({}, state, {
90-
error: false,
91-
errorMessage: undefined,
92-
});
93-
}
84+
return Object.assign({}, state, {
85+
error: false,
86+
errorMessage: undefined,
87+
});
88+
}
9489
default:
95-
return state;
90+
return state;
9691
}
9792
};
9893

applications/virtual-fly-brain/frontend/src/reducers/actions/queries.js

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import { getQueriesTypes } from './types/getQueriesTypes';
55
const getQueriesSuccess = (query, short_form, type) => ({
66
type: getQueriesTypes.GET_QUERIES_SUCCESS,
77
payload: {
8-
query : query,
9-
short_form : short_form,
10-
type : type
8+
query: query,
9+
short_form: short_form,
10+
type: type
1111
}
1212
});
1313

@@ -31,35 +31,35 @@ const _getQueriesStarted = () => ({
3131
});
3232

3333

34-
export const getQueriesFailure = ( error, id) => ({
34+
export const getQueriesFailure = (error, id) => ({
3535
type: getQueriesTypes.GET_QUERIES_FAILURE,
3636
payload: {
37-
error : error,
38-
id : id
37+
error: error,
38+
id: id
3939
}
4040
});
4141

4242
export const getQueries = async (short_form, type) => {
4343

4444
store.dispatch(_getQueriesStarted())
45-
45+
4646
const state = store.getState();
4747
const allLoadedInstances = state.instances.allLoadedInstances;
48-
48+
4949
let response;
5050
try {
51-
// When type is provided - EXECUTE the specific query
51+
// When type is provided - execute the specific query
5252
if (type) {
5353
response = await get_query_results(short_form, type);
5454
store.dispatch(getQueriesSuccess(response, short_form, type))
55-
}
56-
// When type is NOT provided - LOAD available queries list
55+
}
56+
// When type is not provided - load available queries list
5757
else {
5858
// Check if instance already loaded (CACHE CHECK)
5959
const existingInstance = allLoadedInstances?.find(
6060
i => i.metadata?.Id === short_form
6161
);
62-
62+
6363
let queriesData;
6464
if (existingInstance?.metadata?.Queries) {
6565
// Use cached instance data - no network call needed!
@@ -71,13 +71,13 @@ export const getQueries = async (short_form, type) => {
7171
// Instance not loaded, fetch queries from backend using get_queries
7272
queriesData = await get_queries(short_form);
7373
}
74-
74+
7575
// Format response to match what reducer expects
7676
response = {
7777
queries: queriesData.queries, // Array of all available queries
7878
name: queriesData.name
7979
};
80-
80+
8181
store.dispatch(getQueriesSuccess(response, short_form, undefined))
8282
}
8383
} catch (error) {

0 commit comments

Comments
 (0)