Monorepo for Aesthetic.Computer
aesthetic.computer
1import { createMediaRecord } from '../system/backend/media-atproto.mjs';
2import { connect } from '../system/backend/database.mjs';
3
4const database = await connect();
5const users = database.db.collection('users');
6const moods = database.db.collection('moods');
7
8// Get an unsynced mood
9const moodDoc = await moods.findOne({
10 'atproto.rkey': { $exists: false },
11 deleted: false
12});
13
14if (!moodDoc) {
15 console.log('No unsynced moods found');
16 await database.disconnect();
17 process.exit(1);
18}
19
20// Get the user for this mood
21const user = await users.findOne({ _id: moodDoc.user });
22
23if (!user) {
24 console.log('User not found for mood');
25 await database.disconnect();
26 process.exit(1);
27}
28
29console.log('User:', user.handle);
30console.log('Mood text:', moodDoc.mood);
31console.log('Mood ID:', moodDoc._id);
32console.log('ATProto handle:', user.atproto?.handle);
33console.log('ATProto DID:', user.atproto?.did);
34
35try {
36 const result = await createMediaRecord(database, 'mood', moodDoc, { userSub: user._id });
37 console.log('✅ Result:', result);
38} catch (error) {
39 console.error('❌ Error:', error.message);
40 console.error('Stack:', error.stack);
41}
42
43await database.disconnect();