2022-06-05 21:04:16 +02:00
|
|
|
import * as plugins from './mongodump.plugins.js';
|
2022-06-06 13:04:30 +02:00
|
|
|
import { MongoDumpTarget } from './mongodump.classes.mongodumptarget.js';
|
2022-06-05 21:04:16 +02:00
|
|
|
|
|
|
|
|
export class MongoDump {
|
|
|
|
|
public mongoTargetObjectMap = new plugins.lik.ObjectMap<MongoDumpTarget>();
|
2026-05-01 15:32:05 +00:00
|
|
|
|
2022-06-05 21:04:16 +02:00
|
|
|
constructor() {}
|
|
|
|
|
|
|
|
|
|
public async addMongoTargetByMongoDescriptor(
|
|
|
|
|
descriptorArg: plugins.tsclass.database.IMongoDescriptor
|
|
|
|
|
) {
|
|
|
|
|
const mongoDumpTarget = await MongoDumpTarget.createAndInit(descriptorArg);
|
|
|
|
|
this.mongoTargetObjectMap.add(mongoDumpTarget);
|
|
|
|
|
return mongoDumpTarget;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async stop() {
|
2026-05-01 15:32:05 +00:00
|
|
|
await Promise.all(
|
|
|
|
|
this.mongoTargetObjectMap.getArray().map((mongoTargetArg) => mongoTargetArg.mongoDbClient.close())
|
|
|
|
|
);
|
2022-06-05 21:04:16 +02:00
|
|
|
}
|
|
|
|
|
}
|