server auth stuff, prooompt engineering

This commit is contained in:
2026-03-31 15:29:47 +02:00
parent c5b3ee3875
commit ead9548744
6 changed files with 29 additions and 28 deletions

View File

@@ -1,5 +1,5 @@
'use server'
import { clerkClient } from '@clerk/nextjs/server'
import { clerkClient, auth } from '@clerk/nextjs/server'
import { google } from 'googleapis'
import { env } from '~/env'
@@ -10,7 +10,6 @@ export async function scheduleMeeting({
durationMinutes,
attendeeEmail,
attendeeName,
userId,
}: {
title: string
description: string
@@ -18,11 +17,11 @@ export async function scheduleMeeting({
durationMinutes: number
attendeeEmail?: string
attendeeName?: string
userId: string
}) {
try {
const clerk = await clerkClient()
const userAuth = await auth()
const user = await clerk.users.getUser(userAuth.userId?userAuth.userId:"")
// Get admin's Google OAuth token to create the event on Gregor's calendar
const adminTokenResponse = await clerk.users.getUserOauthAccessToken(
env.ADMIN_USER_CLERK_ID,
@@ -37,16 +36,7 @@ export async function scheduleMeeting({
// Try to resolve visitor's Google email for the invite
let visitorEmail: string | undefined = attendeeEmail
if (!visitorEmail) {
try {
const visitorTokenResponse = await clerk.users.getUserOauthAccessToken(userId, 'oauth_google')
if (visitorTokenResponse.data[0]) {
const user = await clerk.users.getUser(userId)
const googleAccount = user.externalAccounts.find((a) => a.provider === 'google')
visitorEmail = googleAccount?.emailAddress ?? undefined
}
} catch {
// Visitor not signed in with Google — no invite
}
visitorEmail = user?.emailAddresses.at(0)?.emailAddress ?? undefined
}
const oAuth2Client = new google.auth.OAuth2()
@@ -71,6 +61,7 @@ export async function scheduleMeeting({
end: { dateTime: endTime.toISOString(), timeZone: 'UTC' },
attendees,
},
sendNotifications: true
})
return {