add utils.prettySiteLocation

This commit is contained in:
Girish Ramakrishnan
2025-11-25 14:52:33 +01:00
parent 494125227f
commit 945ab30373
3 changed files with 32 additions and 24 deletions
@@ -3,7 +3,7 @@
import { ref, useTemplateRef, watch } from 'vue';
import { MaskedInput, Dialog, FormGroup, TextInput, Checkbox } from '@cloudron/pankow';
import { prettyBinarySize } from '@cloudron/pankow/utils';
import { s3like, mountlike, regionName } from '../utils.js';
import { s3like, mountlike, prettySiteLocation } from '../utils.js';
import BackupSitesModel from '../models/BackupSitesModel.js';
import SystemModel from '../models/SystemModel.js';
@@ -205,15 +205,7 @@ defineExpose({
<FormGroup v-if="site.provider && site.config">
<label><i v-if="site.encrypted" class="fa-solid fa-lock"></i> Storage: <b>{{ site.provider }} ({{ site.format }}) </b></label>
<div>
<span v-if="site.provider === 'filesystem'">{{ site.config.backupDir }}{{ (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-else-if="site.provider === 'disk' || site.provider === 'ext4' || site.provider === 'xfs' || site.provider === 'mountpoint'">{{ site.config.mountOptions.diskPath || site.config.mountPoint }}{{ (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-else-if="site.provider === 'cifs' || site.provider === 'nfs' || site.provider === 'sshfs'">{{ site.config.mountOptions.host }}:{{ site.config.mountOptions.remoteDir }}{{ (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-else-if="site.provider === 's3'">{{ site.config.region + ' ' + site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-else-if="site.provider === 'minio'">{{ site.config.endpoint + ' ' + site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-else-if="site.provider === 'gcs'">{{ site.config.endpoint + ' ' + site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-else>{{ regionName(site.provider, site.config.endpoint) + ' ' + site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
</div>
<div>{{ prettySiteLocation(site) }}</div>
</FormGroup>
<FormGroup v-if="provider === 'sshfs'">
+28 -4
View File
@@ -43,6 +43,30 @@ function regionName(provider, endpoint) {
return region.name;
}
function prettySiteLocation(site) {
switch (site.provider) {
case 'filesystem':
return site.config.backupDir + (site.config.prefix ? `/${site.config.prefix}` : '');
case 'disk':
case 'ext4':
case 'xfs':
case 'mountpoint':
return (site.config.mountOptions.diskPath || site.config.mountPoint) + (site.config.prefix ? ` / ${site.config.prefix}` : '');
case 'cifs':
case 'nfs':
case 'sshfs':
return site.config.mountOptions.host + ':' + site.config.mountOptions.remoteDir + (site.config.prefix ? ` / ${site.config.prefix}` : '');
case 's3':
return site.config.region + ' / ' + site.config.bucket + (site.config.prefix ? ` / ${site.config.prefix}` : '');
case 'minio':
return site.config.endpoint + ' / ' + site.config.bucket + (site.config.prefix ? ` / ${site.config.prefix}` : '');
case 'gcs':
return site.config.endpoint + ' / ' + site.config.bucket + (site.config.prefix ? ` / ${site.config.prefix}` : '');
default:
return regionName(site.provider, site.config.endpoint) + ' / ' + site.config.bucket + (site.config.prefix ? ` / ${site.config.prefix}` : '');
}
}
function eventlogDetails(eventLog, app = null, appIdContext = '') {
const ACTION_ACTIVATE = 'cloudron.activate';
const ACTION_PROVISION = 'cloudron.provision';
@@ -721,7 +745,6 @@ export {
download,
mountlike,
s3like,
regionName,
eventlogDetails,
eventlogSource,
taskNameFromInstallationState,
@@ -733,7 +756,8 @@ export {
cronHours,
getColor,
prettySchedule,
parseSchedule
parseSchedule,
prettySiteLocation
};
// default export
@@ -742,7 +766,6 @@ export default {
download,
mountlike,
s3like,
regionName,
eventlogDetails,
eventlogSource,
taskNameFromInstallationState,
@@ -754,5 +777,6 @@ export default {
cronHours,
getColor,
prettySchedule,
parseSchedule
parseSchedule,
prettySiteLocation
};
+2 -10
View File
@@ -17,7 +17,7 @@ import SystemBackupList from '../components/SystemBackupList.vue';
import { TASK_TYPES } from '../constants.js';
import BackupSitesModel from '../models/BackupSitesModel.js';
import TasksModel from '../models/TasksModel.js';
import { prettySchedule, regionName } from '../utils.js';
import { prettySchedule, prettySiteLocation } from '../utils.js';
const profile = inject('profile');
@@ -290,15 +290,7 @@ onMounted(async () => {
<div>
Storage: <b>{{ site.provider }} ({{ site.format }}) </b>
<span>at
<span v-if="site.provider === 'filesystem'">{{ site.config.backupDir }}{{ (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-else-if="site.provider === 'disk' || site.provider === 'ext4' || site.provider === 'xfs' || site.provider === 'mountpoint'">{{ site.config.mountOptions.diskPath || site.config.mountPoint }}{{ (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-else-if="site.provider === 'cifs' || site.provider === 'nfs' || site.provider === 'sshfs'">{{ site.config.mountOptions.host }}:{{ site.config.mountOptions.remoteDir }}{{ (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-else-if="site.provider === 's3'">{{ site.config.region + ' ' + site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-else-if="site.provider === 'minio'">{{ site.config.endpoint + ' ' + site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-else-if="site.provider === 'gcs'">{{ site.config.endpoint + ' ' + site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-else>{{ regionName(site.provider, site.config.endpoint) + ' ' + site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
</span>
<span>at {{ prettySiteLocation(site) }}</span>
</div>
<div>