diff options
Diffstat (limited to 'src/store/modules/Configuration/DateTimeSettingsStore.js')
-rw-r--r-- | src/store/modules/Configuration/DateTimeSettingsStore.js | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/store/modules/Configuration/DateTimeSettingsStore.js b/src/store/modules/Configuration/DateTimeSettingsStore.js new file mode 100644 index 00000000..9da0cb41 --- /dev/null +++ b/src/store/modules/Configuration/DateTimeSettingsStore.js @@ -0,0 +1,68 @@ +import api from '../../api'; +import i18n from '@/i18n'; + +const DateTimeStore = { + namespaced: true, + state: { + ntpServers: [], + isNtpProtocolEnabled: null + }, + getters: { + ntpServers: state => state.ntpServers, + isNtpProtocolEnabled: state => state.isNtpProtocolEnabled + }, + mutations: { + setNtpServers: (state, ntpServers) => (state.ntpServers = ntpServers), + setIsNtpProtocolEnabled: (state, isNtpProtocolEnabled) => + (state.isNtpProtocolEnabled = isNtpProtocolEnabled) + }, + actions: { + async getNtpData({ commit }) { + return await api + .get('/redfish/v1/Managers/bmc/NetworkProtocol') + .then(response => { + const ntpServers = response.data.NTP.NTPServers; + const isNtpProtocolEnabled = response.data.NTP.ProtocolEnabled; + commit('setNtpServers', ntpServers); + commit('setIsNtpProtocolEnabled', isNtpProtocolEnabled); + }) + .catch(error => { + console.log(error); + }); + }, + async updateDateTimeSettings(_, dateTimeForm) { + const ntpData = { + NTP: { + ProtocolEnabled: dateTimeForm.ntpProtocolEnabled + } + }; + + if (dateTimeForm.ntpProtocolEnabled) { + ntpData.NTP.NTPServers = dateTimeForm.ntpServersArray; + } + return await api + .patch(`/redfish/v1/Managers/bmc/NetworkProtocol`, ntpData) + .then(() => { + if (!dateTimeForm.ntpProtocolEnabled) { + const dateTimeData = { + DateTime: dateTimeForm.updatedDateTime + }; + api.patch(`/redfish/v1/Managers/bmc`, dateTimeData); + } + }) + .then(() => { + return i18n.t( + 'pageDateTimeSettings.toast.successSaveDateTimeSettings' + ); + }) + .catch(error => { + console.log(error); + throw new Error( + i18n.t('pageDateTimeSettings.toast.errorSaveDateTimeSettings') + ); + }); + } + } +}; + +export default DateTimeStore; |