20 lines
594 B
JavaScript
20 lines
594 B
JavaScript
function createSettingsImportGate(isUploadRunning) {
|
|
if (typeof isUploadRunning !== 'function') throw new TypeError('isUploadRunning must be a function');
|
|
let importing = false;
|
|
return {
|
|
begin() {
|
|
if (importing) throw new Error('Einstellungen werden bereits importiert');
|
|
if (isUploadRunning()) throw new Error('Während laufender Uploads können keine Einstellungen importiert werden');
|
|
importing = true;
|
|
},
|
|
end() {
|
|
importing = false;
|
|
},
|
|
canStartUpload() {
|
|
return !importing;
|
|
}
|
|
};
|
|
}
|
|
|
|
module.exports = { createSettingsImportGate };
|