77 lines
1.9 KiB
Vue
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>
|