import { join } from "../../deps.ts"
interface Log { file:string, migratedAt:string}export const log = async(db:any) => { let files:Array<string> = [];
for await (let file of Deno.readDir(join(Deno.cwd(),'migrations'))){ if (file.isFile && file.name !== 'migration.ts') files.push(file.name); } const migrationCollection = db.collection('migrationLog'); const migrationLog: Array<Log> = await migrationCollection.find({},{ noCursorTimeout:false }).toArray(); const logStatus:Array<Log> = await Promise.all(files.map(async (file:string) => { let migratedAt:string; for(const document of migrationLog){ if(document.file === file){ migratedAt = document.migratedAt; return {file, migratedAt} } } migratedAt = 'PENDING'; return {file, migratedAt} })) return logStatus;};