Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions apps/sim/app/api/workflows/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { workflow, workspace } from '@sim/db/schema'
import { eq } from 'drizzle-orm'
import { type NextRequest, NextResponse } from 'next/server'
import { z } from 'zod'
import { getSession } from '@/lib/auth'
import { checkHybridAuth } from '@/lib/auth/hybrid'
import { createLogger } from '@/lib/logs/console/logger'
import { generateRequestId } from '@/lib/utils'
import { verifyWorkspaceMembership } from './utils'
Expand All @@ -19,20 +19,20 @@ const CreateWorkflowSchema = z.object({
})

// GET /api/workflows - Get workflows for user (optionally filtered by workspaceId)
export async function GET(request: Request) {
export async function GET(request: NextRequest) {
const requestId = generateRequestId()
const startTime = Date.now()
const url = new URL(request.url)
const workspaceId = url.searchParams.get('workspaceId')

try {
const session = await getSession()
if (!session?.user?.id) {
const authResult = await checkHybridAuth(request)
if (!authResult.success || !authResult.userId) {
logger.warn(`[${requestId}] Unauthorized workflow access attempt`)
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 })
}

const userId = session.user.id
const userId = authResult.userId

if (workspaceId) {
const workspaceExists = await db
Expand Down Expand Up @@ -83,9 +83,9 @@ export async function GET(request: Request) {
// POST /api/workflows - Create a new workflow
export async function POST(req: NextRequest) {
const requestId = generateRequestId()
const session = await getSession()
const authResult = await checkHybridAuth(req)

if (!session?.user?.id) {
if (!authResult.success || !authResult.userId) {
logger.warn(`[${requestId}] Unauthorized workflow creation attempt`)
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 })
}
Expand All @@ -97,11 +97,11 @@ export async function POST(req: NextRequest) {
const workflowId = crypto.randomUUID()
const now = new Date()

logger.info(`[${requestId}] Creating workflow ${workflowId} for user ${session.user.id}`)
logger.info(`[${requestId}] Creating workflow ${workflowId} for user ${authResult.userId}`)

await db.insert(workflow).values({
id: workflowId,
userId: session.user.id,
userId: authResult.userId,
workspaceId: workspaceId || null,
folderId: folderId || null,
name,
Expand Down