Allow creating admins on web

This commit is contained in:
Cadence Ember
2024-12-24 01:16:02 +13:00
parent c599dff590
commit 75140a5b58
4 changed files with 12 additions and 6 deletions

View File

@@ -64,6 +64,7 @@ block body
select#permissions(name="permissions")
option(value="default") Default
option(value="moderator") Moderator
option(value="admin") Admin
input(type="hidden" name="guild_id" value=guild_id)
.grid--row-start2
button.s-btn.s-btn__filled.htmx-indicator Invite

View File

@@ -27,6 +27,7 @@ block body
select#permissions(name="permissions")
option(value="default") Default
option(value="moderator") Moderator
option(value="admin") Admin
input(type="hidden" name="nonce" value=nonce)
div
button.s-btn.s-btn__filled.htmx-indicator Invite

View File

@@ -20,7 +20,7 @@ const schema = {
}),
invite: z.object({
mxid: z.string().regex(/@([^:]+):([a-z0-9:-]+\.[a-z0-9.:-]+)/),
permissions: z.enum(["default", "moderator"]),
permissions: z.enum(["default", "moderator", "admin"]),
guild_id: z.string().optional(),
nonce: z.string().optional()
}),
@@ -152,7 +152,10 @@ as.router.post("/api/invite", defineEventHandler(async event => {
}
// Permissions
const powerLevel = parsedBody.permissions === "moderator" ? 50 : 0
const powerLevel =
( parsedBody.permissions === "admin" ? 100
: parsedBody.permissions === "moderator" ? 50
: 0)
await api.setUserPowerCascade(spaceID, parsedBody.mxid, powerLevel)
if (parsedBody.guild_id) {