- Create Economist SubmissionTracking package correctly: * mainArticle = full blog post content * coverLetter = 216-word SIR— letter * Links to blog post via blogPostId - Archive 'Letter to The Economist' from blog posts (it's the cover letter) - Fix date display on article cards (use published_at) - Target publication already displaying via blue badge Database changes: - Make blogPostId optional in SubmissionTracking model - Economist package ID: 68fa85ae49d4900e7f2ecd83 - Le Monde package ID: 68fa2abd2e6acd5691932150 Next: Enhanced modal with tabs, validation, export 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
36 lines
1.2 KiB
JavaScript
36 lines
1.2 KiB
JavaScript
#!/usr/bin/env node
|
|
require('dotenv').config();
|
|
const mongoose = require('mongoose');
|
|
|
|
async function listArticles() {
|
|
await mongoose.connect(process.env.MONGODB_URI || 'mongodb://localhost:27017/tractatus_dev');
|
|
|
|
const BlogPost = mongoose.connection.db.collection('blog_posts');
|
|
const articles = await BlogPost.find({}).sort({ createdAt: -1 }).toArray();
|
|
|
|
console.log(`\n=== ALL BLOG POSTS (${articles.length}) ===\n`);
|
|
articles.forEach((article, i) => {
|
|
console.log(`${i + 1}. ${article.title}`);
|
|
console.log(` Status: ${article.status}`);
|
|
console.log(` Created: ${article.createdAt}`);
|
|
console.log(` Target Publication: ${article.targetPublication || 'None'}`);
|
|
console.log(` ID: ${article._id}\n`);
|
|
});
|
|
|
|
// Find Economist article
|
|
const economist = articles.find(a => a.title && a.title.match(/economist.*strategy/i));
|
|
if (economist) {
|
|
console.log('\n=== ECONOMIST ARTICLE FOUND ===');
|
|
console.log(`Will change status from '${economist.status}' to 'draft'\n`);
|
|
|
|
await BlogPost.updateOne(
|
|
{ _id: economist._id },
|
|
{ $set: { status: 'draft' } }
|
|
);
|
|
console.log('✓ Status changed to draft\n');
|
|
}
|
|
|
|
await mongoose.connection.close();
|
|
}
|
|
|
|
listArticles();
|