feat(telemetry): opt-in admin alert pushes
- telemetryAlerts metadata flag, admin-gated server fn - alerts sent only to admins with the flag enabled - settings toggle visible to admins only, under device notifications
This commit is contained in:
@@ -34,11 +34,15 @@ const getAdminPlayerIds = async (): Promise<string[]> => {
|
||||
const { ensureSuperTokensBackend } = await import("@/lib/supertokens/server");
|
||||
ensureSuperTokensBackend();
|
||||
const UserRoles = (await import("supertokens-node/recipe/userroles")).default;
|
||||
const UserMetadata = (await import("supertokens-node/recipe/usermetadata")).default;
|
||||
const response = await UserRoles.getUsersThatHaveRole("public", ADMIN_ROLE);
|
||||
const users = response.status === "OK" ? response.users : [];
|
||||
const playerIds: string[] = [];
|
||||
for (const userId of users) {
|
||||
try {
|
||||
// Opt-in: only admins who enabled telemetry alerts in settings.
|
||||
const { metadata } = await UserMetadata.getUserMetadata(userId);
|
||||
if (metadata?.telemetryAlerts !== true) continue;
|
||||
const player = await pbAdmin.getPlayerByAuthId(userId);
|
||||
if (player) playerIds.push(player.id);
|
||||
} catch {}
|
||||
|
||||
Reference in New Issue
Block a user