Updates#3404
Squashed commit of the following:
commit b68a1d08b0676ebb7abbb13c9274c8d509cd6eed
Merge: 81265147 6d402dc8
Author: Artem Krisanov <a.krisanov@adguard.com>
Date: Mon Apr 17 15:48:33 2023 +0300
Merge master
commit 81265147b5613be11a6621a416f9588c0e1c0ef5
Author: Artem Krisanov <a.krisanov@adguard.com>
Date: Thu Apr 13 10:54:39 2023 +0300
Changed query log 'retention' --> 'rotation'.
commit 02c5dc0b54bca9ec293ee8629d769489bc5dc533
Author: Artem Krisanov <a.krisanov@adguard.com>
Date: Wed Apr 12 13:22:22 2023 +0300
Custom inputs for query log and stats configs.
commit 21dbfbd8aac868baeea0f8b25d14786aecf09a0d
Author: Artem Krisanov <a.krisanov@adguard.com>
Date: Tue Apr 11 18:12:40 2023 +0300
Temporary changes.
108 lines
3.8 KiB
JavaScript
108 lines
3.8 KiB
JavaScript
import { handleActions } from 'redux-actions';
|
|
|
|
import * as actions from '../actions/queryLogs';
|
|
import {
|
|
DEFAULT_LOGS_FILTER, DAY, QUERY_LOG_INTERVALS_DAYS, HOUR,
|
|
} from '../helpers/constants';
|
|
|
|
const queryLogs = handleActions(
|
|
{
|
|
[actions.setFilteredLogsRequest]: (state) => ({ ...state, processingGetLogs: true }),
|
|
[actions.setFilteredLogsFailure]: (state) => ({ ...state, processingGetLogs: false }),
|
|
[actions.toggleDetailedLogs]: (state, { payload }) => ({
|
|
...state,
|
|
isDetailed: payload,
|
|
}),
|
|
|
|
[actions.setFilteredLogsSuccess]: (state, { payload }) => {
|
|
const { logs, oldest, filter } = payload;
|
|
|
|
const isFiltered = filter && Object.keys(filter).some((key) => filter[key]);
|
|
|
|
return {
|
|
...state,
|
|
oldest,
|
|
filter,
|
|
isFiltered,
|
|
logs,
|
|
isEntireLog: logs.length < 1,
|
|
processingGetLogs: false,
|
|
};
|
|
},
|
|
|
|
[actions.setLogsFilterRequest]: (state, { payload }) => ({ ...state, filter: payload }),
|
|
|
|
[actions.getLogsRequest]: (state) => ({ ...state, processingGetLogs: true }),
|
|
[actions.getLogsFailure]: (state) => ({ ...state, processingGetLogs: false }),
|
|
[actions.getLogsSuccess]: (state, { payload }) => {
|
|
const {
|
|
logs, oldest, older_than,
|
|
} = payload;
|
|
|
|
return {
|
|
...state,
|
|
oldest,
|
|
logs: older_than ? [...state.logs, ...logs] : logs,
|
|
isEntireLog: logs.length < 1,
|
|
processingGetLogs: false,
|
|
};
|
|
},
|
|
|
|
[actions.clearLogsRequest]: (state) => ({ ...state, processingClear: true }),
|
|
[actions.clearLogsFailure]: (state) => ({ ...state, processingClear: false }),
|
|
[actions.clearLogsSuccess]: (state) => ({
|
|
...state,
|
|
logs: [],
|
|
processingClear: false,
|
|
}),
|
|
|
|
[actions.getLogsConfigRequest]: (state) => ({ ...state, processingGetConfig: true }),
|
|
[actions.getLogsConfigFailure]: (state) => ({ ...state, processingGetConfig: false }),
|
|
[actions.getLogsConfigSuccess]: (state, { payload }) => ({
|
|
...state,
|
|
...payload,
|
|
customInterval: !QUERY_LOG_INTERVALS_DAYS.includes(payload.interval)
|
|
? payload.interval / HOUR
|
|
: null,
|
|
processingGetConfig: false,
|
|
}),
|
|
|
|
[actions.setLogsConfigRequest]: (state) => ({ ...state, processingSetConfig: true }),
|
|
[actions.setLogsConfigFailure]: (state) => ({ ...state, processingSetConfig: false }),
|
|
[actions.setLogsConfigSuccess]: (state, { payload }) => ({
|
|
...state,
|
|
...payload,
|
|
processingSetConfig: false,
|
|
}),
|
|
|
|
[actions.getAdditionalLogsRequest]: (state) => ({
|
|
...state, processingAdditionalLogs: true, processingGetLogs: true,
|
|
}),
|
|
[actions.getAdditionalLogsFailure]: (state) => ({
|
|
...state, processingAdditionalLogs: false, processingGetLogs: false,
|
|
}),
|
|
[actions.getAdditionalLogsSuccess]: (state) => ({
|
|
...state, processingAdditionalLogs: false, processingGetLogs: false, isEntireLog: true,
|
|
}),
|
|
},
|
|
{
|
|
processingGetLogs: true,
|
|
processingClear: false,
|
|
processingGetConfig: false,
|
|
processingSetConfig: false,
|
|
processingAdditionalLogs: false,
|
|
interval: DAY,
|
|
logs: [],
|
|
enabled: true,
|
|
oldest: '',
|
|
filter: DEFAULT_LOGS_FILTER,
|
|
isFiltered: false,
|
|
anonymize_client_ip: false,
|
|
isDetailed: true,
|
|
isEntireLog: false,
|
|
customInterval: null,
|
|
},
|
|
);
|
|
|
|
export default queryLogs;
|