User invite uses external domain option (#118)

* feat: user invite uses external domain option
fixes #117

* fix: inconsistent external url format

* fix: normalize external url more cleanly
This commit is contained in:
Husky
2025-06-30 19:11:26 -04:00
committed by GitHub
parent 12837d44fe
commit 73c27f0984
7 changed files with 32 additions and 26 deletions

View File

@ -1,4 +1,5 @@
import aclManager from "~/server/internal/acls";
import { systemConfig } from "~/server/internal/config/sys-conf";
import prisma from "~/server/internal/db/database";
import taskHandler from "~/server/internal/tasks";
@ -10,6 +11,13 @@ export default defineEventHandler(async (h3) => {
await taskHandler.runTaskGroupByName("cleanup:invitations");
const externalUrl = systemConfig.getExternalUrl();
const invitations = await prisma.invitation.findMany({});
return invitations;
return invitations.map((invitation) => {
return {
...invitation,
inviteUrl: `${externalUrl}/auth/register?id=${invitation.id}`,
};
});
});

View File

@ -2,6 +2,7 @@ import { readDropValidatedBody, throwingArktype } from "~/server/arktype";
import aclManager from "~/server/internal/acls";
import prisma from "~/server/internal/db/database";
import { SharedRegisterValidator } from "../../../auth/signup/simple.post";
import { systemConfig } from "~/server/internal/config/sys-conf";
const CreateInvite = SharedRegisterValidator.partial()
.and({
@ -22,5 +23,8 @@ export default defineEventHandler(async (h3) => {
data: body,
});
return invitation;
return {
...invitation,
inviteUrl: `${systemConfig.getExternalUrl()}/auth/register?id=${invitation.id}`,
};
});