casefile-repository-mcp-server
Version:
Vessel casefile management system with MCP integration for maritime operations
38 lines • 1.55 kB
JavaScript
import { ObjectId } from "mongodb";
import { MongoClient } from 'mongodb';
const betauri = "mongodb://beta-syia-api-readonly:s40p4CF01PiQ@13.202.145.171:27017/?authSource=beta-syia-api";
const mongoClient = new MongoClient(betauri);
await mongoClient.connect();
const db = mongoClient.db("beta-syia-api");
const collection = db.collection('diary_mails');
const hits = [
{
document: {
_id: "6863dfaac5bdf90280e94f1a"
}
}
];
// Collect email dump links for artifacts
const emailArtifactLinks = [];
// Check each hit for email dump links
for (const hit of hits) {
const documentId = hit.document._id;
try {
// Query MongoDB for the document using _id
// Convert string ID to MongoDB ObjectId properly
const mongoDoc = await collection.findOne({ _id: new ObjectId(String(documentId)) }, { projection: { _id: 0, mailBody: 1 } });
// Only add to links if mailBody is an email-dump URL
if (mongoDoc && mongoDoc.mailBody && typeof mongoDoc.mailBody === 'string' &&
mongoDoc.mailBody.startsWith('email-dump')) {
emailArtifactLinks.push({
title: hit.document.subject || `Email ${documentId}`,
url: `https://s3.ap-south-1.amazonaws.com/sm2.0-etl-prod-ap-south-1-274743989443/${mongoDoc.mailBody}`
});
}
}
catch (error) {
console.error(`Error fetching MongoDB document for _id ${documentId}: ${error}`);
}
}
console.log(emailArtifactLinks);
//# sourceMappingURL=mongodb_test.js.map