feature(auth): replace clerk.com with custom auth (#103)
* feature(auth): replace clerk.com with custom auth * minor fixes * remove notification preferences * decrease live events interval fix(api): cookies.. # Conflicts: # .gitignore # apps/api/src/index.ts # apps/dashboard/src/app/providers.tsx # packages/trpc/src/trpc.ts
This commit is contained in:
committed by
Carl-Gerhard Lindesvärd
parent
f28802b1c2
commit
d31d9924a5
@@ -1,15 +1,5 @@
|
||||
import { auth } from '@clerk/nextjs/server';
|
||||
|
||||
import { db } from '../prisma-client';
|
||||
|
||||
export async function getCurrentUser() {
|
||||
const session = auth();
|
||||
if (!session.userId) {
|
||||
return null;
|
||||
}
|
||||
return getUserById(session.userId);
|
||||
}
|
||||
|
||||
export async function getUserById(id: string) {
|
||||
return db.user.findUniqueOrThrow({
|
||||
where: {
|
||||
@@ -17,3 +7,33 @@ export async function getUserById(id: string) {
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
export async function getUserAccount({
|
||||
email,
|
||||
provider,
|
||||
providerId,
|
||||
}: { email: string; provider: string; providerId?: string }) {
|
||||
const res = await db.user.findFirst({
|
||||
where: {
|
||||
email,
|
||||
},
|
||||
include: {
|
||||
accounts: {
|
||||
where: {
|
||||
provider,
|
||||
providerId: providerId ? String(providerId) : undefined,
|
||||
},
|
||||
take: 1,
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
if (!res?.accounts[0]) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return {
|
||||
...res,
|
||||
account: res?.accounts[0],
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user