diff --git a/backend/scripts/seedBadges.js b/backend/scripts/seedBadges.js index 6e6cd8b..a818aa2 100644 --- a/backend/scripts/seedBadges.js +++ b/backend/scripts/seedBadges.js @@ -1,11 +1,5 @@ require("dotenv").config(); -const Nano = require("nano"); - -// CouchDB setup -const couchdbUrl = process.env.COUCHDB_URL || 'http://localhost:5984'; -const dbName = process.env.COUCHDB_DB_NAME || 'adopt-a-street'; -const nano = Nano(couchdbUrl); -const db = nano.use(dbName); +const couchdbService = require("../services/couchdbService"); /** * Initial badge definitions @@ -239,18 +233,15 @@ async function seedBadges() { try { console.log("Connecting to CouchDB..."); - // Test connection - await nano.info(); + // Initialize CouchDB service + await couchdbService.initialize(); console.log("Connected to CouchDB"); // Clear existing badges - const existingBadges = await db.find({ - selector: { type: 'badge' }, - fields: ['_id', '_rev'] - }); + const existingBadges = await couchdbService.findByType('badge'); - for (const badge of existingBadges.docs) { - await db.destroy(badge._id, badge._rev); + for (const badge of existingBadges) { + await couchdbService.deleteDocument(badge._id, badge._rev); } console.log("Cleared existing badges"); @@ -269,8 +260,12 @@ async function seedBadges() { updatedAt: new Date().toISOString() })); - const results = await db.bulk({ docs: couchdbBadges }); - const successCount = results.filter(r => !r.error).length; + let successCount = 0; + for (const badge of couchdbBadges) { + await couchdbService.createDocument(badge); + successCount++; + } + console.log(`Successfully seeded ${successCount} badges`); // Display created badges diff --git a/couchdb/local.d/docker.ini b/couchdb/local.d/docker.ini new file mode 100644 index 0000000..40e1d3b --- /dev/null +++ b/couchdb/local.d/docker.ini @@ -0,0 +1,6 @@ + +[chttpd_auth] +secret = some-random-secret-string + +[admins] +admin = -pbkdf2-6f577c99f62805329938afbaec55beb68a9d35d5,cdfa85e093b978bec5ef45f4d109b6d3,10 diff --git a/docker-compose.yml b/docker-compose.yml index b818f51..0b85d19 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,7 +12,6 @@ services: - COUCHDB_USER=admin - COUCHDB_PASSWORD=admin - COUCHDB_SECRET=some-random-secret-string - - NODENAME=couchdb@localhost - ERL_FLAGS=+K true +A 4 volumes: - couchdb_data:/opt/couchdb/data