• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

statuscompliance / status-backend / 15136040750

20 May 2025 11:13AM UTC coverage: 54.278% (+1.0%) from 53.287%
15136040750

Pull #198

github

web-flow
Merge 67361e208 into f5cbd38d9
Pull Request #198: chore(logger): implement winston logging system

414 of 882 branches covered (46.94%)

Branch coverage included in aggregate %.

117 of 150 new or added lines in 6 files covered. (78.0%)

1 existing line in 1 file now uncovered.

1064 of 1841 relevant lines covered (57.79%)

10.26 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

26.67
/src/db/database.js
1
import { Sequelize } from 'sequelize';
2
import mongoose from 'mongoose';
3
export let sequelize;
4
import { initModels } from '../models/models.js';
5
import logger from '../config/logger.js';
6

7
const isTestEnvironment = !!import.meta.env?.VITEST;
27✔
8

9
const getPostgresConfig = async () => {
27✔
UNCOV
10
  const sequelize = new Sequelize({
×
11
    dialect: 'postgres',
12
    port: process.env.DB_PORT || 5432,
×
13
    host: process.env.DB_HOST || 'localhost',
×
14
    username: process.env.DB_USER || 'root',
×
15
    password: process.env.DB_PASSWORD || 'root',
×
16
    database: process.env.DB_NAME || 'statusdb',
×
17
    ssl: false,
NEW
18
    logging: (msg) => logger.debug(msg),
×
19
  });
NEW
20
  logger.info('Connecting to Postgres...', { 
×
21
    host: process.env.DB_HOST || 'localhost',
×
22
    database: process.env.DB_NAME || 'statusdb'
×
23
  });
24
  await sequelize.authenticate();
×
NEW
25
  logger.info('Postgres successfully connected');
×
26
  return sequelize;
×
27
}
28

29
const initMongoDB = async () => {
27✔
30
  try {
×
31
    await mongoose.connect(
×
32
      process.env.MONGO_URI || 'mongodb://root:root@localhost:27017/statusdb?authSource=admin'
×
33
    );
NEW
34
    logger.info('MongoDB connected', {
×
35
      uri: process.env.MONGO_URI ? '[REDACTED]' : 'mongodb://root:root@localhost:27017/statusdb'
×
36
    });
37
  } catch (err) {
NEW
38
    logger.error('MongoDB connection error', { error: err.message, stack: err.stack });
×
39
  }
40
};
41

42
const initDB = async () => {
27✔
43
  await initMongoDB();
×
44
  return await getPostgresConfig();
×
45
};
46

47
export const registerDB = async (instance) => {
27✔
48
  if(!sequelize) {
27!
49
    sequelize = instance;
27✔
50
    await initModels(sequelize);
27✔
51
    logger.info('Database models initialized');
27✔
52
  }
53
}
54

55
if (!isTestEnvironment) {
27!
56
  await registerDB(await initDB());
×
57
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc