Skip to content

Commit 1cce052

Browse files
authored
Web: encode job name in API requests (#2866)
Signed-off-by: Martynov Maxim <martinov_m_s_@mail.ru>
1 parent 8ec9574 commit 1cce052

3 files changed

Lines changed: 63 additions & 47 deletions

File tree

web/src/store/requests/datasets.ts

Lines changed: 36 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@ import { Dataset, DatasetVersions, Datasets } from '../../types/api'
66
import { genericFetchWrapper } from './index'
77

88
export const getDatasets = async (namespace: string, limit = 20, offset = 0) => {
9-
const url = `${API_URL}/namespaces/${encodeURIComponent(
10-
namespace
11-
)}/datasets?limit=${limit}&offset=${offset}`
9+
const encodedNamespace = encodeURIComponent(namespace)
10+
const url = `${API_URL}/namespaces/${encodedNamespace}/datasets?limit=${limit}&offset=${offset}`
1211
return genericFetchWrapper(url, { method: 'GET' }, 'fetchDatasets').then((r: Datasets) => {
1312
return {
1413
datasets: r.datasets.map((d) => ({ ...d, namespace: namespace })),
@@ -19,66 +18,74 @@ export const getDatasets = async (namespace: string, limit = 20, offset = 0) =>
1918

2019
export const getDatasetVersions = async (
2120
namespace: string,
22-
dataset: string,
21+
datasetName: string,
2322
limit: number,
2423
offset: number
2524
) => {
26-
const url = `${API_URL}/namespaces/${encodeURIComponent(namespace)}/datasets/${encodeURIComponent(
27-
dataset
28-
)}/versions?limit=${limit}&offset=${offset}`
25+
const encodedNamespace = encodeURIComponent(namespace)
26+
const encodedDataset = encodeURIComponent(datasetName)
27+
const url = `${API_URL}/namespaces/${encodedNamespace}/datasets/${encodedDataset}/versions?limit=${limit}&offset=${offset}`
2928
return genericFetchWrapper(url, { method: 'GET' }, 'fetchDatasetVersions').then(
3029
(r: DatasetVersions) => {
3130
return { versions: r.versions, totalCount: r.totalCount }
3231
}
3332
)
3433
}
3534

36-
export const getDataset = async (namespace: string, dataset: string) => {
37-
const url = `${API_URL}/namespaces/${encodeURIComponent(namespace)}/datasets/${encodeURIComponent(
38-
dataset
39-
)}`
35+
export const getDataset = async (namespace: string, datasetName: string) => {
36+
const encodedNamespace = encodeURIComponent(namespace)
37+
const encodedDataset = encodeURIComponent(datasetName)
38+
const url = `${API_URL}/namespaces/${encodedNamespace}/datasets/${encodedDataset}`
4039
return genericFetchWrapper(url, { method: 'GET' }, 'fetchDataset').then((d: Dataset) => d)
4140
}
4241

43-
export const deleteDataset = async (datasetName: string, namespace: string) => {
44-
const url = `${API_URL}/namespaces/${encodeURIComponent(namespace)}/datasets/${datasetName}`
42+
export const deleteDataset = async (namespace: string, datasetName: string) => {
43+
const encodedNamespace = encodeURIComponent(namespace)
44+
const encodedDataset = encodeURIComponent(datasetName)
45+
const url = `${API_URL}/namespaces/${encodedNamespace}/datasets/${encodedDataset}`
4546
return genericFetchWrapper(url, { method: 'DELETE' }, 'deleteDataset')
4647
}
4748

4849
export const deleteDatasetTag = async (namespace: string, datasetName: string, tag: string) => {
49-
const url = `${API_URL}/namespaces/${encodeURIComponent(
50-
namespace
51-
)}/datasets/${datasetName}/tags/${tag}`
50+
const encodedNamespace = encodeURIComponent(namespace)
51+
const encodedDataset = encodeURIComponent(datasetName)
52+
const encodedTag = encodeURIComponent(tag)
53+
const url = `${API_URL}/namespaces/${encodedNamespace}/datasets/${encodedDataset}/tags/${encodedTag}`
5254
return genericFetchWrapper(url, { method: 'DELETE' }, 'deleteDatasetTag')
5355
}
5456

5557
export const addDatasetTag = async (namespace: string, datasetName: string, tag: string) => {
56-
const url = `${API_URL}/namespaces/${encodeURIComponent(
57-
namespace
58-
)}/datasets/${datasetName}/tags/${tag}`
58+
const encodedNamespace = encodeURIComponent(namespace)
59+
const encodedDataset = encodeURIComponent(datasetName)
60+
const encodedTag = encodeURIComponent(tag)
61+
const url = `${API_URL}/namespaces/${encodedNamespace}/datasets/${encodedDataset}/tags/${encodedTag}`
5962
return genericFetchWrapper(url, { method: 'POST' }, 'addDatasetTag')
6063
}
6164

6265
export const deleteDatasetFieldTag = async (
6366
namespace: string,
6467
datasetName: string,
65-
tag: string,
66-
field: string
68+
field: string,
69+
tag: string
6770
) => {
68-
const url = `${API_URL}/namespaces/${encodeURIComponent(
69-
namespace
70-
)}/datasets/${datasetName}/fields/${field}/tags/${tag}`
71+
const encodedNamespace = encodeURIComponent(namespace)
72+
const encodedDataset = encodeURIComponent(datasetName)
73+
const encodedField = encodeURIComponent(field)
74+
const encodedTag = encodeURIComponent(tag)
75+
const url = `${API_URL}/namespaces/${encodedNamespace}/datasets/${encodedDataset}/fields/${encodedField}/tags/${encodedTag}`
7176
return genericFetchWrapper(url, { method: 'DELETE' }, 'deleteDatasetFieldTag')
7277
}
7378

7479
export const addDatasetFieldTag = async (
7580
namespace: string,
7681
datasetName: string,
77-
tag: string,
78-
field: string
82+
field: string,
83+
tag: string
7984
) => {
80-
const url = `${API_URL}/namespaces/${encodeURIComponent(
81-
namespace
82-
)}/datasets/${datasetName}/fields/${field}/tags/${tag}`
85+
const encodedNamespace = encodeURIComponent(namespace)
86+
const encodedDataset = encodeURIComponent(datasetName)
87+
const encodedField = encodeURIComponent(field)
88+
const encodedTag = encodeURIComponent(tag)
89+
const url = `${API_URL}/namespaces/${encodedNamespace}/datasets/${encodedDataset}/fields/${encodedField}/tags/${encodedTag}`
8390
return genericFetchWrapper(url, { method: 'POST' }, 'addDatasetFieldTag')
8491
}

web/src/store/requests/jobs.ts

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,17 @@ import { Jobs } from '../../types/api'
66
import { genericFetchWrapper } from './index'
77

88
export const getJobs = async (namespace: string, limit = 25, offset = 0) => {
9-
const url = `${API_URL}/namespaces/${encodeURIComponent(
10-
namespace
11-
)}/jobs?limit=${limit}&offset=${offset}`
9+
const encodedNamespace = encodeURIComponent(namespace)
10+
const url = `${API_URL}/namespaces/${encodedNamespace}/jobs?limit=${limit}&offset=${offset}`
1211
return genericFetchWrapper(url, { method: 'GET' }, 'fetchJobs').then((r: Jobs) => {
1312
return { totalCount: r.totalCount, jobs: r.jobs.map((j) => ({ ...j, namespace: namespace })) }
1413
})
1514
}
1615

17-
export const deleteJob = async (jobName: string, namespace: string) => {
18-
const url = `${API_URL}/namespaces/${encodeURIComponent(namespace)}/jobs/${jobName}`
16+
export const deleteJob = async (namespace: string, jobName: string) => {
17+
const encodedNamespace = encodeURIComponent(namespace)
18+
const encodedJob = encodeURIComponent(jobName)
19+
const url = `${API_URL}/namespaces/${encodedNamespace}/jobs/${encodedJob}`
1920
return genericFetchWrapper(url, { method: 'DELETE' }, 'deleteJob')
2021
}
2122

@@ -25,23 +26,31 @@ export const getRuns = async (
2526
limit: number,
2627
offset: number
2728
) => {
28-
const url = `${API_URL}/namespaces/${encodeURIComponent(namespace)}/jobs/${encodeURIComponent(
29-
jobName
30-
)}/runs?limit=${limit}&offset=${offset}`
29+
const encodedNamespace = encodeURIComponent(namespace)
30+
const encodedJob = encodeURIComponent(jobName)
31+
const url = `${API_URL}/namespaces/${encodedNamespace}/jobs/${encodedJob}/runs?limit=${limit}&offset=${offset}`
3132
return genericFetchWrapper(url, { method: 'GET' }, 'fetchRuns')
3233
}
3334

34-
export const getJob = async (namespace: string, job: string) => {
35-
const url = `${API_URL}/namespaces/${encodeURIComponent(namespace)}/jobs/${job}`
35+
export const getJob = async (namespace: string, jobName: string) => {
36+
const encodedNamespace = encodeURIComponent(namespace)
37+
const encodedJob = encodeURIComponent(jobName)
38+
const url = `${API_URL}/namespaces/${encodedNamespace}/jobs/${encodedJob}`
3639
return genericFetchWrapper(url, { method: 'GET' }, 'fetchJob')
3740
}
3841

3942
export const deleteJobTag = async (namespace: string, jobName: string, tag: string) => {
40-
const url = `${API_URL}/namespaces/${encodeURIComponent(namespace)}/jobs/${jobName}/tags/${tag}`
43+
const encodedNamespace = encodeURIComponent(namespace)
44+
const encodedJob = encodeURIComponent(jobName)
45+
const encodedTag = encodeURIComponent(tag)
46+
const url = `${API_URL}/namespaces/${encodedNamespace}/jobs/${encodedJob}/tags/${encodedTag}`
4147
return genericFetchWrapper(url, { method: 'DELETE' }, 'deleteJobTag')
4248
}
4349

4450
export const addJobTag = async (namespace: string, jobName: string, tag: string) => {
45-
const url = `${API_URL}/namespaces/${encodeURIComponent(namespace)}/jobs/${jobName}/tags/${tag}`
51+
const encodedNamespace = encodeURIComponent(namespace)
52+
const encodedJob = encodeURIComponent(jobName)
53+
const encodedTag = encodeURIComponent(tag)
54+
const url = `${API_URL}/namespaces/${encodedNamespace}/jobs/${encodedJob}/tags/${encodedTag}`
4655
return genericFetchWrapper(url, { method: 'POST' }, 'addJobTag')
4756
}

web/src/store/sagas/index.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ export function* deleteJobSaga() {
226226
while (true) {
227227
try {
228228
const { payload } = yield take(DELETE_JOB)
229-
const job: Job = yield call(deleteJob, payload.jobName, payload.namespace)
229+
const job: Job = yield call(deleteJob, payload.namespace, payload.jobName)
230230
yield put(deleteJobSuccess(job.name))
231231
} catch (e) {
232232
yield put(applicationError('Something went wrong while removing job'))
@@ -285,7 +285,7 @@ export function* deleteDatasetSaga() {
285285
while (true) {
286286
try {
287287
const { payload } = yield take(DELETE_DATASET)
288-
const dataset: Dataset = yield call(deleteDataset, payload.datasetName, payload.namespace)
288+
const dataset: Dataset = yield call(deleteDataset, payload.namespace, payload.datasetName)
289289
yield put(deleteDatasetSuccess(dataset.name))
290290
} catch (e) {
291291
yield put(applicationError('Something went wrong while removing job'))
@@ -325,8 +325,8 @@ export function* deleteDatasetFieldTagSaga() {
325325
deleteDatasetFieldTag,
326326
payload.namespace,
327327
payload.datasetName,
328-
payload.tag,
329-
payload.field
328+
payload.field,
329+
payload.tag
330330
)
331331
yield put(
332332
deleteDatasetFieldTagSuccess(
@@ -374,8 +374,8 @@ export function* addDatasetFieldTagSaga() {
374374
addDatasetFieldTag,
375375
payload.namespace,
376376
payload.datasetName,
377-
payload.tag,
378-
payload.field
377+
payload.field,
378+
payload.tag
379379
)
380380
yield put(
381381
addDatasetFieldTagSuccess(

0 commit comments

Comments
 (0)