( workspaceId: string, workflowIds: string[], options: ArchiveWorkflowOptions )
| 318 | } |
| 319 | |
| 320 | export async function archiveWorkflowsByIdsInWorkspace( |
| 321 | workspaceId: string, |
| 322 | workflowIds: string[], |
| 323 | options: ArchiveWorkflowOptions |
| 324 | ): Promise<number> { |
| 325 | if (workflowIds.length === 0) { |
| 326 | return 0 |
| 327 | } |
| 328 | |
| 329 | const workflows = await db |
| 330 | .select({ id: workflow.id }) |
| 331 | .from(workflow) |
| 332 | .where( |
| 333 | and( |
| 334 | eq(workflow.workspaceId, workspaceId), |
| 335 | isNull(workflow.archivedAt), |
| 336 | inArray(workflow.id, workflowIds) |
| 337 | ) |
| 338 | ) |
| 339 | |
| 340 | return archiveWorkflows( |
| 341 | workflows.map((entry) => entry.id), |
| 342 | options |
| 343 | ) |
| 344 | } |
| 345 | |
| 346 | /** |
| 347 | * Disables all resources owned by a banned user by archiving every workspace |
no test coverage detected