Files
pleno-vue/src/components/session/token/superUser/modules/Backups/Backups.vue
T

77 lines
1.9 KiB
Vue

<script>
import {authenticatedRequest} from "@/components/session/authenticatedRequest.vue";
import {handleEconomicError} from "@/components/request/HandleEconomicError.vue";
import { API_keys } from "@/components/session/token/superUser/modules/reCAPTCHA/ApiKeys.vue";
import { Config } from "@/components/session/token/superUser/modules/Backups/Config.vue";
/**
* The Backups object
*/
export const Backups = {
meta: {
title: "Backups",
icon: "fas fa-database",
description: "Backup af data",
endpoint: "/modules/backup/backups",
config_endpoint: "/configuration/backup",
labels: {
single: "backup",
multiple: "backups"
}
},
config: Config,
createBackup: async (name = null, description = null) => {
return authenticatedRequest(
Backups.meta.endpoint,
"POST",
{
name: name,
description: description
}
)
},
getJob: async (jobId) => {
return authenticatedRequest(
`/modules/backup/jobs/${jobId}`,
"GET"
)
},
listBackups: async () => {
return authenticatedRequest(
Backups.meta.endpoint,
"GET"
)
},
verifyBackup: async (backupUuid) => {
return authenticatedRequest(
`${Backups.meta.endpoint}/${backupUuid}/verify`,
"POST"
)
},
previewRestore: async (backupUuid) => {
return authenticatedRequest(
`${Backups.meta.endpoint}/${backupUuid}/restore/preview`,
"POST"
)
},
restoreBackup: async (backupUuid, previewId, confirmationPhrase, reason) => {
return authenticatedRequest(
`${Backups.meta.endpoint}/${backupUuid}/restore`,
"POST",
{
preview_id: previewId,
confirmation_phrase: confirmationPhrase,
reason: reason
}
)
},
restoreAudit: async () => {
return authenticatedRequest(
"/modules/backup/restore-audit",
"GET"
)
},
};
</script>