Skip to content

Commit 2e585f7

Browse files
committed
Made all dumps field of ApplyWorkflow required
1 parent 3ec4abe commit 2e585f7

File tree

5 files changed

+33
-50
lines changed

5 files changed

+33
-50
lines changed

__tests__/mock/jobs-list.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ export const data = {
4141
output_dataset_id: 2,
4242
start_timestamp: '2023-10-30T09:00:38.442196+00:00',
4343
end_timestamp: '2023-10-30T09:10:38.442196+00:00',
44+
project_dump: { id: 1, name: 'project 1' },
4445
workflow_dump: { id: 1, name: 'workflow 1' },
4546
input_dataset_dump: { id: 1, name: 'input1' },
4647
output_dataset_dump: { id: 2, name: 'output1' },
@@ -55,6 +56,7 @@ export const data = {
5556
output_dataset_id: 4,
5657
start_timestamp: '2023-10-30T09:15:38.442196+00:00',
5758
end_timestamp: '2023-10-30T09:20:38.442196+00:00',
59+
project_dump: { id: 2, name: 'project 2' },
5860
workflow_dump: { id: 2, name: 'workflow 2' },
5961
input_dataset_dump: { id: 3, name: 'input2' },
6062
output_dataset_dump: { id: 4, name: 'output2' },
@@ -68,6 +70,8 @@ export const data = {
6870
input_dataset_id: 5,
6971
output_dataset_id: 6,
7072
start_timestamp: '2023-10-30T09:30:38.442196+00:00',
73+
project_dump: { id: 2, name: 'project 2' },
74+
workflow_dump: { id: 2, name: 'workflow 2' },
7175
input_dataset_dump: { id: 5, name: 'input3' },
7276
output_dataset_dump: { id: 6, name: 'output3' },
7377
end_timestamp: null,

src/lib/components/jobs/JobInfoModal.svelte

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,18 @@
44
import { page } from '$app/stores';
55
import Modal from '../common/Modal.svelte';
66
7-
/** @type {number|undefined} */
8-
let workflowJobId = undefined;
97
/** @type {import('$lib/types').ApplyWorkflow|undefined} */
108
let job = undefined;
11-
/** @type {number|undefined} */
12-
let projectId = undefined;
13-
/** @type {string|undefined} */
14-
let projectName = undefined;
15-
let jobStatus = undefined;
169
1710
let errorAlert = undefined;
1811
/** @type {Modal} */
1912
let modal;
2013
2114
/**
2215
* @param jobToDisplay {import('$lib/types').ApplyWorkflow}
23-
* @param projectNameToDisplay {string}
2416
*/
25-
export async function show(jobToDisplay, projectNameToDisplay) {
17+
export async function show(jobToDisplay) {
2618
job = jobToDisplay;
27-
workflowJobId = job.id;
28-
projectId = job.project_id;
29-
projectName = projectNameToDisplay;
30-
jobStatus = job.status;
31-
3219
modal.show();
3320
}
3421
@@ -37,8 +24,11 @@
3724
if (errorAlert) {
3825
errorAlert.hide();
3926
}
27+
if (!job) {
28+
return;
29+
}
4030
41-
const response = await fetch(`/api/v1/project/${projectId}/job/${workflowJobId}`, {
31+
const response = await fetch(`/api/v1/project/${job.project_dump.id}/job/${job.id}`, {
4232
method: 'GET',
4333
credentials: 'include'
4434
});
@@ -54,7 +44,7 @@
5444

5545
<Modal id="workflowJobInfoModal" bind:this={modal} size="lg">
5646
<svelte:fragment slot="header">
57-
<h1 class="h5 modal-title flex-grow-1">Workflow Job #{workflowJobId}</h1>
47+
<h1 class="h5 modal-title flex-grow-1">Workflow Job #{job?.id}</h1>
5848
{#if job && job.user_email === $page.data.userInfo.email && job.project_id !== null}
5949
<button class="btn btn-light me-3" on:click={fetchJob}>
6050
<i class="bi-arrow-clockwise" />
@@ -71,16 +61,16 @@
7161
<li class="list-group-item list-group-item-light fw-bold">Id</li>
7262
<li class="list-group-item">{job.id}</li>
7363
<li class="list-group-item list-group-item-light fw-bold">Workflow</li>
74-
<li class="list-group-item">{job.workflow_dump?.name || '-'}</li>
64+
<li class="list-group-item">{job.workflow_dump.name}</li>
7565
<li class="list-group-item list-group-item-light fw-bold">Project</li>
76-
<li class="list-group-item">{projectName || '-'}</li>
66+
<li class="list-group-item">{job.project_dump.name}</li>
7767
<li class="list-group-item list-group-item-light fw-bold">Input dataset</li>
78-
<li class="list-group-item">{job.input_dataset_dump?.name || '-'}</li>
68+
<li class="list-group-item">{job.input_dataset_dump.name}</li>
7969
<li class="list-group-item list-group-item-light fw-bold">Output dataset</li>
80-
<li class="list-group-item">{job.output_dataset_dump?.name || '-'}</li>
70+
<li class="list-group-item">{job.output_dataset_dump.name}</li>
8171
<li class="list-group-item list-group-item-light fw-bold">Status</li>
82-
{#key jobStatus}
83-
<li class="list-group-item"><StatusBadge status={jobStatus} /></li>
72+
{#key job.status}
73+
<li class="list-group-item"><StatusBadge status={job.status} /></li>
8474
{/key}
8575
<li class="list-group-item list-group-item-light fw-bold">Working directory</li>
8676
<li class="list-group-item"><code>{job.working_dir}</code></li>

src/lib/components/jobs/JobsList.svelte

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -116,17 +116,6 @@
116116
}
117117
}
118118
119-
/**
120-
* @param projectId {number}
121-
*/
122-
function getProjectName(projectId) {
123-
const filteredProjects = projects.filter((p) => p.id === projectId);
124-
if (filteredProjects.length === 1) {
125-
return filteredProjects[0].name;
126-
}
127-
return '';
128-
}
129-
130119
const updateJobsInterval = env.PUBLIC_UPDATE_JOBS_INTERVAL
131120
? parseInt(env.PUBLIC_UPDATE_JOBS_INTERVAL)
132121
: 3000;
@@ -297,11 +286,7 @@
297286
</span>
298287
</td>
299288
<td>
300-
<button
301-
class="btn btn-info"
302-
on:click|preventDefault={() =>
303-
jobInfoModal.show(row, getProjectName(row.project_id))}
304-
>
289+
<button class="btn btn-info" on:click|preventDefault={() => jobInfoModal.show(row)}>
305290
<i class="bi-info-circle" />
306291
Info
307292
</button>
@@ -363,29 +348,29 @@
363348
<td>
364349
{#if workflows && row.workflow_id !== null && row.user_email === $page.data.userInfo.email}
365350
<a href={`/projects/${row.project_id}/workflows/${row.workflow_id}`}>
366-
{row.workflow_dump?.name}
351+
{row.workflow_dump.name}
367352
</a>
368353
{:else}
369-
{row.workflow_dump?.name || '-'}
354+
{row.workflow_dump.name}
370355
{/if}
371356
</td>
372357
{/if}
373358
<td>
374359
{#if inputDatasets && row.input_dataset_id !== null && row.user_email === $page.data.userInfo.email}
375360
<a href={`/projects/${row.project_id}/datasets/${row.input_dataset_id}`}>
376-
{row.input_dataset_dump?.name}
361+
{row.input_dataset_dump.name}
377362
</a>
378363
{:else}
379-
{row.input_dataset_dump?.name || '-'}
364+
{row.input_dataset_dump.name}
380365
{/if}
381366
</td>
382367
<td>
383368
{#if outputDatasets && row.output_dataset_id !== null && row.user_email === $page.data.userInfo.email}
384369
<a href={`/projects/${row.project_id}/datasets/${row.output_dataset_id}`}>
385-
{row.output_dataset_dump?.name}
370+
{row.output_dataset_dump.name}
386371
</a>
387372
{:else}
388-
{row.output_dataset_dump?.name || '-'}
373+
{row.output_dataset_dump.name}
389374
{/if}
390375
</td>
391376
{#if !columnsToHide.includes('user_email')}

src/lib/types.d.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,18 +80,22 @@ export type ApplyWorkflow = {
8080
end_timestamp: string | null
8181
status: JobStatus
8282
log: string | null
83+
project_dump: {
84+
id: number
85+
name: string
86+
},
8387
workflow_dump: {
8488
id: number
8589
name: string
86-
} | null
90+
}
8791
output_dataset_dump: {
8892
id: number
8993
name: string
90-
} | null
94+
}
9195
input_dataset_dump: {
9296
id: number
9397
name: string
94-
} | null
98+
}
9599
working_dir: string | null
96100
working_dir_user: string | null
97101
first_task_index: number | null

src/routes/admin/jobs/+page.svelte

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -176,11 +176,11 @@
176176
job.end_timestamp,
177177
job.project_id,
178178
job.workflow_id,
179-
job.workflow_dump?.name,
179+
job.workflow_dump.name,
180180
job.input_dataset_id,
181-
job.input_dataset_dump?.name,
181+
job.input_dataset_dump.name,
182182
job.output_dataset_id,
183-
job.output_dataset_dump?.name,
183+
job.output_dataset_dump.name,
184184
job.user_email,
185185
job.working_dir,
186186
job.working_dir_user,

0 commit comments

Comments
 (0)