Spaces:
Sleeping
Sleeping
| 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; |