From 7ef311cdc7161cfb17029ac0735835a006a1e8e3 Mon Sep 17 00:00:00 2001 From: HF Date: Tue, 2 Aug 2022 12:50:34 +0200 Subject: [PATCH] add functions to map uuids to ip and names to id --- src/core/logger.js | 4 +++- src/data/sql/IPInfo.js | 15 +++++++++++++++ src/data/sql/RegUser.js | 15 +++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/core/logger.js b/src/core/logger.js index e83997e..4dcfbdd 100644 --- a/src/core/logger.js +++ b/src/core/logger.js @@ -7,6 +7,8 @@ import { createLogger, format, transports } from 'winston'; import DailyRotateFile from 'winston-daily-rotate-file'; +export const PIXELLOGGER_PREFIX = './log/pixels-'; + const logger = createLogger({ level: 'info', format: format.combine( @@ -22,7 +24,7 @@ export const pixelLogger = createLogger({ format: format.printf(({ message }) => message), transports: [ new DailyRotateFile({ - filename: './log/pixels-%DATE%.log', + filename: `${PIXELLOGGER_PREFIX}%DATE%.log`, maxFiles: '14d', utc: true, colorize: false, diff --git a/src/data/sql/IPInfo.js b/src/data/sql/IPInfo.js index ef2d113..048dcc3 100644 --- a/src/data/sql/IPInfo.js +++ b/src/data/sql/IPInfo.js @@ -87,4 +87,19 @@ const IPInfo = sequelize.define('IPInfo', { }, }); +export async function getIdsToIps(ips) { + const result = IPInfo.findAll({ + attributes: ['ip', 'uuid'], + where: { + ip: ips, + }, + raw: true, + }); + const ipToIdMap = {}; + result.forEach((obj) => { + ipToIdMap[obj.ip] = obj.uuid; + }); + return ipToIdMap; +} + export default IPInfo; diff --git a/src/data/sql/RegUser.js b/src/data/sql/RegUser.js index 7cb5307..0f9c2cf 100644 --- a/src/data/sql/RegUser.js +++ b/src/data/sql/RegUser.js @@ -181,4 +181,19 @@ export async function findIdByNameOrId(searchString) { return null; } +export async function getNamesToIds(ids) { + const result = RegUser.findAll({ + attributes: ['id', 'name'], + where: { + id: ids, + }, + raw: true, + }); + const idToNameMap = {}; + result.forEach((obj) => { + idToNameMap[obj.id] = obj.name; + }); + return idToNameMap; +} + export default RegUser;