@@ -22,7 +22,6 @@ import {
2222 createSchedulesForDeploy ,
2323 validateWorkflowSchedules ,
2424} from '@/lib/workflows/schedules'
25- import { validateWorkflowPermissions } from '@/lib/workflows/utils'
2625import { validateWorkflowAccess } from '@/app/api/workflows/middleware'
2726import { createErrorResponse , createSuccessResponse } from '@/app/api/workflows/utils'
2827import type { WorkflowState } from '@/stores/workflows/workflow/types'
@@ -35,18 +34,12 @@ export const runtime = 'nodejs'
3534type LifecycleAdminAccessResult = {
3635 error : { message : string ; status : number } | null | undefined
3736 auth : AuthResult | null | undefined
38- session : Awaited < ReturnType < typeof validateWorkflowPermissions > > [ 'session' ] | null | undefined
39- workflow :
40- | Awaited < ReturnType < typeof validateWorkflowPermissions > > [ 'workflow' ]
41- | Awaited < ReturnType < typeof validateWorkflowAccess > > [ 'workflow' ]
42- | null
43- | undefined
37+ workflow : Awaited < ReturnType < typeof validateWorkflowAccess > > [ 'workflow' ] | null | undefined
4438}
4539
4640async function validateLifecycleAdminAccess (
4741 request : NextRequest ,
48- workflowId : string ,
49- requestId : string
42+ workflowId : string
5043) : Promise < LifecycleAdminAccessResult > {
5144 const hybridAccess = await validateWorkflowAccess ( request , workflowId , {
5245 requireDeployment : false ,
@@ -57,35 +50,13 @@ async function validateLifecycleAdminAccess(
5750 return {
5851 error : hybridAccess . error ,
5952 auth : hybridAccess . auth ,
60- session : null ,
6153 workflow : hybridAccess . workflow ,
6254 }
6355 }
6456
65- if ( hybridAccess . auth ?. authType === 'session' ) {
66- const sessionAccess = await validateWorkflowPermissions ( workflowId , requestId , 'admin' )
67- const auth : AuthResult | null = sessionAccess . session ?. user ?. id
68- ? {
69- success : true ,
70- userId : sessionAccess . session . user . id ,
71- userName : sessionAccess . session . user . name ,
72- userEmail : sessionAccess . session . user . email ,
73- authType : 'session' ,
74- }
75- : null
76-
77- return {
78- error : sessionAccess . error ,
79- auth,
80- session : sessionAccess . session ,
81- workflow : sessionAccess . workflow ,
82- }
83- }
84-
8557 return {
8658 error : null ,
8759 auth : hybridAccess . auth ,
88- session : null ,
8960 workflow : hybridAccess . workflow ,
9061 }
9162}
@@ -176,17 +147,12 @@ export async function POST(request: NextRequest, { params }: { params: Promise<{
176147 const { id } = await params
177148
178149 try {
179- const {
180- auth,
181- error,
182- session,
183- workflow : workflowData ,
184- } = await validateLifecycleAdminAccess ( request , id , requestId )
150+ const { auth, error, workflow : workflowData } = await validateLifecycleAdminAccess ( request , id )
185151 if ( error ) {
186152 return createErrorResponse ( error . message , error . status )
187153 }
188154
189- const actorUserId : string | null = session ?. user ?. id ?? auth ?. userId ?? null
155+ const actorUserId : string | null = auth ?. userId ?? null
190156 if ( ! actorUserId ) {
191157 logger . warn ( `[${ requestId } ] Unable to resolve actor user for workflow deployment: ${ id } ` )
192158 return createErrorResponse ( 'Unable to determine deploying user' , 400 )
@@ -339,8 +305,8 @@ export async function POST(request: NextRequest, { params }: { params: Promise<{
339305 recordAudit ( {
340306 workspaceId : workflowData ?. workspaceId || null ,
341307 actorId : actorUserId ,
342- actorName : session ?. user ?. name ,
343- actorEmail : session ?. user ?. email ,
308+ actorName : auth ?. userName ,
309+ actorEmail : auth ?. userEmail ,
344310 action : AuditAction . WORKFLOW_DEPLOYED ,
345311 resourceType : AuditResourceType . WORKFLOW ,
346312 resourceId : id ,
@@ -384,7 +350,7 @@ export async function PATCH(request: NextRequest, { params }: { params: Promise<
384350 const { id } = await params
385351
386352 try {
387- const { auth, error, session } = await validateLifecycleAdminAccess ( request , id , requestId )
353+ const { auth, error } = await validateLifecycleAdminAccess ( request , id )
388354 if ( error ) {
389355 return createErrorResponse ( error . message , error . status )
390356 }
@@ -400,7 +366,7 @@ export async function PATCH(request: NextRequest, { params }: { params: Promise<
400366 const { validatePublicApiAllowed, PublicApiNotAllowedError } = await import (
401367 '@/ee/access-control/utils/permission-check'
402368 )
403- const actorUserId = session ?. user ?. id ?? auth ?. userId
369+ const actorUserId = auth ?. userId
404370 try {
405371 await validatePublicApiAllowed ( actorUserId )
406372 } catch ( err ) {
@@ -431,17 +397,12 @@ export async function DELETE(
431397 const { id } = await params
432398
433399 try {
434- const {
435- auth,
436- error,
437- session,
438- workflow : workflowData ,
439- } = await validateLifecycleAdminAccess ( request , id , requestId )
400+ const { auth, error, workflow : workflowData } = await validateLifecycleAdminAccess ( request , id )
440401 if ( error ) {
441402 return createErrorResponse ( error . message , error . status )
442403 }
443404
444- const actorUserId = session ?. user ?. id ?? auth ?. userId ?? null
405+ const actorUserId = auth ?. userId ?? null
445406 if ( ! actorUserId ) {
446407 return createErrorResponse ( 'Unable to determine undeploying user' , 400 )
447408 }
@@ -467,8 +428,8 @@ export async function DELETE(
467428 recordAudit ( {
468429 workspaceId : workflowData ?. workspaceId || null ,
469430 actorId : actorUserId ,
470- actorName : session ?. user ?. name ,
471- actorEmail : session ?. user ?. email ,
431+ actorName : auth ?. userName ,
432+ actorEmail : auth ?. userEmail ,
472433 action : AuditAction . WORKFLOW_UNDEPLOYED ,
473434 resourceType : AuditResourceType . WORKFLOW ,
474435 resourceId : id ,
0 commit comments