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