UNPKG

wranglebot

Version:

open source media asset management

28 lines (24 loc) 811 B
import LogBot from "logbotjs"; import type { WrangleBot } from "../../../core/WrangleBot.js"; import { SocketServer } from "../../SocketServer.js"; import RouteResult from "../../RouteResult.js"; /** * @description Retrieves all users in the database */ export default { method: "get", url: "/users", handler: async (req, res, bot: WrangleBot, socketServer: SocketServer) => { if (req.$user.hasRole(["admin", "maintainer"])) { const users = bot.query.users.many().fetch(); const map = users.map((user) => { return user.toJSON(); }); return new RouteResult(200, map); } if (req.$user.hasRole(["contributor", "curator"])) { return new RouteResult(200, [req.$user.toJSON()]); } return new RouteResult(404, LogBot.resolveErrorCode(403)); }, };