import * as admin from 'firebase-admin';

// Initialize Firebase Admin (Make sure your GOOGLE_APPLICATION_CREDENTIALS is set)
// Usage: ts-node scripts/fix-author-names.ts

if (!admin.apps.length) {
    admin.initializeApp();
}

const db = admin.firestore();

async function fixAuthorNames() {
    console.log('Starting batch update for authorNames...');

    const docsRef = db.collection('documents');
    const snapshot = await docsRef.get();

    let docsUpdated = 0;
    let revisionsUpdated = 0;

    for (const doc of snapshot.docs) {
        const data = doc.data();
        let docUpdated = false;

        if (data.authorName === 'Hyun jun Lee') {
            await doc.ref.update({ authorName: '이현준' });
            docUpdated = true;
            docsUpdated++;
        }

        // Now check revisions
        const revisionsRef = doc.ref.collection('revisions');
        const revSnapshot = await revisionsRef.get();

        for (const rev of revSnapshot.docs) {
            const revData = rev.data();
            if (revData.authorName === 'Hyun jun Lee') {
                await rev.ref.update({ authorName: '이현준' });
                revisionsUpdated++;
            }
        }

        if (docUpdated) {
            console.log(`Updated document ${doc.id}`);
        }
    }

    console.log(`Finished. Updated ${docsUpdated} documents and ${revisionsUpdated} revisions.`);
}

fixAuthorNames().catch(console.error);
