@@ -21,7 +21,6 @@ import {
2121 createSchedulesForDeploy ,
2222 validateWorkflowSchedules ,
2323} from '@/lib/workflows/schedules'
24- import { validateWorkflowPermissions } from '@/lib/workflows/utils'
2524import { validateWorkflowAccess } from '@/app/api/workflows/middleware'
2625import { createErrorResponse , createSuccessResponse } from '@/app/api/workflows/utils'
2726import type { WorkflowState } from '@/stores/workflows/workflow/types'
@@ -34,21 +33,12 @@ export const runtime = 'nodejs'
3433type LifecycleAdminAccessResult = {
3534 error : { message : string ; status : number } | null | undefined
3635 auth : AuthResult | null | undefined
37- session :
38- | Awaited < ReturnType < typeof validateWorkflowPermissions > > [ 'session' ]
39- | null
40- | undefined
41- workflow :
42- | Awaited < ReturnType < typeof validateWorkflowPermissions > > [ 'workflow' ]
43- | Awaited < ReturnType < typeof validateWorkflowAccess > > [ 'workflow' ]
44- | null
45- | undefined
36+ workflow : Awaited < ReturnType < typeof validateWorkflowAccess > > [ 'workflow' ] | null | undefined
4637}
4738
4839async function validateLifecycleAdminAccess (
4940 request : NextRequest ,
50- workflowId : string ,
51- requestId : string
41+ workflowId : string
5242) : Promise < LifecycleAdminAccessResult > {
5343 const hybridAccess = await validateWorkflowAccess ( request , workflowId , {
5444 requireDeployment : false ,
@@ -59,35 +49,13 @@ async function validateLifecycleAdminAccess(
5949 return {
6050 error : hybridAccess . error ,
6151 auth : hybridAccess . auth ,
62- session : null ,
6352 workflow : hybridAccess . workflow ,
6453 }
6554 }
6655
67- if ( hybridAccess . auth ?. authType === 'session' ) {
68- const sessionAccess = await validateWorkflowPermissions ( workflowId , requestId , 'admin' )
69- const auth : AuthResult | null = sessionAccess . session ?. user ?. id
70- ? {
71- success : true ,
72- userId : sessionAccess . session . user . id ,
73- userName : sessionAccess . session . user . name ,
74- userEmail : sessionAccess . session . user . email ,
75- authType : 'session' ,
76- }
77- : null
78-
79- return {
80- error : sessionAccess . error ,
81- auth,
82- session : sessionAccess . session ,
83- workflow : sessionAccess . workflow ,
84- }
85- }
86-
8756 return {
8857 error : null ,
8958 auth : hybridAccess . auth ,
90- session : null ,
9159 workflow : hybridAccess . workflow ,
9260 }
9361}
@@ -178,17 +146,12 @@ export async function POST(request: NextRequest, { params }: { params: Promise<{
178146 const { id } = await params
179147
180148 try {
181- const {
182- auth,
183- error,
184- session,
185- workflow : workflowData ,
186- } = await validateLifecycleAdminAccess ( request , id , requestId )
149+ const { auth, error, workflow : workflowData } = await validateLifecycleAdminAccess ( request , id )
187150 if ( error ) {
188151 return createErrorResponse ( error . message , error . status )
189152 }
190153
191- const actorUserId : string | null = session ?. user ?. id ?? auth ?. userId ?? null
154+ const actorUserId : string | null = auth ?. userId ?? null
192155 if ( ! actorUserId ) {
193156 logger . warn ( `[${ requestId } ] Unable to resolve actor user for workflow deployment: ${ id } ` )
194157 return createErrorResponse ( 'Unable to determine deploying user' , 400 )
@@ -329,8 +292,8 @@ export async function POST(request: NextRequest, { params }: { params: Promise<{
329292 recordAudit ( {
330293 workspaceId : workflowData ?. workspaceId || null ,
331294 actorId : actorUserId ,
332- actorName : session ?. user ?. name ,
333- actorEmail : session ?. user ?. email ,
295+ actorName : auth ?. userName ,
296+ actorEmail : auth ?. userEmail ,
334297 action : AuditAction . WORKFLOW_DEPLOYED ,
335298 resourceType : AuditResourceType . WORKFLOW ,
336299 resourceId : id ,
@@ -374,7 +337,7 @@ export async function PATCH(request: NextRequest, { params }: { params: Promise<
374337 const { id } = await params
375338
376339 try {
377- const { auth, error, session } = await validateLifecycleAdminAccess ( request , id , requestId )
340+ const { auth, error } = await validateLifecycleAdminAccess ( request , id )
378341 if ( error ) {
379342 return createErrorResponse ( error . message , error . status )
380343 }
@@ -390,7 +353,7 @@ export async function PATCH(request: NextRequest, { params }: { params: Promise<
390353 const { validatePublicApiAllowed, PublicApiNotAllowedError } = await import (
391354 '@/ee/access-control/utils/permission-check'
392355 )
393- const actorUserId = session ?. user ?. id ?? auth ?. userId
356+ const actorUserId = auth ?. userId
394357 try {
395358 await validatePublicApiAllowed ( actorUserId )
396359 } catch ( err ) {
@@ -421,17 +384,12 @@ export async function DELETE(
421384 const { id } = await params
422385
423386 try {
424- const {
425- auth,
426- error,
427- session,
428- workflow : workflowData ,
429- } = await validateLifecycleAdminAccess ( request , id , requestId )
387+ const { auth, error, workflow : workflowData } = await validateLifecycleAdminAccess ( request , id )
430388 if ( error ) {
431389 return createErrorResponse ( error . message , error . status )
432390 }
433391
434- const actorUserId = session ?. user ?. id ?? auth ?. userId ?? null
392+ const actorUserId = auth ?. userId ?? null
435393 if ( ! actorUserId ) {
436394 return createErrorResponse ( 'Unable to determine undeploying user' , 400 )
437395 }
@@ -458,8 +416,8 @@ export async function DELETE(
458416 recordAudit ( {
459417 workspaceId : workflowData ?. workspaceId || null ,
460418 actorId : actorUserId ,
461- actorName : session ?. user ?. name ,
462- actorEmail : session ?. user ?. email ,
419+ actorName : auth ?. userName ,
420+ actorEmail : auth ?. userEmail ,
463421 action : AuditAction . WORKFLOW_UNDEPLOYED ,
464422 resourceType : AuditResourceType . WORKFLOW ,
465423 resourceId : id ,
0 commit comments