2025-10-11 19:23:47 +03:00
|
|
|
import { Template } from 'meteor/templating';
|
2025-10-12 03:48:21 +03:00
|
|
|
import {
|
|
|
|
|
migrationManager,
|
|
|
|
|
isMigrating,
|
|
|
|
|
migrationProgress,
|
|
|
|
|
migrationStatus,
|
|
|
|
|
migrationCurrentStep,
|
|
|
|
|
migrationEstimatedTime,
|
|
|
|
|
migrationSteps
|
|
|
|
|
} from '/client/lib/migrationManager';
|
2025-10-11 19:23:47 +03:00
|
|
|
|
|
|
|
|
Template.migrationProgress.helpers({
|
|
|
|
|
isMigrating() {
|
2025-10-12 03:48:21 +03:00
|
|
|
return isMigrating.get();
|
2025-10-11 19:23:47 +03:00
|
|
|
},
|
|
|
|
|
|
|
|
|
|
migrationProgress() {
|
2025-10-12 03:48:21 +03:00
|
|
|
return migrationProgress.get();
|
2025-10-11 19:23:47 +03:00
|
|
|
},
|
|
|
|
|
|
|
|
|
|
migrationStatus() {
|
2025-10-12 03:48:21 +03:00
|
|
|
return migrationStatus.get();
|
2025-10-11 19:23:47 +03:00
|
|
|
},
|
|
|
|
|
|
|
|
|
|
migrationCurrentStep() {
|
2025-10-12 03:48:21 +03:00
|
|
|
return migrationCurrentStep.get();
|
2025-10-11 19:23:47 +03:00
|
|
|
},
|
|
|
|
|
|
|
|
|
|
migrationEstimatedTime() {
|
2025-10-12 03:48:21 +03:00
|
|
|
return migrationEstimatedTime.get();
|
2025-10-11 19:23:47 +03:00
|
|
|
},
|
|
|
|
|
|
|
|
|
|
migrationSteps() {
|
2025-10-12 03:48:21 +03:00
|
|
|
const steps = migrationSteps.get();
|
|
|
|
|
const currentStep = migrationCurrentStep.get();
|
2025-10-11 19:23:47 +03:00
|
|
|
|
|
|
|
|
return steps.map(step => ({
|
|
|
|
|
...step,
|
|
|
|
|
isCurrentStep: step.name === currentStep
|
|
|
|
|
}));
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Template.migrationProgress.onCreated(function() {
|
|
|
|
|
// Subscribe to migration state changes
|
|
|
|
|
this.autorun(() => {
|
2025-10-12 03:48:21 +03:00
|
|
|
isMigrating.get();
|
|
|
|
|
migrationProgress.get();
|
|
|
|
|
migrationStatus.get();
|
|
|
|
|
migrationCurrentStep.get();
|
|
|
|
|
migrationEstimatedTime.get();
|
|
|
|
|
migrationSteps.get();
|
2025-10-11 19:23:47 +03:00
|
|
|
});
|
|
|
|
|
});
|