18 lines
569 B
TypeScript
18 lines
569 B
TypeScript
export default eventHandler(async (ev) => {
|
|
if (ev.context.currentUser) {
|
|
let log = ev.context.currentUser.ipLog;
|
|
if (ev.context.clientAddress !== undefined && !/127\.0\.0\.1|localhost|::1/.test(ev.context.clientAddress)) {
|
|
let found = log.findIndex((a) => a.ip === ev.context.clientAddress);
|
|
if (found !== -1) {
|
|
ev.context.currentUser.ipLog[found].lastAccess = new Date();
|
|
} else {
|
|
ev.context.currentUser.ipLog.push({
|
|
ip: ev.context.clientAddress!,
|
|
lastAccess: new Date(),
|
|
});
|
|
}
|
|
}
|
|
await ev.context.currentUser.save();
|
|
}
|
|
});
|