ui: Utils: add parse_datastore_worker_id
to parse the datastore out of a worker_id for this we need some regexes that are the same as in the backend for now we only parse out the datastore, but we can extend this in the future to parse relevant info (e.g. remote for syncs, id/type for backups) Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
78763d21b1
commit
616650a198
36
www/Utils.js
36
www/Utils.js
@ -159,6 +159,34 @@ Ext.define('PBS.Utils', {
|
||||
return `Datastore ${what} ${id}`;
|
||||
},
|
||||
|
||||
parse_datastore_worker_id: function(type, id) {
|
||||
let result;
|
||||
let res;
|
||||
if (type.startsWith('verif')) {
|
||||
res = PBS.Utils.VERIFICATION_JOB_ID_RE.exec(id);
|
||||
if (res) {
|
||||
result = res[1];
|
||||
}
|
||||
} else if (type.startsWith('sync')) {
|
||||
res = PBS.Utils.SYNC_JOB_ID_RE.exec(id);
|
||||
if (res) {
|
||||
result = res[3];
|
||||
}
|
||||
} else if (type === 'backup') {
|
||||
res = PBS.Utils.BACKUP_JOB_ID_RE.exec(id);
|
||||
if (res) {
|
||||
result = res[1];
|
||||
}
|
||||
} else if (type === 'garbage_collection') {
|
||||
return id;
|
||||
} else if (type === 'prune') {
|
||||
return id;
|
||||
}
|
||||
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
extractTokenUser: function(tokenid) {
|
||||
return tokenid.match(/^(.+)!([^!]+)$/)[1];
|
||||
},
|
||||
@ -197,6 +225,14 @@ Ext.define('PBS.Utils', {
|
||||
constructor: function() {
|
||||
var me = this;
|
||||
|
||||
let PROXMOX_SAFE_ID_REGEX = "([A-Za-z0-9_][A-Za-z0-9._-]*)";
|
||||
// only anchored at beginning
|
||||
// only parses datastore for now
|
||||
me.VERIFICATION_JOB_ID_RE = new RegExp("^" + PROXMOX_SAFE_ID_REGEX + ':?');
|
||||
me.SYNC_JOB_ID_RE = new RegExp("^" + PROXMOX_SAFE_ID_REGEX + ':' +
|
||||
PROXMOX_SAFE_ID_REGEX + ':' + PROXMOX_SAFE_ID_REGEX + ':');
|
||||
me.BACKUP_JOB_ID_RE = new RegExp("^" + PROXMOX_SAFE_ID_REGEX + ':');
|
||||
|
||||
// do whatever you want here
|
||||
Proxmox.Utils.override_task_descriptions({
|
||||
backup: (type, id) => PBS.Utils.render_datastore_worker_id(id, gettext('Backup')),
|
||||
|
Loading…
Reference in New Issue
Block a user