dashboard: work on guild access page

This commit is contained in:
Dragory 2020-05-23 17:30:52 +03:00
parent f90ee12b9f
commit e0209d3319
No known key found for this signature in database
GPG key ID: 5F387BA66DF8AAC1
6 changed files with 138 additions and 18 deletions

View file

@ -7,6 +7,9 @@ import yaml, { YAMLException } from "js-yaml";
import { apiTokenAuthHandlers } from "./auth";
import { ApiPermissions } from "@shared/apiPermissions";
import { hasGuildPermission, requireGuildPermission } from "./permissions";
import { ApiPermissionAssignments } from "../data/ApiPermissionAssignments";
const apiPermissionAssignments = new ApiPermissionAssignments();
export function initGuildsAPI(app: express.Express) {
const allowedGuilds = new AllowedGuilds();
@ -82,5 +85,14 @@ export function initGuildsAPI(app: express.Express) {
ok(res);
});
guildRouter.get(
"/:guildId/permissions",
requireGuildPermission(ApiPermissions.ManageAccess),
async (req: Request, res: Response) => {
const permissions = await apiPermissionAssignments.getByGuildId(req.params.guildId);
res.json(permissions);
},
);
app.use("/guilds", guildRouter);
}

View file

@ -15,6 +15,14 @@ export class ApiPermissionAssignments extends BaseRepository {
this.apiPermissions = getRepository(ApiPermissionAssignment);
}
getByGuildId(guildId) {
return this.apiPermissions.find({
where: {
guild_id: guildId,
},
});
}
getByUserId(userId) {
return this.apiPermissions.find({
where: {