flags related rights and stats api
This commit is contained in:
parent
ae199e3445
commit
8eff4de19d
22
src/api/routes/policies/stats.ts
Normal file
22
src/api/routes/policies/stats.ts
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import { route } from "@fosscord/api";
|
||||||
|
import { Config, getRights, Guild, Member, Message, User } from "@fosscord/util";
|
||||||
|
import { Request, Response, Router } from "express";
|
||||||
|
const router = Router();
|
||||||
|
|
||||||
|
router.get("/", route({}), async (req: Request, res: Response) => {
|
||||||
|
if (!Config.get().security.statsWorldReadable) {
|
||||||
|
const rights = await getRights(req.user_id);
|
||||||
|
rights.hasThrow("VIEW_SERVER_STATS");
|
||||||
|
}
|
||||||
|
|
||||||
|
res.json({
|
||||||
|
counts: {
|
||||||
|
user: await User.count(),
|
||||||
|
guild: await Guild.count(),
|
||||||
|
message: await Message.count(),
|
||||||
|
members: await Member.count(),
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
export default router;
|
@ -13,4 +13,5 @@ export class SecurityConfiguration {
|
|||||||
forwadedFor: string | null = null;
|
forwadedFor: string | null = null;
|
||||||
ipdataApiKey: string | null = "eca677b284b3bac29eb72f5e496aa9047f26543605efe99ff2ce35c9";
|
ipdataApiKey: string | null = "eca677b284b3bac29eb72f5e496aa9047f26543605efe99ff2ce35c9";
|
||||||
mfaBackupCodeCount: number = 10;
|
mfaBackupCodeCount: number = 10;
|
||||||
|
statsWorldReadable: boolean = true;
|
||||||
}
|
}
|
||||||
|
@ -78,6 +78,10 @@ export class Rights extends BitField {
|
|||||||
SEND_BACKDATED_EVENTS: BitFlag(42), // can send backdated events
|
SEND_BACKDATED_EVENTS: BitFlag(42), // can send backdated events
|
||||||
USE_MASS_INVITES: BitFlag(43), // added per @xnacly's request — can accept mass invites
|
USE_MASS_INVITES: BitFlag(43), // added per @xnacly's request — can accept mass invites
|
||||||
ACCEPT_INVITES: BitFlag(44), // added per @xnacly's request — can accept user-specific invites and DM requests
|
ACCEPT_INVITES: BitFlag(44), // added per @xnacly's request — can accept user-specific invites and DM requests
|
||||||
|
SELF_EDIT_FLAGS: BitFlag(45), // can modify own flags
|
||||||
|
EDIT_FLAGS: BitFlag(46), // can set others' flags
|
||||||
|
MANAGE_GROUPS: BitFlag(47), // can manage others' groups
|
||||||
|
VIEW_SERVER_STATS: BitFlag(48) // added per @chrischrome's request — can view server stats)
|
||||||
};
|
};
|
||||||
|
|
||||||
any(permission: RightResolvable, checkOperator = true) {
|
any(permission: RightResolvable, checkOperator = true) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user