@opengis/fastify-table
Version:
core-plugins
23 lines (22 loc) • 1.04 kB
JavaScript
import { pgClients, getAdminAccess } from "../../../../utils.js";
export default async function accessGroup({ pg = pgClients.client, params, user = {}, unittest, }, reply) {
if (!params?.id) {
return reply.status(400).send("not enough params: id");
}
// restrict access - admin only
const check = await getAdminAccess({
id: params.id,
user,
});
if (check?.message && check?.status && !unittest) {
return reply.status(check?.status).send(check?.message);
}
const { rows: routes = [] } = await pg.query(`select a.route_id as path, b.actions from admin.routes a
left join admin.role_access b on a.route_id=b.route_id
where b.role_id=$1`, [params.id]);
const { rows: users = [] } = await pg.query(`select user_uid as id, user_name as name, access_granted,
b.cdate as user_created, b.last_activity_date as last_activity from admin.user_roles a
left join admin.users b on a.user_uid=b.uid
where a.role_id=$1`, [params.id]);
return { routes, users };
}