| 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; |