mirror of
https://github.com/kremalicious/umami.git
synced 2024-11-15 01:35:17 +01:00
Minor tweaks.
This commit is contained in:
parent
132bbcbe0d
commit
0edf87941a
@ -1,6 +1,8 @@
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
|
||||
const prisma = new PrismaClient();
|
||||
const prisma = new PrismaClient({
|
||||
log: [process.env.NODE_ENV !== 'production' && 'query'],
|
||||
});
|
||||
|
||||
export async function runQuery(query) {
|
||||
return query
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { getWebsite, getSession, createSession } from 'lib/db';
|
||||
import { getCountry, getDevice, getIpAddress, hash, isValidSession } from 'lib/utils';
|
||||
|
||||
export default async function checkSession(req) {
|
||||
export default async req => {
|
||||
const { payload } = req.body;
|
||||
const { session } = payload;
|
||||
|
||||
@ -19,7 +19,7 @@ export default async function checkSession(req) {
|
||||
|
||||
if (website) {
|
||||
const { website_id } = website;
|
||||
const session_uuid = hash(`${website_id}${hostname}${ip}${userAgent}${os}`);
|
||||
const session_uuid = hash(website_id, hostname, ip, userAgent, os);
|
||||
|
||||
let session = await getSession(session_uuid);
|
||||
|
||||
@ -46,4 +46,4 @@ export default async function checkSession(req) {
|
||||
].join(':');
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
File diff suppressed because one or more lines are too long
@ -1,6 +1,5 @@
|
||||
import 'dotenv/config';
|
||||
import buble from '@rollup/plugin-buble';
|
||||
import replace from '@rollup/plugin-replace';
|
||||
import { nodeResolve } from '@rollup/plugin-node-resolve';
|
||||
import { terser } from 'rollup-plugin-terser';
|
||||
|
||||
@ -10,12 +9,5 @@ export default {
|
||||
file: 'public/umami.js',
|
||||
format: 'iife',
|
||||
},
|
||||
plugins: [
|
||||
replace({
|
||||
'process.env.UMAMI_URL': JSON.stringify(process.env.UMAMI_URL),
|
||||
}),
|
||||
nodeResolve(),
|
||||
buble(),
|
||||
terser({ compress: { evaluate: false } }),
|
||||
],
|
||||
plugins: [nodeResolve(), buble(), terser({ compress: { evaluate: false } })],
|
||||
};
|
||||
|
@ -73,7 +73,9 @@ import 'unfetch/polyfill';
|
||||
const orig = history[type];
|
||||
return (state, title, url) => {
|
||||
const args = [state, title, url];
|
||||
|
||||
cb.apply(null, args);
|
||||
|
||||
return orig.apply(history, args);
|
||||
};
|
||||
};
|
||||
@ -85,7 +87,7 @@ import 'unfetch/polyfill';
|
||||
|
||||
const removeEvents = () => {
|
||||
listeners.forEach(([element, type, listener]) => {
|
||||
element.removeEventListener(type, listener, true);
|
||||
element && element.removeEventListener(type, listener, true);
|
||||
});
|
||||
listeners.length = 0;
|
||||
};
|
||||
@ -93,13 +95,12 @@ import 'unfetch/polyfill';
|
||||
const loadEvents = () => {
|
||||
document.querySelectorAll("[class*='umami--']").forEach(element => {
|
||||
element.className.split(' ').forEach(className => {
|
||||
if (/^umami--/.test(className)) {
|
||||
if (/^umami--([a-z]+)--([a-z0-9_]+[a-z0-9-_]+)$/.test(className)) {
|
||||
const [, type, value] = className.split('--');
|
||||
if (type && value) {
|
||||
const listener = () => pageEvent(type, value);
|
||||
listeners.push([element, type, listener]);
|
||||
element.addEventListener(type, listener, true);
|
||||
}
|
||||
const listener = () => pageEvent(type, value);
|
||||
|
||||
listeners.push([element, type, listener]);
|
||||
element.addEventListener(type, listener, true);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
@ -38,5 +38,12 @@ create table event (
|
||||
);
|
||||
|
||||
create index on session(created_at);
|
||||
create index on session(website_id);
|
||||
|
||||
create index on pageview(created_at);
|
||||
create index on pageview(website_id);
|
||||
create index on pageview(session_id);
|
||||
|
||||
create index on event(created_at);
|
||||
create index on event(website_id);
|
||||
create index on event(session_id);
|
Loading…
Reference in New Issue
Block a user