mirror of
https://github.com/whyour/qinglong.git
synced 2025-05-22 22:36:06 +08:00
49 lines
1.2 KiB
TypeScript
49 lines
1.2 KiB
TypeScript
import DataStore from 'nedb';
|
|
import config from '../config';
|
|
import Logger from './logger';
|
|
|
|
interface Dbs {
|
|
cronDb: DataStore;
|
|
dependenceDb: DataStore;
|
|
envDb: DataStore;
|
|
appDb: DataStore;
|
|
authDb: DataStore;
|
|
}
|
|
|
|
const db: Dbs = {} as any;
|
|
|
|
export default () => {
|
|
db.cronDb = new DataStore({ filename: config.cronDbFile });
|
|
db.dependenceDb = new DataStore({ filename: config.dependenceDbFile });
|
|
db.envDb = new DataStore({ filename: config.envDbFile });
|
|
db.appDb = new DataStore({ filename: config.appDbFile });
|
|
db.authDb = new DataStore({ filename: config.authDbFile });
|
|
|
|
// compaction data file
|
|
db.cronDb.persistence.compactDatafile();
|
|
db.envDb.persistence.compactDatafile();
|
|
db.dependenceDb.persistence.compactDatafile();
|
|
db.appDb.persistence.compactDatafile();
|
|
db.authDb.persistence.compactDatafile();
|
|
|
|
db.cronDb.loadDatabase((err) => {
|
|
if (err) throw err;
|
|
});
|
|
db.envDb.loadDatabase((err) => {
|
|
if (err) throw err;
|
|
});
|
|
db.dependenceDb.loadDatabase((err) => {
|
|
if (err) throw err;
|
|
});
|
|
db.appDb.loadDatabase((err) => {
|
|
if (err) throw err;
|
|
});
|
|
db.authDb.loadDatabase((err) => {
|
|
if (err) throw err;
|
|
});
|
|
|
|
Logger.info('✌️ DB loaded');
|
|
};
|
|
|
|
export const dbs: Dbs = db;
|