@opengis/fastify-table
Version:
core-plugins
34 lines (25 loc) • 811 B
JavaScript
import config from '../../../../config.js';
import getRedis from '../../redis/funcs/getRedis.js';
// import { config, getRedis } from '../../../../utils.js';
function sprintf(str, ...args) {
return str.replace(/%s/g, () => args.shift());
}
const keys = {
r: '%s:token:view:%s',
a: '%s:token:add:%s',
w: '%s:token:edit:%s',
e: '%s:token:exec:%s',
};
const rclient = getRedis({ db: 0 });
async function getToken({
uid, token, json,
}) {
if (!config.redis) return null;
const mode = 'w';
// if (mode === 'r') return token;
const key = sprintf(keys[mode], config?.pg?.database, uid?.toString());
const id = await rclient.hget(key, token);
// console.log(key, token);
return json && id?.[0] === '{' ? JSON.parse(id) : id;
}
export default getToken;