forked from AkkomaGang/admin-fe
Restart application on button click
This commit is contained in:
parent
610349f24b
commit
7f2d61bc15
3 changed files with 28 additions and 5 deletions
|
@ -40,4 +40,13 @@ export async function removeSettings(configs, authHost, token) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function restartApp(authHost, token) {
|
||||||
|
return await request({
|
||||||
|
baseURL: baseName(authHost),
|
||||||
|
url: `/api/pleroma/admin/restart`,
|
||||||
|
method: 'get',
|
||||||
|
headers: authHeaders(token)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
const authHeaders = (token) => token ? { 'Authorization': `Bearer ${getToken()}` } : {}
|
const authHeaders = (token) => token ? { 'Authorization': `Bearer ${getToken()}` } : {}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { fetchDescription, fetchSettings, removeSettings, updateSettings } from '@/api/settings'
|
import { fetchDescription, fetchSettings, removeSettings, restartApp, updateSettings } from '@/api/settings'
|
||||||
import { checkPartialUpdate, parseNonTuples, parseTuples, valueHasTuples, wrapUpdatedSettings } from './normalizers'
|
import { checkPartialUpdate, parseNonTuples, parseTuples, valueHasTuples, wrapUpdatedSettings } from './normalizers'
|
||||||
import _ from 'lodash'
|
import _ from 'lodash'
|
||||||
|
|
||||||
|
@ -9,10 +9,9 @@ const settings = {
|
||||||
db: {},
|
db: {},
|
||||||
description: [],
|
description: [],
|
||||||
loading: true,
|
loading: true,
|
||||||
needReboot: true,
|
needReboot: false,
|
||||||
settings: {},
|
settings: {},
|
||||||
updatedSettings: {}
|
updatedSettings: {}
|
||||||
|
|
||||||
},
|
},
|
||||||
mutations: {
|
mutations: {
|
||||||
CLEAR_UPDATED_SETTINGS: (state) => {
|
CLEAR_UPDATED_SETTINGS: (state) => {
|
||||||
|
@ -52,6 +51,9 @@ const settings = {
|
||||||
state.settings = newSettings
|
state.settings = newSettings
|
||||||
state.db = newDbSettings
|
state.db = newDbSettings
|
||||||
},
|
},
|
||||||
|
TOGGLE_REBOOT: (state, needReboot) => {
|
||||||
|
state.needReboot = needReboot || false
|
||||||
|
},
|
||||||
TOGGLE_TABS: (state, status) => {
|
TOGGLE_TABS: (state, status) => {
|
||||||
state.configDisabled = status
|
state.configDisabled = status
|
||||||
},
|
},
|
||||||
|
@ -76,6 +78,7 @@ const settings = {
|
||||||
const description = await fetchDescription(getters.authHost, getters.token)
|
const description = await fetchDescription(getters.authHost, getters.token)
|
||||||
commit('SET_DESCRIPTION', description.data)
|
commit('SET_DESCRIPTION', description.data)
|
||||||
commit('SET_SETTINGS', response.data.configs)
|
commit('SET_SETTINGS', response.data.configs)
|
||||||
|
commit('TOGGLE_REBOOT', response.data.need_reboot)
|
||||||
} catch (_e) {
|
} catch (_e) {
|
||||||
commit('TOGGLE_TABS', true)
|
commit('TOGGLE_TABS', true)
|
||||||
commit('SET_ACTIVE_TAB', 'relays')
|
commit('SET_ACTIVE_TAB', 'relays')
|
||||||
|
@ -90,8 +93,13 @@ const settings = {
|
||||||
const response = await fetchSettings(getters.authHost, getters.token)
|
const response = await fetchSettings(getters.authHost, getters.token)
|
||||||
const { group, key, subkeys } = configs[0]
|
const { group, key, subkeys } = configs[0]
|
||||||
commit('SET_SETTINGS', response.data.configs)
|
commit('SET_SETTINGS', response.data.configs)
|
||||||
|
commit('TOGGLE_REBOOT', response.data.need_reboot)
|
||||||
commit('REMOVE_SETTING_FROM_UPDATED', { group, key, subkeys: subkeys || [] })
|
commit('REMOVE_SETTING_FROM_UPDATED', { group, key, subkeys: subkeys || [] })
|
||||||
},
|
},
|
||||||
|
async RestartApplication({ commit, getters }) {
|
||||||
|
await restartApp(getters.authHost, getters.token)
|
||||||
|
commit('TOGGLE_REBOOT', false)
|
||||||
|
},
|
||||||
SetActiveTab({ commit }, tab) {
|
SetActiveTab({ commit }, tab) {
|
||||||
commit('SET_ACTIVE_TAB', tab)
|
commit('SET_ACTIVE_TAB', tab)
|
||||||
},
|
},
|
||||||
|
@ -104,6 +112,7 @@ const settings = {
|
||||||
await updateSettings(configs, getters.authHost, getters.token)
|
await updateSettings(configs, getters.authHost, getters.token)
|
||||||
const response = await fetchSettings(getters.authHost, getters.token)
|
const response = await fetchSettings(getters.authHost, getters.token)
|
||||||
commit('SET_SETTINGS', response.data.configs)
|
commit('SET_SETTINGS', response.data.configs)
|
||||||
|
commit('TOGGLE_REBOOT', response.data.need_reboot)
|
||||||
commit('CLEAR_UPDATED_SETTINGS')
|
commit('CLEAR_UPDATED_SETTINGS')
|
||||||
},
|
},
|
||||||
UpdateSettings({ commit }, { group, key, input, value, type }) {
|
UpdateSettings({ commit }, { group, key, input, value, type }) {
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<div class="settings-header-container">
|
<div class="settings-header-container">
|
||||||
<h1 class="settings-header">{{ $t('settings.settings') }}</h1>
|
<h1 class="settings-header">{{ $t('settings.settings') }}</h1>
|
||||||
<div>
|
<div>
|
||||||
<el-button v-if="needReboot" class="settings-reboot-button">
|
<el-button v-if="needReboot" class="settings-reboot-button" @click="restartApp">
|
||||||
<span>
|
<span>
|
||||||
<i class="el-icon-refresh"/>
|
<i class="el-icon-refresh"/>
|
||||||
{{ $t('settings.instanceReboot') }}
|
{{ $t('settings.instanceReboot') }}
|
||||||
|
@ -89,7 +89,7 @@
|
||||||
<div v-if="isMobile || isTablet">
|
<div v-if="isMobile || isTablet">
|
||||||
<div class="settings-header-container">
|
<div class="settings-header-container">
|
||||||
<h1 class="settings-header">{{ $t('settings.settings') }}</h1>
|
<h1 class="settings-header">{{ $t('settings.settings') }}</h1>
|
||||||
<el-button v-if="needReboot" class="settings-reboot-button">
|
<el-button v-if="needReboot" class="settings-reboot-button" @click="restartApp">
|
||||||
<span>
|
<span>
|
||||||
<i class="el-icon-refresh"/>
|
<i class="el-icon-refresh"/>
|
||||||
{{ $t('settings.instanceReboot') }}
|
{{ $t('settings.instanceReboot') }}
|
||||||
|
@ -242,6 +242,11 @@ export default {
|
||||||
},
|
},
|
||||||
mounted: function() {
|
mounted: function() {
|
||||||
this.$store.dispatch('FetchSettings')
|
this.$store.dispatch('FetchSettings')
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
restartApp() {
|
||||||
|
this.$store.dispatch('RestartApplication')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
Loading…
Reference in a new issue