MCPcopy Index your code
hub / github.com/simstudioai/sim / performCompleteJob

Function performCompleteJob

apps/sim/lib/workflows/schedules/orchestration.ts:509–542  ·  view source on GitHub ↗
(
  params: PerformCompleteJobParams
)

Source from the content-addressed store, hash-verified

507}
508
509export async function performCompleteJob(
510 params: PerformCompleteJobParams
511): Promise<PerformScheduleResult> {
512 const [job] = await db
513 .select()
514 .from(workflowSchedule)
515 .where(activeJobCondition(params.jobId, params.workspaceId))
516 .limit(1)
517
518 if (!job)
519 return { success: false, error: `Job not found: ${params.jobId}`, errorCode: 'not_found' }
520 if (job.status === 'completed') return { success: true, schedule: job, alreadyCompleted: true }
521
522 const [updatedJob] = await db
523 .update(workflowSchedule)
524 .set({ status: 'completed', nextRunAt: null, updatedAt: new Date() })
525 .where(and(eq(workflowSchedule.id, params.jobId), isNull(workflowSchedule.archivedAt)))
526 .returning()
527
528 recordAudit({
529 workspaceId: params.workspaceId,
530 actorId: params.userId,
531 actorName: params.actorName ?? undefined,
532 actorEmail: params.actorEmail ?? undefined,
533 action: AuditAction.SCHEDULE_UPDATED,
534 resourceType: AuditResourceType.SCHEDULE,
535 resourceId: params.jobId,
536 description: 'Completed job',
537 metadata: { operation: 'complete' },
538 request: params.request,
539 })
540
541 return { success: true, schedule: updatedJob, alreadyCompleted: false }
542}

Callers 1

executeCompleteJobFunction · 0.90

Calls 4

recordAuditFunction · 0.90
activeJobConditionFunction · 0.85
setMethod · 0.65
eqFunction · 0.50

Tested by

no test coverage detected