adding project features.

This commit is contained in:
killian-larcher
2024-11-29 19:25:44 +01:00
parent 287f47ad90
commit 2a9a78d765
23 changed files with 668 additions and 241 deletions
+10 -9
View File
@@ -6,7 +6,6 @@ import {env} from "@/env.mjs";
import GoogleProvider from "next-auth/providers/google";
export const {handlers, auth: baseAuth, signIn, signOut} = NextAuth({
adapter: PrismaAdapter(prisma),
theme: {
@@ -79,20 +78,22 @@ export const {handlers, auth: baseAuth, signIn, signOut} = NextAuth({
// // session.user.authMethod = user.authMethod;
// return session
// },
async jwt({ token, trigger, session, user }) {
async jwt({token, trigger, session, user}) {
if (trigger === "update" && session) {
return { ...token, ...session?.user };
return {...session, user: {...token, ...session?.user}};
// return {...token, ...session?.user};
}
return { ...token, ...user };
return {...token, ...user};
},
async session({ session, token, user }) {
session.user = token;
async session({session, token, user}) {
session.user = token.user;
// session.user = token;
return session;
},
async signIn({ account, user, profile }) {
async signIn({account, user, profile}) {
const existingUser = await prisma.user.findFirst({
where: { email: user.email },
where: {email: user.email},
});
if (!existingUser) {
@@ -125,7 +126,7 @@ export const {handlers, auth: baseAuth, signIn, signOut} = NextAuth({
// Update auth method if user exists
await prisma.user.update({
where: { id: existingUser.id },
where: {id: existingUser.id},
data: {
authMethod: account.provider,
},
+11
View File
@@ -0,0 +1,11 @@
import {baseAuth} from "@/auth/auth";
import {Organization} from "@prisma/client";
export const currentOrganization = async () => {
const session = await baseAuth();
console.log("mysession", session)
if (!session?.organization) {
return null;
}
return session.organization as Organization;
}
+2
View File
@@ -3,12 +3,14 @@ import {User} from "@prisma/client";
export const currentUser = async () => {
const session = await baseAuth();
console.log("mysession", session)
if (!session?.user) {
return null;
}
return session.user as User;
}
export const requiredCurrentUser = async () => {
const user = await currentUser();
if (!user) {