Добавлены getDatasource для источников данных

This commit is contained in:
Pavel Gnedov 2022-07-18 14:42:34 +07:00
parent 4e31ebaafd
commit 26ed9b92f9
2 changed files with 12 additions and 8 deletions

View file

@ -12,15 +12,14 @@ export class Issues {
private static issuesDb = null; private static issuesDb = null;
private static initialized = false; private static initialized = false;
static async getDatasource(): Promise<nano.DocumentScope<RedmineTypes.Issue> | null> { static async getDatasource(): Promise<
nano.DocumentScope<RedmineTypes.Issue>
> {
if (Issues.initialized) { if (Issues.initialized) {
return Issues.issuesDb; return Issues.issuesDb;
} }
Issues.initialized = true; Issues.initialized = true;
const n = CouchDb.getCouchDb(); const n = CouchDb.getCouchDb();
if (!n) {
return null;
}
const issueDbName = config.couchDb?.dbs.issues || 'issues'; const issueDbName = config.couchDb?.dbs.issues || 'issues';
const dbs = await n.db.list(); const dbs = await n.db.list();
if (!dbs.includes(issueDbName)) { if (!dbs.includes(issueDbName)) {
@ -30,4 +29,8 @@ export class Issues {
Issues.logger.log(`Connected to issues db - ${issueDbName}`); Issues.logger.log(`Connected to issues db - ${issueDbName}`);
return Issues.issuesDb; return Issues.issuesDb;
} }
async getDatasource(): Promise<nano.DocumentScope<RedmineTypes.Issue>> {
return await Issues.getDatasource();
}
} }

View file

@ -12,15 +12,12 @@ export class Users {
private static usersDb = null; private static usersDb = null;
private static initialized = false; private static initialized = false;
static async getDatasource(): Promise<nano.DocumentScope<RedmineTypes.User> | null> { static async getDatasource(): Promise<nano.DocumentScope<RedmineTypes.User>> {
if (Users.initialized) { if (Users.initialized) {
return Users.usersDb; return Users.usersDb;
} }
Users.initialized = true; Users.initialized = true;
const n = CouchDb.getCouchDb(); const n = CouchDb.getCouchDb();
if (!n) {
return null;
}
const usersDbName = config.couchDb?.dbs.users; const usersDbName = config.couchDb?.dbs.users;
const dbs = await n.db.list(); const dbs = await n.db.list();
if (!dbs.includes(usersDbName)) { if (!dbs.includes(usersDbName)) {
@ -30,4 +27,8 @@ export class Users {
Users.logger.log(`Connected to users db - ${usersDbName}`); Users.logger.log(`Connected to users db - ${usersDbName}`);
return Users.usersDb; return Users.usersDb;
} }
async getDatasource(): Promise<nano.DocumentScope<RedmineTypes.User>> {
return await Users.getDatasource();
}
} }