mirror of
https://github.com/Redume/Kekkai.git
synced 2025-02-23 12:43:12 +03:00
Сделал аналитику (plausible)
This commit is contained in:
parent
42d47bb550
commit
7d605e673b
4 changed files with 172 additions and 2 deletions
|
@ -1,6 +1,9 @@
|
|||
const logger = require('../shared/logger/src/main.js');
|
||||
const config = require('../shared/config/src/main.js')();
|
||||
|
||||
const fs = require('fs');
|
||||
const axios= require("axios");
|
||||
const UAParser = require('ua-parser-js');
|
||||
|
||||
require('../shared/database/src/create_table.js')();
|
||||
|
||||
|
@ -30,6 +33,39 @@ fastify.register(getRateRoute);
|
|||
fastify.register(configurationRoutes);
|
||||
fastify.register(HomeRoute);
|
||||
|
||||
fastify.addHook('onResponse', async (request, reply) => {
|
||||
if (!config['analytics']['work']) return;
|
||||
|
||||
const userAgent = request.headers['user-agent'];
|
||||
const parser = new UAParser(userAgent);
|
||||
const browser = parser.getBrowser();
|
||||
const os = parser.getOS();
|
||||
|
||||
const event = {
|
||||
domain: config['analytics']['plausible_domain'],
|
||||
name: request.routerPath || '404 - Not Found',
|
||||
url: request.raw.url,
|
||||
props: {
|
||||
method: request.method,
|
||||
statusCode: reply.statusCode,
|
||||
browser: `${browser.name} ${browser.version}`,
|
||||
os: `${os.name} ${os.version}`,
|
||||
source: request.headers['referer'] || 'direct',
|
||||
},
|
||||
};
|
||||
|
||||
try {
|
||||
await axios.post(config['analytics']['plausible_api'], event, {
|
||||
headers: {
|
||||
Authorization: `Bearer ${config['analytics']['plausible_token']}`,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
fastify.log.error('Error sending event to Plausible:', error.message);
|
||||
}
|
||||
});
|
||||
|
||||
fastify.listen(
|
||||
{
|
||||
port: 3000,
|
||||
|
|
Loading…
Add table
Reference in a new issue