#!/usr/bin/env node // Test createMoodOnAtproto to debug response structure import { connect } from './database.mjs'; import { userIDFromHandle } from './authorization.mjs'; import { createMoodOnAtproto } from './mood-atproto.mjs'; const handle = process.argv[2] || 'jeffrey'; const testMood = `Test mood @ ${new Date().toISOString()}`; console.log(`\n๐Ÿงช Testing createMoodOnAtproto for @${handle}...`); console.log(` Mood: "${testMood}"\n`); const database = await connect(); const sub = await userIDFromHandle(handle, database); const moods = database.db.collection('moods'); // Create a test mood in MongoDB first const mongoResult = await moods.insertOne({ user: sub, mood: testMood, when: new Date(), }); console.log(`โœ… Created MongoDB mood: ${mongoResult.insertedId}\n`); // Try to sync to ATProto console.log(`๐Ÿ”„ Syncing to ATProto...`); const atprotoResult = await createMoodOnAtproto( database, sub, testMood, new Date(), mongoResult.insertedId.toString() ); console.log(`\n๐Ÿ“Š Result:`, JSON.stringify(atprotoResult, null, 2)); if (atprotoResult.rkey) { console.log(`\nโœ… SUCCESS - Got rkey: ${atprotoResult.rkey}`); // Update MongoDB await moods.updateOne( { _id: mongoResult.insertedId }, { $set: { atproto: { rkey: atprotoResult.rkey } } } ); console.log(`โœ… Updated MongoDB with rkey\n`); } else { console.log(`\nโŒ FAILED - ${atprotoResult.error}\n`); // Clean up test mood await moods.deleteOne({ _id: mongoResult.insertedId }); console.log(`๐Ÿงน Cleaned up test mood\n`); } await database.disconnect(); process.exit(0);