Compare commits

...

1 Commits

Author SHA1 Message Date
Henry
d40d931b86 fix: allow member invites when signup is disabled 2025-07-20 11:14:09 +01:00
2 changed files with 26 additions and 2 deletions

View File

@@ -166,9 +166,19 @@ export const initAuth = (db: dbClient) => {
databaseHooks: {
user: {
create: {
before() {
async before(user) {
if (env("NEXT_PUBLIC_DISABLE_SIGN_UP")?.toLowerCase() === "true") {
return Promise.resolve(false);
const pendingInvitation = await memberRepo.getByEmailAndStatus(
db,
user.email,
"invited",
);
if (!pendingInvitation) {
return Promise.resolve(false);
}
return Promise.resolve(true);
}
return Promise.resolve(true);
},

View File

@@ -41,6 +41,20 @@ export const getByPublicId = async (db: dbClient, publicId: string) => {
});
};
export const getByEmailAndStatus = async (
db: dbClient,
email: string,
status: MemberStatus,
) => {
return db.query.workspaceMembers.findFirst({
where: and(
eq(workspaceMembers.email, email),
eq(workspaceMembers.status, status),
isNull(workspaceMembers.deletedAt),
),
});
};
export const acceptInvite = async (
db: dbClient,
args: { memberId: number; userId: string },