Something went wrong. Try again.
Monorepo for Aesthetic.Computer aesthetic.computer
Something went wrong. Try again.
JavaScript
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889#!/usr/bin/env node// Sync missing kidlisp records for @jeffrey to ATProto
import { connect } from "../../system/backend/database.mjs";import { createMediaRecord, MediaTypes } from "../../system/backend/media-atproto.mjs";
const isDryRun = process.argv[2] !== 'live';
async function main() { console.log(`\n๐ SYNC @JEFFREY KIDLISP TO ATPROTO`); console.log(` Mode: ${isDryRun ? '๐ DRY RUN' : 'โก LIVE'}\n`); const database = await connect(); // Get @jeffrey user const jeffreyUser = await database.db.collection('users').findOne({'atproto.handle': 'jeffrey.at.aesthetic.computer'}); if (!jeffreyUser) { console.error('โ @jeffrey user not found'); await database.disconnect(); process.exit(1); } // Find kidlisp missing rkey const kidlispCollection = database.db.collection('kidlisp'); const missing = await kidlispCollection.find({ user: jeffreyUser._id, $or: [ { 'atproto.rkey': { $exists: false } }, { 'atproto.rkey': null } ] }).toArray(); console.log(`๐ Found ${missing.length} kidlisp records missing ATProto records`); if (missing.length === 0) { console.log('โ
All kidlisp already synced!'); await database.disconnect(); process.exit(0); } if (isDryRun) { console.log(`\n๐ DRY RUN - Would create ATProto records for:`); missing.forEach(k => { console.log(` - ${k.code}: "${k.source?.substring(0, 50)}..."`); }); console.log(`\n๐ก Run with 'live' argument to apply changes`); await database.disconnect(); process.exit(0); } // Create ATProto records let created = 0; let failed = 0; for (const kidlisp of missing) { try { const result = await createMediaRecord( database, MediaTypes.KIDLISP, kidlisp, { userSub: jeffreyUser._id } ); if (result.error) { console.log(`โ ๏ธ Failed ${kidlisp.code}: ${result.error}`); failed++; } else { console.log(`โ
Created ${kidlisp.code} โ rkey: ${result.rkey}`); created++; } } catch (error) { console.error(`โ Error creating ${kidlisp.code}:`, error.message); failed++; } } console.log(`\n๐ Results:`); console.log(` โ
Created: ${created}`); console.log(` โ Failed: ${failed}`); await database.disconnect(); process.exit(0);}
main().catch(err => { console.error('โ Error:', err); process.exit(1);});