Files

37 lines
1.1 KiB
JavaScript

require('dotenv').config();
const swaggerStats = require('swagger-stats');
const express = require('express');
const packageJson = require("../../package.json");
class Analytics {
static instance;
constructor() {
if (!Analytics.instance) {
this.app = express();
this.middleware = swaggerStats.getMiddleware({
name: packageJson.name,
version: packageJson.version,
timelineBucketDuration: 60000,
uriPath: '/stats/ui',
authentication: true,
onAuthenticate: (req, username, password) => {
return username === process.env.METRICS_USER
&& password === process.env.METRICS_PASSWORD
},
swaggerSpec: {
info: {
title: 'TMDB Addon API',
version: packageJson.version
}
}
});
this.app.use(this.middleware);
Analytics.instance = this;
}
return Analytics.instance;
}
}
module.exports = new Analytics();