Compare commits
1 Commits
fix/react-
...
fix/invite
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d40d931b86 |
@@ -166,9 +166,19 @@ export const initAuth = (db: dbClient) => {
|
|||||||
databaseHooks: {
|
databaseHooks: {
|
||||||
user: {
|
user: {
|
||||||
create: {
|
create: {
|
||||||
before() {
|
async before(user) {
|
||||||
if (env("NEXT_PUBLIC_DISABLE_SIGN_UP")?.toLowerCase() === "true") {
|
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);
|
return Promise.resolve(true);
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -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 (
|
export const acceptInvite = async (
|
||||||
db: dbClient,
|
db: dbClient,
|
||||||
args: { memberId: number; userId: string },
|
args: { memberId: number; userId: string },
|
||||||
|
|||||||
Reference in New Issue
Block a user