const Datastore = require('@seald-io/nedb'); const path = require('path'); const dbDir = path.join(__dirname, 'data'); const fs = require('fs'); if (!fs.existsSync(dbDir)) fs.mkdirSync(dbDir, { recursive: true }); const db = { users: new Datastore({ filename: path.join(dbDir, 'users.db'), autoload: true }), sessions: new Datastore({ filename: path.join(dbDir, 'sessions.db'), autoload: true }), messages: new Datastore({ filename: path.join(dbDir, 'messages.db'), autoload: true }), announcements: new Datastore({ filename: path.join(dbDir, 'announcements.db'), autoload: true }), apikeys: new Datastore({ filename: path.join(dbDir, 'apikeys.db'), autoload: true }) }; // Ensure indices db.users.ensureIndex({ fieldName: 'email', unique: true }); db.users.ensureIndex({ fieldName: 'githubId', unique: true, sparse: true }); db.apikeys.ensureIndex({ fieldName: 'key', unique: true }); const connectDB = async () => { console.log('Neural Archive: Local NeDB Interface ACTIVE ✅'); }; module.exports = connectDB; module.exports.db = db;