Viewing File: /home/ubuntu/efiexchange-node-base/node_modules/migrate-mongo/lib/actions/status.js
const { find } = require("lodash");
const migrationsDir = require("../env/migrationsDir");
const config = require("../env/config");
module.exports = async db => {
await migrationsDir.shouldExist();
await config.shouldExist();
const fileNames = await migrationsDir.getFileNames();
const { changelogCollectionName, useFileHash } = await config.read();
const changelogCollection = db.collection(changelogCollectionName);
const changelog = await changelogCollection.find({}).toArray();
const useFileHashTest = useFileHash === true;
const statusTable = await Promise.all(fileNames.map(async (fileName) => {
let fileHash;
let findTest = { fileName };
if (useFileHashTest) {
fileHash = await migrationsDir.loadFileHash(fileName);
findTest = { fileName, fileHash };
}
const itemInLog = find(changelog, findTest);
const appliedAt = itemInLog ? itemInLog.appliedAt.toJSON() : "PENDING";
return useFileHash ? { fileName, fileHash, appliedAt } : { fileName, appliedAt };
}));
return statusTable;
};
Back to Directory
File Manager