@opengis/fastify-table
Version:
core-plugins
25 lines (24 loc) • 799 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;