Rename backup slug to backup id (#22876)

This commit is contained in:
Paul Bottein 2024-11-19 09:45:48 +01:00 committed by GitHub
parent a2471f82a3
commit 99bde50c01
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 18 additions and 23 deletions

View File

@ -5,7 +5,7 @@ export interface BackupAgent {
} }
export interface BackupContent { export interface BackupContent {
slug: string; backup_id: string;
date: string; date: string;
name: string; name: string;
protected: boolean; protected: boolean;
@ -35,8 +35,8 @@ export type GenerateBackupParams = {
password?: string; password?: string;
}; };
export const getBackupDownloadUrl = (slug: string) => export const getBackupDownloadUrl = (id: string) =>
`/api/backup/download/${slug}`; `/api/backup/download/${id}`;
export const fetchBackupInfo = (hass: HomeAssistant): Promise<BackupInfo> => export const fetchBackupInfo = (hass: HomeAssistant): Promise<BackupInfo> =>
hass.callWS({ hass.callWS({
@ -45,11 +45,11 @@ export const fetchBackupInfo = (hass: HomeAssistant): Promise<BackupInfo> =>
export const fetchBackupDetails = ( export const fetchBackupDetails = (
hass: HomeAssistant, hass: HomeAssistant,
slug: string id: string
): Promise<BackupDetails> => ): Promise<BackupDetails> =>
hass.callWS({ hass.callWS({
type: "backup/details", type: "backup/details",
slug, backup_id: id,
}); });
export const fetchBackupAgentsInfo = ( export const fetchBackupAgentsInfo = (
@ -59,19 +59,16 @@ export const fetchBackupAgentsInfo = (
type: "backup/agents/info", type: "backup/agents/info",
}); });
export const removeBackup = ( export const removeBackup = (hass: HomeAssistant, id: string): Promise<void> =>
hass: HomeAssistant,
slug: string
): Promise<void> =>
hass.callWS({ hass.callWS({
type: "backup/remove", type: "backup/remove",
slug, backup_id: id,
}); });
export const generateBackup = ( export const generateBackup = (
hass: HomeAssistant, hass: HomeAssistant,
params: GenerateBackupParams params: GenerateBackupParams
): Promise<{ slug: string }> => ): Promise<{ backup_id: string }> =>
hass.callWS({ hass.callWS({
type: "backup/generate", type: "backup/generate",
...params, ...params,

View File

@ -107,7 +107,7 @@ class HaConfigBackupDashboard extends SubscribeMixin(LitElement) {
.narrow=${this.narrow} .narrow=${this.narrow}
back-path="/config/system" back-path="/config/system"
clickable clickable
id="slug" id="backup_id"
.route=${this.route} .route=${this.route}
@row-click=${this._showBackupDetails} @row-click=${this._showBackupDetails}
.columns=${this._columns(this.hass.localize)} .columns=${this._columns(this.hass.localize)}
@ -193,8 +193,8 @@ class HaConfigBackupDashboard extends SubscribeMixin(LitElement) {
} }
private _showBackupDetails(ev: CustomEvent): void { private _showBackupDetails(ev: CustomEvent): void {
const slug = (ev.detail as RowClickedEvent).id; const id = (ev.detail as RowClickedEvent).id;
navigate(`/config/backup/details/${slug}`); navigate(`/config/backup/details/${id}`);
} }
private _configureAutomaticBackup() { private _configureAutomaticBackup() {

View File

@ -9,7 +9,7 @@ import "../../../components/ha-circular-progress";
import "../../../components/ha-relative-time"; import "../../../components/ha-relative-time";
import "../../../components/ha-settings-row"; import "../../../components/ha-settings-row";
import type { BackupAgentsInfo, BackupContent } from "../../../data/backup"; import type { BackupContent } from "../../../data/backup";
import { fetchBackupDetails } from "../../../data/backup"; import { fetchBackupDetails } from "../../../data/backup";
import type { HomeAssistant } from "../../../types"; import type { HomeAssistant } from "../../../types";
@ -17,11 +17,9 @@ import type { HomeAssistant } from "../../../types";
class HaConfigBackupDetails extends LitElement { class HaConfigBackupDetails extends LitElement {
@property({ attribute: false }) public hass!: HomeAssistant; @property({ attribute: false }) public hass!: HomeAssistant;
@property({ attribute: false }) public backupAgentsInfo?: BackupAgentsInfo;
@property({ type: Boolean }) public narrow = false; @property({ type: Boolean }) public narrow = false;
@property({ attribute: "backup-slug" }) public backupSlug!: string; @property({ attribute: "backup-id" }) public backupId!: string;
@state() private _backup?: BackupContent | null; @state() private _backup?: BackupContent | null;
@ -30,10 +28,10 @@ class HaConfigBackupDetails extends LitElement {
protected firstUpdated(changedProps) { protected firstUpdated(changedProps) {
super.firstUpdated(changedProps); super.firstUpdated(changedProps);
if (this.backupSlug) { if (this.backupId) {
this._fetchBackup(); this._fetchBackup();
} else { } else {
this._error = "Backup slug not defined"; this._error = "Backup id not defined";
} }
} }
@ -53,7 +51,7 @@ class HaConfigBackupDetails extends LitElement {
html`<ha-alert alert-type="error">${this._error}</ha-alert>`} html`<ha-alert alert-type="error">${this._error}</ha-alert>`}
${this._backup === null ${this._backup === null
? html`<ha-alert alert-type="warning" title="Not found"> ? html`<ha-alert alert-type="warning" title="Not found">
Backup matching ${this.backupSlug} not found Backup matching ${this.backupId} not found
</ha-alert>` </ha-alert>`
: !this._backup : !this._backup
? html`<ha-circular-progress active></ha-circular-progress>` ? html`<ha-circular-progress active></ha-circular-progress>`
@ -91,7 +89,7 @@ class HaConfigBackupDetails extends LitElement {
private async _fetchBackup() { private async _fetchBackup() {
try { try {
const response = await fetchBackupDetails(this.hass, this.backupSlug); const response = await fetchBackupDetails(this.hass, this.backupId);
this._backup = response.backup; this._backup = response.backup;
} catch (err: any) { } catch (err: any) {
this._error = err?.message || "Could not fetch backup details"; this._error = err?.message || "Could not fetch backup details";

View File

@ -42,7 +42,7 @@ class HaConfigBackup extends HassRouterPage {
(!changedProps || changedProps.has("route")) && (!changedProps || changedProps.has("route")) &&
this._currentPage === "details" this._currentPage === "details"
) { ) {
pageEl.backupSlug = this.routeTail.path.substr(1); pageEl.backupId = this.routeTail.path.substr(1);
} }
} }
} }