@platformatic/watt-extra 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +87 -0
- package/app.js +124 -0
- package/cli.js +141 -0
- package/clients/compliance/compliance-types.d.ts +887 -0
- package/clients/compliance/compliance.mjs +1049 -0
- package/clients/compliance/compliance.openapi.json +6127 -0
- package/clients/control-plane/control-plane-types.d.ts +2696 -0
- package/clients/control-plane/control-plane.mjs +3051 -0
- package/clients/control-plane/control-plane.openapi.json +13693 -0
- package/clients/cron/cron-types.d.ts +1479 -0
- package/clients/cron/cron.mjs +872 -0
- package/clients/cron/cron.openapi.json +9330 -0
- package/compliance/index.js +21 -0
- package/compliance/rules/dependencies.js +76 -0
- package/compliance/rules/utils.js +12 -0
- package/eslint.config.js +11 -0
- package/help/start.txt +12 -0
- package/help/watt-extra.txt +12 -0
- package/index.js +45 -0
- package/lib/banner.js +22 -0
- package/lib/errors.js +34 -0
- package/lib/utils.js +34 -0
- package/lib/wattpro.js +580 -0
- package/package.json +50 -0
- package/plugins/alerts.js +115 -0
- package/plugins/auth.js +89 -0
- package/plugins/compliancy.js +70 -0
- package/plugins/env.js +58 -0
- package/plugins/flamegraphs.js +100 -0
- package/plugins/init.js +70 -0
- package/plugins/metadata.js +84 -0
- package/plugins/scheduler.js +48 -0
- package/plugins/update.js +128 -0
- package/renovate.json +6 -0
- package/test/alerts.test.js +607 -0
- package/test/auth.test.js +128 -0
- package/test/auto-cache.test.js +401 -0
- package/test/cli.test.js +75 -0
- package/test/compliancy.test.js +87 -0
- package/test/fixtures/runtime-domains/alpha/package.json +5 -0
- package/test/fixtures/runtime-domains/alpha/platformatic.json +6 -0
- package/test/fixtures/runtime-domains/alpha/plugin.js +16 -0
- package/test/fixtures/runtime-domains/beta/package.json +5 -0
- package/test/fixtures/runtime-domains/beta/platformatic.json +6 -0
- package/test/fixtures/runtime-domains/beta/plugin.js +7 -0
- package/test/fixtures/runtime-domains/composer/package.json +5 -0
- package/test/fixtures/runtime-domains/composer/platformatic.json +19 -0
- package/test/fixtures/runtime-domains/package.json +1 -0
- package/test/fixtures/runtime-domains/platformatic.json +27 -0
- package/test/fixtures/runtime-health/package.json +20 -0
- package/test/fixtures/runtime-health/platformatic.json +16 -0
- package/test/fixtures/runtime-health/services/service-1/package.json +17 -0
- package/test/fixtures/runtime-health/services/service-1/platformatic.json +16 -0
- package/test/fixtures/runtime-health/services/service-1/plugins/example.js +6 -0
- package/test/fixtures/runtime-health/services/service-1/routes/root.cjs +8 -0
- package/test/fixtures/runtime-health/services/service-2/package.json +17 -0
- package/test/fixtures/runtime-health/services/service-2/platformatic.json +16 -0
- package/test/fixtures/runtime-health/services/service-2/plugins/example.js +6 -0
- package/test/fixtures/runtime-health/services/service-2/routes/root.cjs +8 -0
- package/test/fixtures/runtime-next/package.json +5 -0
- package/test/fixtures/runtime-next/platformatic.json +9 -0
- package/test/fixtures/runtime-next/web/next/next.config.js +2 -0
- package/test/fixtures/runtime-next/web/next/package.json +7 -0
- package/test/fixtures/runtime-next/web/next/platformatic.json +9 -0
- package/test/fixtures/runtime-next/web/next/src/app/direct/route.js +3 -0
- package/test/fixtures/runtime-next/web/next/src/app/layout.jsx +7 -0
- package/test/fixtures/runtime-next/web/next/src/app/page.jsx +3 -0
- package/test/fixtures/runtime-scheduler/main/package.json +5 -0
- package/test/fixtures/runtime-scheduler/main/platformatic.json +9 -0
- package/test/fixtures/runtime-scheduler/main/routes/root.cjs +11 -0
- package/test/fixtures/runtime-scheduler/package.json +1 -0
- package/test/fixtures/runtime-scheduler/platformatic.json +27 -0
- package/test/fixtures/runtime-service/main/package.json +5 -0
- package/test/fixtures/runtime-service/main/platformatic.json +12 -0
- package/test/fixtures/runtime-service/main/routes/root.cjs +11 -0
- package/test/fixtures/runtime-service/package.json +1 -0
- package/test/fixtures/runtime-service/platformatic.json +19 -0
- package/test/fixtures/service-1/package.json +7 -0
- package/test/fixtures/service-1/platformatic.json +18 -0
- package/test/fixtures/service-1/routes/root.cjs +48 -0
- package/test/fixtures/service-2/platformatic.json +21 -0
- package/test/fixtures/service-2/routes/root.cjs +5 -0
- package/test/fixtures/service-3/package.json +5 -0
- package/test/fixtures/service-3/platformatic.json +21 -0
- package/test/fixtures/service-3/routes/root.cjs +8 -0
- package/test/health.test.js +44 -0
- package/test/helper.js +274 -0
- package/test/init.test.js +243 -0
- package/test/patch-config.test.js +434 -0
- package/test/scheduler.test.js +71 -0
- package/test/send-to-icc-retry.test.js +138 -0
- package/test/shared-context.test.js +82 -0
- package/test/spawn.test.js +110 -0
- package/test/trigger-flamegraphs.test.js +226 -0
- package/test/update.test.js +519 -0
|
@@ -0,0 +1,872 @@
|
|
|
1
|
+
// This client was generated by Platformatic from an OpenAPI specification.
|
|
2
|
+
|
|
3
|
+
// The base URL for the API. This can be overridden by calling `setBaseUrl`.
|
|
4
|
+
let baseUrl = ''
|
|
5
|
+
// The default headers to send within each request. This can be overridden by calling `setDefaultHeaders`.
|
|
6
|
+
let defaultHeaders = {}
|
|
7
|
+
// The additional parameters you want to pass to the `fetch` instance.
|
|
8
|
+
let defaultFetchParams = {}
|
|
9
|
+
const defaultJsonType = { 'Content-type': 'application/json; charset=utf-8' }
|
|
10
|
+
|
|
11
|
+
function sanitizeUrl(url) {
|
|
12
|
+
if (url.endsWith('/')) { return url.slice(0, -1) } else { return url }
|
|
13
|
+
}
|
|
14
|
+
/** @type {import('./cron-types.d.ts').Cron['setBaseUrl']} */
|
|
15
|
+
export const setBaseUrl = (newUrl) => { baseUrl = sanitizeUrl(newUrl) }
|
|
16
|
+
|
|
17
|
+
/** @type {import('./cron-types.d.ts').Cron['setDefaultHeaders']} */
|
|
18
|
+
export const setDefaultHeaders = (headers) => { defaultHeaders = headers }
|
|
19
|
+
|
|
20
|
+
/** @type {import('./cron-types.d.ts').Cron['setDefaultFetchParams']} */
|
|
21
|
+
export const setDefaultFetchParams = (fetchParams) => { defaultFetchParams = fetchParams }
|
|
22
|
+
|
|
23
|
+
function headersToJSON(headers) {
|
|
24
|
+
const output = {}
|
|
25
|
+
headers.forEach((value, key) => {
|
|
26
|
+
output[key] = value
|
|
27
|
+
})
|
|
28
|
+
return output
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
async function _getJobs (url, request) {
|
|
32
|
+
const queryParameters = ['limit', 'offset', 'totalCount', 'fields', 'where.applicationId.eq', 'where.applicationId.neq', 'where.applicationId.gt', 'where.applicationId.gte', 'where.applicationId.lt', 'where.applicationId.lte', 'where.applicationId.like', 'where.applicationId.ilike', 'where.applicationId.in', 'where.applicationId.nin', 'where.applicationId.contains', 'where.applicationId.contained', 'where.applicationId.overlaps', 'where.body.eq', 'where.body.neq', 'where.body.gt', 'where.body.gte', 'where.body.lt', 'where.body.lte', 'where.body.like', 'where.body.ilike', 'where.body.in', 'where.body.nin', 'where.body.contains', 'where.body.contained', 'where.body.overlaps', 'where.callbackUrl.eq', 'where.callbackUrl.neq', 'where.callbackUrl.gt', 'where.callbackUrl.gte', 'where.callbackUrl.lt', 'where.callbackUrl.lte', 'where.callbackUrl.like', 'where.callbackUrl.ilike', 'where.callbackUrl.in', 'where.callbackUrl.nin', 'where.callbackUrl.contains', 'where.callbackUrl.contained', 'where.callbackUrl.overlaps', 'where.createdAt.eq', 'where.createdAt.neq', 'where.createdAt.gt', 'where.createdAt.gte', 'where.createdAt.lt', 'where.createdAt.lte', 'where.createdAt.like', 'where.createdAt.ilike', 'where.createdAt.in', 'where.createdAt.nin', 'where.createdAt.contains', 'where.createdAt.contained', 'where.createdAt.overlaps', 'where.deletedAt.eq', 'where.deletedAt.neq', 'where.deletedAt.gt', 'where.deletedAt.gte', 'where.deletedAt.lt', 'where.deletedAt.lte', 'where.deletedAt.like', 'where.deletedAt.ilike', 'where.deletedAt.in', 'where.deletedAt.nin', 'where.deletedAt.contains', 'where.deletedAt.contained', 'where.deletedAt.overlaps', 'where.headers.eq', 'where.headers.neq', 'where.headers.gt', 'where.headers.gte', 'where.headers.lt', 'where.headers.lte', 'where.headers.like', 'where.headers.ilike', 'where.headers.in', 'where.headers.nin', 'where.headers.contains', 'where.headers.contained', 'where.headers.overlaps', 'where.id.eq', 'where.id.neq', 'where.id.gt', 'where.id.gte', 'where.id.lt', 'where.id.lte', 'where.id.like', 'where.id.ilike', 'where.id.in', 'where.id.nin', 'where.id.contains', 'where.id.contained', 'where.id.overlaps', 'where.jobType.eq', 'where.jobType.neq', 'where.jobType.gt', 'where.jobType.gte', 'where.jobType.lt', 'where.jobType.lte', 'where.jobType.like', 'where.jobType.ilike', 'where.jobType.in', 'where.jobType.nin', 'where.jobType.contains', 'where.jobType.contained', 'where.jobType.overlaps', 'where.lastRunAt.eq', 'where.lastRunAt.neq', 'where.lastRunAt.gt', 'where.lastRunAt.gte', 'where.lastRunAt.lt', 'where.lastRunAt.lte', 'where.lastRunAt.like', 'where.lastRunAt.ilike', 'where.lastRunAt.in', 'where.lastRunAt.nin', 'where.lastRunAt.contains', 'where.lastRunAt.contained', 'where.lastRunAt.overlaps', 'where.maxRetries.eq', 'where.maxRetries.neq', 'where.maxRetries.gt', 'where.maxRetries.gte', 'where.maxRetries.lt', 'where.maxRetries.lte', 'where.maxRetries.like', 'where.maxRetries.ilike', 'where.maxRetries.in', 'where.maxRetries.nin', 'where.maxRetries.contains', 'where.maxRetries.contained', 'where.maxRetries.overlaps', 'where.method.eq', 'where.method.neq', 'where.method.gt', 'where.method.gte', 'where.method.lt', 'where.method.lte', 'where.method.like', 'where.method.ilike', 'where.method.in', 'where.method.nin', 'where.method.contains', 'where.method.contained', 'where.method.overlaps', 'where.name.eq', 'where.name.neq', 'where.name.gt', 'where.name.gte', 'where.name.lt', 'where.name.lte', 'where.name.like', 'where.name.ilike', 'where.name.in', 'where.name.nin', 'where.name.contains', 'where.name.contained', 'where.name.overlaps', 'where.nextRunAt.eq', 'where.nextRunAt.neq', 'where.nextRunAt.gt', 'where.nextRunAt.gte', 'where.nextRunAt.lt', 'where.nextRunAt.lte', 'where.nextRunAt.like', 'where.nextRunAt.ilike', 'where.nextRunAt.in', 'where.nextRunAt.nin', 'where.nextRunAt.contains', 'where.nextRunAt.contained', 'where.nextRunAt.overlaps', 'where.paused.eq', 'where.paused.neq', 'where.paused.gt', 'where.paused.gte', 'where.paused.lt', 'where.paused.lte', 'where.paused.like', 'where.paused.ilike', 'where.paused.in', 'where.paused.nin', 'where.paused.contains', 'where.paused.contained', 'where.paused.overlaps', 'where.protected.eq', 'where.protected.neq', 'where.protected.gt', 'where.protected.gte', 'where.protected.lt', 'where.protected.lte', 'where.protected.like', 'where.protected.ilike', 'where.protected.in', 'where.protected.nin', 'where.protected.contains', 'where.protected.contained', 'where.protected.overlaps', 'where.schedule.eq', 'where.schedule.neq', 'where.schedule.gt', 'where.schedule.gte', 'where.schedule.lt', 'where.schedule.lte', 'where.schedule.like', 'where.schedule.ilike', 'where.schedule.in', 'where.schedule.nin', 'where.schedule.contains', 'where.schedule.contained', 'where.schedule.overlaps', 'where.status.eq', 'where.status.neq', 'where.status.gt', 'where.status.gte', 'where.status.lt', 'where.status.lte', 'where.status.like', 'where.status.ilike', 'where.status.in', 'where.status.nin', 'where.status.contains', 'where.status.contained', 'where.status.overlaps', 'where.updatedAt.eq', 'where.updatedAt.neq', 'where.updatedAt.gt', 'where.updatedAt.gte', 'where.updatedAt.lt', 'where.updatedAt.lte', 'where.updatedAt.like', 'where.updatedAt.ilike', 'where.updatedAt.in', 'where.updatedAt.nin', 'where.updatedAt.contains', 'where.updatedAt.contained', 'where.updatedAt.overlaps', 'where.or', 'orderby.applicationId', 'orderby.body', 'orderby.callbackUrl', 'orderby.createdAt', 'orderby.deletedAt', 'orderby.headers', 'orderby.id', 'orderby.jobType', 'orderby.lastRunAt', 'orderby.maxRetries', 'orderby.method', 'orderby.name', 'orderby.nextRunAt', 'orderby.paused', 'orderby.protected', 'orderby.schedule', 'orderby.status', 'orderby.updatedAt']
|
|
33
|
+
const searchParams = new URLSearchParams()
|
|
34
|
+
if (request) {
|
|
35
|
+
queryParameters.forEach((qp) => {
|
|
36
|
+
const queryValue = request?.[qp]
|
|
37
|
+
if (queryValue) {
|
|
38
|
+
if (Array.isArray(queryValue)) {
|
|
39
|
+
queryValue.forEach((p) => searchParams.append(qp, p))
|
|
40
|
+
} else {
|
|
41
|
+
searchParams.append(qp, queryValue.toString())
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
delete request?.[qp]
|
|
45
|
+
})
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const headers = {
|
|
49
|
+
...defaultHeaders
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const response = await fetch(`${url}/jobs/?${searchParams.toString()}`, {
|
|
53
|
+
headers,
|
|
54
|
+
...defaultFetchParams
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
if (!response.ok) {
|
|
58
|
+
throw new Error(await response.text())
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return await response.json()
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/** @type {import('./cron-types.d.ts').Cron['getJobs']} */
|
|
65
|
+
export const getJobs = async (request) => {
|
|
66
|
+
return await _getJobs(baseUrl, request)
|
|
67
|
+
}
|
|
68
|
+
async function _createJob (url, request) {
|
|
69
|
+
const body = request
|
|
70
|
+
const isFormData = body instanceof FormData
|
|
71
|
+
const headers = {
|
|
72
|
+
...defaultHeaders,
|
|
73
|
+
...(isFormData ? {} : defaultJsonType)
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const response = await fetch(`${url}/jobs/`, {
|
|
77
|
+
method: 'POST',
|
|
78
|
+
body: isFormData ? body : JSON.stringify(body),
|
|
79
|
+
headers,
|
|
80
|
+
...defaultFetchParams
|
|
81
|
+
})
|
|
82
|
+
|
|
83
|
+
if (!response.ok) {
|
|
84
|
+
throw new Error(await response.text())
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return await response.json()
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/** @type {import('./cron-types.d.ts').Cron['createJob']} */
|
|
91
|
+
export const createJob = async (request) => {
|
|
92
|
+
return await _createJob(baseUrl, request)
|
|
93
|
+
}
|
|
94
|
+
async function _updateJobs (url, request) {
|
|
95
|
+
const queryParameters = ['fields', 'where.applicationId.eq', 'where.applicationId.neq', 'where.applicationId.gt', 'where.applicationId.gte', 'where.applicationId.lt', 'where.applicationId.lte', 'where.applicationId.like', 'where.applicationId.ilike', 'where.applicationId.in', 'where.applicationId.nin', 'where.applicationId.contains', 'where.applicationId.contained', 'where.applicationId.overlaps', 'where.body.eq', 'where.body.neq', 'where.body.gt', 'where.body.gte', 'where.body.lt', 'where.body.lte', 'where.body.like', 'where.body.ilike', 'where.body.in', 'where.body.nin', 'where.body.contains', 'where.body.contained', 'where.body.overlaps', 'where.callbackUrl.eq', 'where.callbackUrl.neq', 'where.callbackUrl.gt', 'where.callbackUrl.gte', 'where.callbackUrl.lt', 'where.callbackUrl.lte', 'where.callbackUrl.like', 'where.callbackUrl.ilike', 'where.callbackUrl.in', 'where.callbackUrl.nin', 'where.callbackUrl.contains', 'where.callbackUrl.contained', 'where.callbackUrl.overlaps', 'where.createdAt.eq', 'where.createdAt.neq', 'where.createdAt.gt', 'where.createdAt.gte', 'where.createdAt.lt', 'where.createdAt.lte', 'where.createdAt.like', 'where.createdAt.ilike', 'where.createdAt.in', 'where.createdAt.nin', 'where.createdAt.contains', 'where.createdAt.contained', 'where.createdAt.overlaps', 'where.deletedAt.eq', 'where.deletedAt.neq', 'where.deletedAt.gt', 'where.deletedAt.gte', 'where.deletedAt.lt', 'where.deletedAt.lte', 'where.deletedAt.like', 'where.deletedAt.ilike', 'where.deletedAt.in', 'where.deletedAt.nin', 'where.deletedAt.contains', 'where.deletedAt.contained', 'where.deletedAt.overlaps', 'where.headers.eq', 'where.headers.neq', 'where.headers.gt', 'where.headers.gte', 'where.headers.lt', 'where.headers.lte', 'where.headers.like', 'where.headers.ilike', 'where.headers.in', 'where.headers.nin', 'where.headers.contains', 'where.headers.contained', 'where.headers.overlaps', 'where.id.eq', 'where.id.neq', 'where.id.gt', 'where.id.gte', 'where.id.lt', 'where.id.lte', 'where.id.like', 'where.id.ilike', 'where.id.in', 'where.id.nin', 'where.id.contains', 'where.id.contained', 'where.id.overlaps', 'where.jobType.eq', 'where.jobType.neq', 'where.jobType.gt', 'where.jobType.gte', 'where.jobType.lt', 'where.jobType.lte', 'where.jobType.like', 'where.jobType.ilike', 'where.jobType.in', 'where.jobType.nin', 'where.jobType.contains', 'where.jobType.contained', 'where.jobType.overlaps', 'where.lastRunAt.eq', 'where.lastRunAt.neq', 'where.lastRunAt.gt', 'where.lastRunAt.gte', 'where.lastRunAt.lt', 'where.lastRunAt.lte', 'where.lastRunAt.like', 'where.lastRunAt.ilike', 'where.lastRunAt.in', 'where.lastRunAt.nin', 'where.lastRunAt.contains', 'where.lastRunAt.contained', 'where.lastRunAt.overlaps', 'where.maxRetries.eq', 'where.maxRetries.neq', 'where.maxRetries.gt', 'where.maxRetries.gte', 'where.maxRetries.lt', 'where.maxRetries.lte', 'where.maxRetries.like', 'where.maxRetries.ilike', 'where.maxRetries.in', 'where.maxRetries.nin', 'where.maxRetries.contains', 'where.maxRetries.contained', 'where.maxRetries.overlaps', 'where.method.eq', 'where.method.neq', 'where.method.gt', 'where.method.gte', 'where.method.lt', 'where.method.lte', 'where.method.like', 'where.method.ilike', 'where.method.in', 'where.method.nin', 'where.method.contains', 'where.method.contained', 'where.method.overlaps', 'where.name.eq', 'where.name.neq', 'where.name.gt', 'where.name.gte', 'where.name.lt', 'where.name.lte', 'where.name.like', 'where.name.ilike', 'where.name.in', 'where.name.nin', 'where.name.contains', 'where.name.contained', 'where.name.overlaps', 'where.nextRunAt.eq', 'where.nextRunAt.neq', 'where.nextRunAt.gt', 'where.nextRunAt.gte', 'where.nextRunAt.lt', 'where.nextRunAt.lte', 'where.nextRunAt.like', 'where.nextRunAt.ilike', 'where.nextRunAt.in', 'where.nextRunAt.nin', 'where.nextRunAt.contains', 'where.nextRunAt.contained', 'where.nextRunAt.overlaps', 'where.paused.eq', 'where.paused.neq', 'where.paused.gt', 'where.paused.gte', 'where.paused.lt', 'where.paused.lte', 'where.paused.like', 'where.paused.ilike', 'where.paused.in', 'where.paused.nin', 'where.paused.contains', 'where.paused.contained', 'where.paused.overlaps', 'where.protected.eq', 'where.protected.neq', 'where.protected.gt', 'where.protected.gte', 'where.protected.lt', 'where.protected.lte', 'where.protected.like', 'where.protected.ilike', 'where.protected.in', 'where.protected.nin', 'where.protected.contains', 'where.protected.contained', 'where.protected.overlaps', 'where.schedule.eq', 'where.schedule.neq', 'where.schedule.gt', 'where.schedule.gte', 'where.schedule.lt', 'where.schedule.lte', 'where.schedule.like', 'where.schedule.ilike', 'where.schedule.in', 'where.schedule.nin', 'where.schedule.contains', 'where.schedule.contained', 'where.schedule.overlaps', 'where.status.eq', 'where.status.neq', 'where.status.gt', 'where.status.gte', 'where.status.lt', 'where.status.lte', 'where.status.like', 'where.status.ilike', 'where.status.in', 'where.status.nin', 'where.status.contains', 'where.status.contained', 'where.status.overlaps', 'where.updatedAt.eq', 'where.updatedAt.neq', 'where.updatedAt.gt', 'where.updatedAt.gte', 'where.updatedAt.lt', 'where.updatedAt.lte', 'where.updatedAt.like', 'where.updatedAt.ilike', 'where.updatedAt.in', 'where.updatedAt.nin', 'where.updatedAt.contains', 'where.updatedAt.contained', 'where.updatedAt.overlaps', 'where.or']
|
|
96
|
+
const searchParams = new URLSearchParams()
|
|
97
|
+
if (request) {
|
|
98
|
+
queryParameters.forEach((qp) => {
|
|
99
|
+
const queryValue = request?.[qp]
|
|
100
|
+
if (queryValue) {
|
|
101
|
+
if (Array.isArray(queryValue)) {
|
|
102
|
+
queryValue.forEach((p) => searchParams.append(qp, p))
|
|
103
|
+
} else {
|
|
104
|
+
searchParams.append(qp, queryValue.toString())
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
delete request?.[qp]
|
|
108
|
+
})
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
const body = request
|
|
112
|
+
const isFormData = body instanceof FormData
|
|
113
|
+
const headers = {
|
|
114
|
+
...defaultHeaders,
|
|
115
|
+
...(isFormData ? {} : defaultJsonType)
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
const response = await fetch(`${url}/jobs/?${searchParams.toString()}`, {
|
|
119
|
+
method: 'PUT',
|
|
120
|
+
body: isFormData ? body : JSON.stringify(body),
|
|
121
|
+
headers,
|
|
122
|
+
...defaultFetchParams
|
|
123
|
+
})
|
|
124
|
+
|
|
125
|
+
if (!response.ok) {
|
|
126
|
+
throw new Error(await response.text())
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
return await response.json()
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/** @type {import('./cron-types.d.ts').Cron['updateJobs']} */
|
|
133
|
+
export const updateJobs = async (request) => {
|
|
134
|
+
return await _updateJobs(baseUrl, request)
|
|
135
|
+
}
|
|
136
|
+
async function _getJobById (url, request) {
|
|
137
|
+
const queryParameters = ['fields']
|
|
138
|
+
const searchParams = new URLSearchParams()
|
|
139
|
+
if (request) {
|
|
140
|
+
queryParameters.forEach((qp) => {
|
|
141
|
+
const queryValue = request?.[qp]
|
|
142
|
+
if (queryValue) {
|
|
143
|
+
if (Array.isArray(queryValue)) {
|
|
144
|
+
queryValue.forEach((p) => searchParams.append(qp, p))
|
|
145
|
+
} else {
|
|
146
|
+
searchParams.append(qp, queryValue.toString())
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
delete request?.[qp]
|
|
150
|
+
})
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
const headers = {
|
|
154
|
+
...defaultHeaders
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
const response = await fetch(`${url}/jobs/${request['id']}?${searchParams.toString()}`, {
|
|
158
|
+
headers,
|
|
159
|
+
...defaultFetchParams
|
|
160
|
+
})
|
|
161
|
+
|
|
162
|
+
if (!response.ok) {
|
|
163
|
+
throw new Error(await response.text())
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
return await response.json()
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/** @type {import('./cron-types.d.ts').Cron['getJobById']} */
|
|
170
|
+
export const getJobById = async (request) => {
|
|
171
|
+
return await _getJobById(baseUrl, request)
|
|
172
|
+
}
|
|
173
|
+
async function _updateJob (url, request) {
|
|
174
|
+
const queryParameters = ['fields']
|
|
175
|
+
const searchParams = new URLSearchParams()
|
|
176
|
+
if (request) {
|
|
177
|
+
queryParameters.forEach((qp) => {
|
|
178
|
+
const queryValue = request?.[qp]
|
|
179
|
+
if (queryValue) {
|
|
180
|
+
if (Array.isArray(queryValue)) {
|
|
181
|
+
queryValue.forEach((p) => searchParams.append(qp, p))
|
|
182
|
+
} else {
|
|
183
|
+
searchParams.append(qp, queryValue.toString())
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
delete request?.[qp]
|
|
187
|
+
})
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
const body = request
|
|
191
|
+
const isFormData = body instanceof FormData
|
|
192
|
+
const headers = {
|
|
193
|
+
...defaultHeaders,
|
|
194
|
+
...(isFormData ? {} : defaultJsonType)
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
const response = await fetch(`${url}/jobs/${request['id']}?${searchParams.toString()}`, {
|
|
198
|
+
method: 'PUT',
|
|
199
|
+
body: isFormData ? body : JSON.stringify(body),
|
|
200
|
+
headers,
|
|
201
|
+
...defaultFetchParams
|
|
202
|
+
})
|
|
203
|
+
|
|
204
|
+
if (!response.ok) {
|
|
205
|
+
throw new Error(await response.text())
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
return await response.json()
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/** @type {import('./cron-types.d.ts').Cron['updateJob']} */
|
|
212
|
+
export const updateJob = async (request) => {
|
|
213
|
+
return await _updateJob(baseUrl, request)
|
|
214
|
+
}
|
|
215
|
+
async function _deleteJobs (url, request) {
|
|
216
|
+
const queryParameters = ['fields']
|
|
217
|
+
const searchParams = new URLSearchParams()
|
|
218
|
+
if (request) {
|
|
219
|
+
queryParameters.forEach((qp) => {
|
|
220
|
+
const queryValue = request?.[qp]
|
|
221
|
+
if (queryValue) {
|
|
222
|
+
if (Array.isArray(queryValue)) {
|
|
223
|
+
queryValue.forEach((p) => searchParams.append(qp, p))
|
|
224
|
+
} else {
|
|
225
|
+
searchParams.append(qp, queryValue.toString())
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
delete request?.[qp]
|
|
229
|
+
})
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
const body = request
|
|
233
|
+
const isFormData = body instanceof FormData
|
|
234
|
+
const headers = {
|
|
235
|
+
...defaultHeaders,
|
|
236
|
+
...(isFormData ? {} : defaultJsonType)
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
const response = await fetch(`${url}/jobs/${request['id']}?${searchParams.toString()}`, {
|
|
240
|
+
method: 'DELETE',
|
|
241
|
+
body: isFormData ? body : JSON.stringify(body),
|
|
242
|
+
headers,
|
|
243
|
+
...defaultFetchParams
|
|
244
|
+
})
|
|
245
|
+
|
|
246
|
+
if (!response.ok) {
|
|
247
|
+
throw new Error(await response.text())
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
return await response.json()
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/** @type {import('./cron-types.d.ts').Cron['deleteJobs']} */
|
|
254
|
+
export const deleteJobs = async (request) => {
|
|
255
|
+
return await _deleteJobs(baseUrl, request)
|
|
256
|
+
}
|
|
257
|
+
async function _getMessagesForJob (url, request) {
|
|
258
|
+
const queryParameters = ['fields']
|
|
259
|
+
const searchParams = new URLSearchParams()
|
|
260
|
+
if (request) {
|
|
261
|
+
queryParameters.forEach((qp) => {
|
|
262
|
+
const queryValue = request?.[qp]
|
|
263
|
+
if (queryValue) {
|
|
264
|
+
if (Array.isArray(queryValue)) {
|
|
265
|
+
queryValue.forEach((p) => searchParams.append(qp, p))
|
|
266
|
+
} else {
|
|
267
|
+
searchParams.append(qp, queryValue.toString())
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
delete request?.[qp]
|
|
271
|
+
})
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
const headers = {
|
|
275
|
+
...defaultHeaders
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
const response = await fetch(`${url}/jobs/${request['id']}/messages?${searchParams.toString()}`, {
|
|
279
|
+
headers,
|
|
280
|
+
...defaultFetchParams
|
|
281
|
+
})
|
|
282
|
+
|
|
283
|
+
if (!response.ok) {
|
|
284
|
+
throw new Error(await response.text())
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
return await response.json()
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
/** @type {import('./cron-types.d.ts').Cron['getMessagesForJob']} */
|
|
291
|
+
export const getMessagesForJob = async (request) => {
|
|
292
|
+
return await _getMessagesForJob(baseUrl, request)
|
|
293
|
+
}
|
|
294
|
+
async function _getMessages (url, request) {
|
|
295
|
+
const queryParameters = ['limit', 'offset', 'totalCount', 'fields', 'where.body.eq', 'where.body.neq', 'where.body.gt', 'where.body.gte', 'where.body.lt', 'where.body.lte', 'where.body.like', 'where.body.ilike', 'where.body.in', 'where.body.nin', 'where.body.contains', 'where.body.contained', 'where.body.overlaps', 'where.callbackUrl.eq', 'where.callbackUrl.neq', 'where.callbackUrl.gt', 'where.callbackUrl.gte', 'where.callbackUrl.lt', 'where.callbackUrl.lte', 'where.callbackUrl.like', 'where.callbackUrl.ilike', 'where.callbackUrl.in', 'where.callbackUrl.nin', 'where.callbackUrl.contains', 'where.callbackUrl.contained', 'where.callbackUrl.overlaps', 'where.createdAt.eq', 'where.createdAt.neq', 'where.createdAt.gt', 'where.createdAt.gte', 'where.createdAt.lt', 'where.createdAt.lte', 'where.createdAt.like', 'where.createdAt.ilike', 'where.createdAt.in', 'where.createdAt.nin', 'where.createdAt.contains', 'where.createdAt.contained', 'where.createdAt.overlaps', 'where.deletedAt.eq', 'where.deletedAt.neq', 'where.deletedAt.gt', 'where.deletedAt.gte', 'where.deletedAt.lt', 'where.deletedAt.lte', 'where.deletedAt.like', 'where.deletedAt.ilike', 'where.deletedAt.in', 'where.deletedAt.nin', 'where.deletedAt.contains', 'where.deletedAt.contained', 'where.deletedAt.overlaps', 'where.failed.eq', 'where.failed.neq', 'where.failed.gt', 'where.failed.gte', 'where.failed.lt', 'where.failed.lte', 'where.failed.like', 'where.failed.ilike', 'where.failed.in', 'where.failed.nin', 'where.failed.contains', 'where.failed.contained', 'where.failed.overlaps', 'where.headers.eq', 'where.headers.neq', 'where.headers.gt', 'where.headers.gte', 'where.headers.lt', 'where.headers.lte', 'where.headers.like', 'where.headers.ilike', 'where.headers.in', 'where.headers.nin', 'where.headers.contains', 'where.headers.contained', 'where.headers.overlaps', 'where.id.eq', 'where.id.neq', 'where.id.gt', 'where.id.gte', 'where.id.lt', 'where.id.lte', 'where.id.like', 'where.id.ilike', 'where.id.in', 'where.id.nin', 'where.id.contains', 'where.id.contained', 'where.id.overlaps', 'where.jobId.eq', 'where.jobId.neq', 'where.jobId.gt', 'where.jobId.gte', 'where.jobId.lt', 'where.jobId.lte', 'where.jobId.like', 'where.jobId.ilike', 'where.jobId.in', 'where.jobId.nin', 'where.jobId.contains', 'where.jobId.contained', 'where.jobId.overlaps', 'where.method.eq', 'where.method.neq', 'where.method.gt', 'where.method.gte', 'where.method.lt', 'where.method.lte', 'where.method.like', 'where.method.ilike', 'where.method.in', 'where.method.nin', 'where.method.contains', 'where.method.contained', 'where.method.overlaps', 'where.noReschedule.eq', 'where.noReschedule.neq', 'where.noReschedule.gt', 'where.noReschedule.gte', 'where.noReschedule.lt', 'where.noReschedule.lte', 'where.noReschedule.like', 'where.noReschedule.ilike', 'where.noReschedule.in', 'where.noReschedule.nin', 'where.noReschedule.contains', 'where.noReschedule.contained', 'where.noReschedule.overlaps', 'where.responseBody.eq', 'where.responseBody.neq', 'where.responseBody.gt', 'where.responseBody.gte', 'where.responseBody.lt', 'where.responseBody.lte', 'where.responseBody.like', 'where.responseBody.ilike', 'where.responseBody.in', 'where.responseBody.nin', 'where.responseBody.contains', 'where.responseBody.contained', 'where.responseBody.overlaps', 'where.responseHeaders.eq', 'where.responseHeaders.neq', 'where.responseHeaders.gt', 'where.responseHeaders.gte', 'where.responseHeaders.lt', 'where.responseHeaders.lte', 'where.responseHeaders.like', 'where.responseHeaders.ilike', 'where.responseHeaders.in', 'where.responseHeaders.nin', 'where.responseHeaders.contains', 'where.responseHeaders.contained', 'where.responseHeaders.overlaps', 'where.responseStatusCode.eq', 'where.responseStatusCode.neq', 'where.responseStatusCode.gt', 'where.responseStatusCode.gte', 'where.responseStatusCode.lt', 'where.responseStatusCode.lte', 'where.responseStatusCode.like', 'where.responseStatusCode.ilike', 'where.responseStatusCode.in', 'where.responseStatusCode.nin', 'where.responseStatusCode.contains', 'where.responseStatusCode.contained', 'where.responseStatusCode.overlaps', 'where.retries.eq', 'where.retries.neq', 'where.retries.gt', 'where.retries.gte', 'where.retries.lt', 'where.retries.lte', 'where.retries.like', 'where.retries.ilike', 'where.retries.in', 'where.retries.nin', 'where.retries.contains', 'where.retries.contained', 'where.retries.overlaps', 'where.sentAt.eq', 'where.sentAt.neq', 'where.sentAt.gt', 'where.sentAt.gte', 'where.sentAt.lt', 'where.sentAt.lte', 'where.sentAt.like', 'where.sentAt.ilike', 'where.sentAt.in', 'where.sentAt.nin', 'where.sentAt.contains', 'where.sentAt.contained', 'where.sentAt.overlaps', 'where.updatedAt.eq', 'where.updatedAt.neq', 'where.updatedAt.gt', 'where.updatedAt.gte', 'where.updatedAt.lt', 'where.updatedAt.lte', 'where.updatedAt.like', 'where.updatedAt.ilike', 'where.updatedAt.in', 'where.updatedAt.nin', 'where.updatedAt.contains', 'where.updatedAt.contained', 'where.updatedAt.overlaps', 'where.when.eq', 'where.when.neq', 'where.when.gt', 'where.when.gte', 'where.when.lt', 'where.when.lte', 'where.when.like', 'where.when.ilike', 'where.when.in', 'where.when.nin', 'where.when.contains', 'where.when.contained', 'where.when.overlaps', 'where.or', 'orderby.body', 'orderby.callbackUrl', 'orderby.createdAt', 'orderby.deletedAt', 'orderby.failed', 'orderby.headers', 'orderby.id', 'orderby.jobId', 'orderby.method', 'orderby.noReschedule', 'orderby.responseBody', 'orderby.responseHeaders', 'orderby.responseStatusCode', 'orderby.retries', 'orderby.sentAt', 'orderby.updatedAt', 'orderby.when']
|
|
296
|
+
const searchParams = new URLSearchParams()
|
|
297
|
+
if (request) {
|
|
298
|
+
queryParameters.forEach((qp) => {
|
|
299
|
+
const queryValue = request?.[qp]
|
|
300
|
+
if (queryValue) {
|
|
301
|
+
if (Array.isArray(queryValue)) {
|
|
302
|
+
queryValue.forEach((p) => searchParams.append(qp, p))
|
|
303
|
+
} else {
|
|
304
|
+
searchParams.append(qp, queryValue.toString())
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
delete request?.[qp]
|
|
308
|
+
})
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
const headers = {
|
|
312
|
+
...defaultHeaders
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
const response = await fetch(`${url}/messages/?${searchParams.toString()}`, {
|
|
316
|
+
headers,
|
|
317
|
+
...defaultFetchParams
|
|
318
|
+
})
|
|
319
|
+
|
|
320
|
+
if (!response.ok) {
|
|
321
|
+
throw new Error(await response.text())
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
return await response.json()
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
/** @type {import('./cron-types.d.ts').Cron['getMessages']} */
|
|
328
|
+
export const getMessages = async (request) => {
|
|
329
|
+
return await _getMessages(baseUrl, request)
|
|
330
|
+
}
|
|
331
|
+
async function _createMessage (url, request) {
|
|
332
|
+
const body = request
|
|
333
|
+
const isFormData = body instanceof FormData
|
|
334
|
+
const headers = {
|
|
335
|
+
...defaultHeaders,
|
|
336
|
+
...(isFormData ? {} : defaultJsonType)
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
const response = await fetch(`${url}/messages/`, {
|
|
340
|
+
method: 'POST',
|
|
341
|
+
body: isFormData ? body : JSON.stringify(body),
|
|
342
|
+
headers,
|
|
343
|
+
...defaultFetchParams
|
|
344
|
+
})
|
|
345
|
+
|
|
346
|
+
if (!response.ok) {
|
|
347
|
+
throw new Error(await response.text())
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
return await response.json()
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
/** @type {import('./cron-types.d.ts').Cron['createMessage']} */
|
|
354
|
+
export const createMessage = async (request) => {
|
|
355
|
+
return await _createMessage(baseUrl, request)
|
|
356
|
+
}
|
|
357
|
+
async function _updateMessages (url, request) {
|
|
358
|
+
const queryParameters = ['fields', 'where.body.eq', 'where.body.neq', 'where.body.gt', 'where.body.gte', 'where.body.lt', 'where.body.lte', 'where.body.like', 'where.body.ilike', 'where.body.in', 'where.body.nin', 'where.body.contains', 'where.body.contained', 'where.body.overlaps', 'where.callbackUrl.eq', 'where.callbackUrl.neq', 'where.callbackUrl.gt', 'where.callbackUrl.gte', 'where.callbackUrl.lt', 'where.callbackUrl.lte', 'where.callbackUrl.like', 'where.callbackUrl.ilike', 'where.callbackUrl.in', 'where.callbackUrl.nin', 'where.callbackUrl.contains', 'where.callbackUrl.contained', 'where.callbackUrl.overlaps', 'where.createdAt.eq', 'where.createdAt.neq', 'where.createdAt.gt', 'where.createdAt.gte', 'where.createdAt.lt', 'where.createdAt.lte', 'where.createdAt.like', 'where.createdAt.ilike', 'where.createdAt.in', 'where.createdAt.nin', 'where.createdAt.contains', 'where.createdAt.contained', 'where.createdAt.overlaps', 'where.deletedAt.eq', 'where.deletedAt.neq', 'where.deletedAt.gt', 'where.deletedAt.gte', 'where.deletedAt.lt', 'where.deletedAt.lte', 'where.deletedAt.like', 'where.deletedAt.ilike', 'where.deletedAt.in', 'where.deletedAt.nin', 'where.deletedAt.contains', 'where.deletedAt.contained', 'where.deletedAt.overlaps', 'where.failed.eq', 'where.failed.neq', 'where.failed.gt', 'where.failed.gte', 'where.failed.lt', 'where.failed.lte', 'where.failed.like', 'where.failed.ilike', 'where.failed.in', 'where.failed.nin', 'where.failed.contains', 'where.failed.contained', 'where.failed.overlaps', 'where.headers.eq', 'where.headers.neq', 'where.headers.gt', 'where.headers.gte', 'where.headers.lt', 'where.headers.lte', 'where.headers.like', 'where.headers.ilike', 'where.headers.in', 'where.headers.nin', 'where.headers.contains', 'where.headers.contained', 'where.headers.overlaps', 'where.id.eq', 'where.id.neq', 'where.id.gt', 'where.id.gte', 'where.id.lt', 'where.id.lte', 'where.id.like', 'where.id.ilike', 'where.id.in', 'where.id.nin', 'where.id.contains', 'where.id.contained', 'where.id.overlaps', 'where.jobId.eq', 'where.jobId.neq', 'where.jobId.gt', 'where.jobId.gte', 'where.jobId.lt', 'where.jobId.lte', 'where.jobId.like', 'where.jobId.ilike', 'where.jobId.in', 'where.jobId.nin', 'where.jobId.contains', 'where.jobId.contained', 'where.jobId.overlaps', 'where.method.eq', 'where.method.neq', 'where.method.gt', 'where.method.gte', 'where.method.lt', 'where.method.lte', 'where.method.like', 'where.method.ilike', 'where.method.in', 'where.method.nin', 'where.method.contains', 'where.method.contained', 'where.method.overlaps', 'where.noReschedule.eq', 'where.noReschedule.neq', 'where.noReschedule.gt', 'where.noReschedule.gte', 'where.noReschedule.lt', 'where.noReschedule.lte', 'where.noReschedule.like', 'where.noReschedule.ilike', 'where.noReschedule.in', 'where.noReschedule.nin', 'where.noReschedule.contains', 'where.noReschedule.contained', 'where.noReschedule.overlaps', 'where.responseBody.eq', 'where.responseBody.neq', 'where.responseBody.gt', 'where.responseBody.gte', 'where.responseBody.lt', 'where.responseBody.lte', 'where.responseBody.like', 'where.responseBody.ilike', 'where.responseBody.in', 'where.responseBody.nin', 'where.responseBody.contains', 'where.responseBody.contained', 'where.responseBody.overlaps', 'where.responseHeaders.eq', 'where.responseHeaders.neq', 'where.responseHeaders.gt', 'where.responseHeaders.gte', 'where.responseHeaders.lt', 'where.responseHeaders.lte', 'where.responseHeaders.like', 'where.responseHeaders.ilike', 'where.responseHeaders.in', 'where.responseHeaders.nin', 'where.responseHeaders.contains', 'where.responseHeaders.contained', 'where.responseHeaders.overlaps', 'where.responseStatusCode.eq', 'where.responseStatusCode.neq', 'where.responseStatusCode.gt', 'where.responseStatusCode.gte', 'where.responseStatusCode.lt', 'where.responseStatusCode.lte', 'where.responseStatusCode.like', 'where.responseStatusCode.ilike', 'where.responseStatusCode.in', 'where.responseStatusCode.nin', 'where.responseStatusCode.contains', 'where.responseStatusCode.contained', 'where.responseStatusCode.overlaps', 'where.retries.eq', 'where.retries.neq', 'where.retries.gt', 'where.retries.gte', 'where.retries.lt', 'where.retries.lte', 'where.retries.like', 'where.retries.ilike', 'where.retries.in', 'where.retries.nin', 'where.retries.contains', 'where.retries.contained', 'where.retries.overlaps', 'where.sentAt.eq', 'where.sentAt.neq', 'where.sentAt.gt', 'where.sentAt.gte', 'where.sentAt.lt', 'where.sentAt.lte', 'where.sentAt.like', 'where.sentAt.ilike', 'where.sentAt.in', 'where.sentAt.nin', 'where.sentAt.contains', 'where.sentAt.contained', 'where.sentAt.overlaps', 'where.updatedAt.eq', 'where.updatedAt.neq', 'where.updatedAt.gt', 'where.updatedAt.gte', 'where.updatedAt.lt', 'where.updatedAt.lte', 'where.updatedAt.like', 'where.updatedAt.ilike', 'where.updatedAt.in', 'where.updatedAt.nin', 'where.updatedAt.contains', 'where.updatedAt.contained', 'where.updatedAt.overlaps', 'where.when.eq', 'where.when.neq', 'where.when.gt', 'where.when.gte', 'where.when.lt', 'where.when.lte', 'where.when.like', 'where.when.ilike', 'where.when.in', 'where.when.nin', 'where.when.contains', 'where.when.contained', 'where.when.overlaps', 'where.or']
|
|
359
|
+
const searchParams = new URLSearchParams()
|
|
360
|
+
if (request) {
|
|
361
|
+
queryParameters.forEach((qp) => {
|
|
362
|
+
const queryValue = request?.[qp]
|
|
363
|
+
if (queryValue) {
|
|
364
|
+
if (Array.isArray(queryValue)) {
|
|
365
|
+
queryValue.forEach((p) => searchParams.append(qp, p))
|
|
366
|
+
} else {
|
|
367
|
+
searchParams.append(qp, queryValue.toString())
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
delete request?.[qp]
|
|
371
|
+
})
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
const body = request
|
|
375
|
+
const isFormData = body instanceof FormData
|
|
376
|
+
const headers = {
|
|
377
|
+
...defaultHeaders,
|
|
378
|
+
...(isFormData ? {} : defaultJsonType)
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
const response = await fetch(`${url}/messages/?${searchParams.toString()}`, {
|
|
382
|
+
method: 'PUT',
|
|
383
|
+
body: isFormData ? body : JSON.stringify(body),
|
|
384
|
+
headers,
|
|
385
|
+
...defaultFetchParams
|
|
386
|
+
})
|
|
387
|
+
|
|
388
|
+
if (!response.ok) {
|
|
389
|
+
throw new Error(await response.text())
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
return await response.json()
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
/** @type {import('./cron-types.d.ts').Cron['updateMessages']} */
|
|
396
|
+
export const updateMessages = async (request) => {
|
|
397
|
+
return await _updateMessages(baseUrl, request)
|
|
398
|
+
}
|
|
399
|
+
async function _getMessageById (url, request) {
|
|
400
|
+
const queryParameters = ['fields']
|
|
401
|
+
const searchParams = new URLSearchParams()
|
|
402
|
+
if (request) {
|
|
403
|
+
queryParameters.forEach((qp) => {
|
|
404
|
+
const queryValue = request?.[qp]
|
|
405
|
+
if (queryValue) {
|
|
406
|
+
if (Array.isArray(queryValue)) {
|
|
407
|
+
queryValue.forEach((p) => searchParams.append(qp, p))
|
|
408
|
+
} else {
|
|
409
|
+
searchParams.append(qp, queryValue.toString())
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
delete request?.[qp]
|
|
413
|
+
})
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
const headers = {
|
|
417
|
+
...defaultHeaders
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
const response = await fetch(`${url}/messages/${request['id']}?${searchParams.toString()}`, {
|
|
421
|
+
headers,
|
|
422
|
+
...defaultFetchParams
|
|
423
|
+
})
|
|
424
|
+
|
|
425
|
+
if (!response.ok) {
|
|
426
|
+
throw new Error(await response.text())
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
return await response.json()
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
/** @type {import('./cron-types.d.ts').Cron['getMessageById']} */
|
|
433
|
+
export const getMessageById = async (request) => {
|
|
434
|
+
return await _getMessageById(baseUrl, request)
|
|
435
|
+
}
|
|
436
|
+
async function _updateMessage (url, request) {
|
|
437
|
+
const queryParameters = ['fields']
|
|
438
|
+
const searchParams = new URLSearchParams()
|
|
439
|
+
if (request) {
|
|
440
|
+
queryParameters.forEach((qp) => {
|
|
441
|
+
const queryValue = request?.[qp]
|
|
442
|
+
if (queryValue) {
|
|
443
|
+
if (Array.isArray(queryValue)) {
|
|
444
|
+
queryValue.forEach((p) => searchParams.append(qp, p))
|
|
445
|
+
} else {
|
|
446
|
+
searchParams.append(qp, queryValue.toString())
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
delete request?.[qp]
|
|
450
|
+
})
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
const body = request
|
|
454
|
+
const isFormData = body instanceof FormData
|
|
455
|
+
const headers = {
|
|
456
|
+
...defaultHeaders,
|
|
457
|
+
...(isFormData ? {} : defaultJsonType)
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
const response = await fetch(`${url}/messages/${request['id']}?${searchParams.toString()}`, {
|
|
461
|
+
method: 'PUT',
|
|
462
|
+
body: isFormData ? body : JSON.stringify(body),
|
|
463
|
+
headers,
|
|
464
|
+
...defaultFetchParams
|
|
465
|
+
})
|
|
466
|
+
|
|
467
|
+
if (!response.ok) {
|
|
468
|
+
throw new Error(await response.text())
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
return await response.json()
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
/** @type {import('./cron-types.d.ts').Cron['updateMessage']} */
|
|
475
|
+
export const updateMessage = async (request) => {
|
|
476
|
+
return await _updateMessage(baseUrl, request)
|
|
477
|
+
}
|
|
478
|
+
async function _deleteMessages (url, request) {
|
|
479
|
+
const queryParameters = ['fields']
|
|
480
|
+
const searchParams = new URLSearchParams()
|
|
481
|
+
if (request) {
|
|
482
|
+
queryParameters.forEach((qp) => {
|
|
483
|
+
const queryValue = request?.[qp]
|
|
484
|
+
if (queryValue) {
|
|
485
|
+
if (Array.isArray(queryValue)) {
|
|
486
|
+
queryValue.forEach((p) => searchParams.append(qp, p))
|
|
487
|
+
} else {
|
|
488
|
+
searchParams.append(qp, queryValue.toString())
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
delete request?.[qp]
|
|
492
|
+
})
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
const body = request
|
|
496
|
+
const isFormData = body instanceof FormData
|
|
497
|
+
const headers = {
|
|
498
|
+
...defaultHeaders,
|
|
499
|
+
...(isFormData ? {} : defaultJsonType)
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
const response = await fetch(`${url}/messages/${request['id']}?${searchParams.toString()}`, {
|
|
503
|
+
method: 'DELETE',
|
|
504
|
+
body: isFormData ? body : JSON.stringify(body),
|
|
505
|
+
headers,
|
|
506
|
+
...defaultFetchParams
|
|
507
|
+
})
|
|
508
|
+
|
|
509
|
+
if (!response.ok) {
|
|
510
|
+
throw new Error(await response.text())
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
return await response.json()
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
/** @type {import('./cron-types.d.ts').Cron['deleteMessages']} */
|
|
517
|
+
export const deleteMessages = async (request) => {
|
|
518
|
+
return await _deleteMessages(baseUrl, request)
|
|
519
|
+
}
|
|
520
|
+
async function _getJobForMessage (url, request) {
|
|
521
|
+
const queryParameters = ['fields']
|
|
522
|
+
const searchParams = new URLSearchParams()
|
|
523
|
+
if (request) {
|
|
524
|
+
queryParameters.forEach((qp) => {
|
|
525
|
+
const queryValue = request?.[qp]
|
|
526
|
+
if (queryValue) {
|
|
527
|
+
if (Array.isArray(queryValue)) {
|
|
528
|
+
queryValue.forEach((p) => searchParams.append(qp, p))
|
|
529
|
+
} else {
|
|
530
|
+
searchParams.append(qp, queryValue.toString())
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
delete request?.[qp]
|
|
534
|
+
})
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
const headers = {
|
|
538
|
+
...defaultHeaders
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
const response = await fetch(`${url}/messages/${request['id']}/job?${searchParams.toString()}`, {
|
|
542
|
+
headers,
|
|
543
|
+
...defaultFetchParams
|
|
544
|
+
})
|
|
545
|
+
|
|
546
|
+
if (!response.ok) {
|
|
547
|
+
throw new Error(await response.text())
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
return await response.json()
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
/** @type {import('./cron-types.d.ts').Cron['getJobForMessage']} */
|
|
554
|
+
export const getJobForMessage = async (request) => {
|
|
555
|
+
return await _getJobForMessage(baseUrl, request)
|
|
556
|
+
}
|
|
557
|
+
async function _getIccJobsName (url, request) {
|
|
558
|
+
const headers = {
|
|
559
|
+
...defaultHeaders
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
const response = await fetch(`${url}/icc-jobs/${request['name']}`, {
|
|
563
|
+
headers,
|
|
564
|
+
...defaultFetchParams
|
|
565
|
+
})
|
|
566
|
+
|
|
567
|
+
const textResponses = [200]
|
|
568
|
+
if (textResponses.includes(response.status)) {
|
|
569
|
+
return {
|
|
570
|
+
statusCode: response.status,
|
|
571
|
+
headers: headersToJSON(response.headers),
|
|
572
|
+
body: await response.text()
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
const responseType = response.headers.get('content-type')?.startsWith('application/json') ? 'json' : 'text'
|
|
576
|
+
return {
|
|
577
|
+
statusCode: response.status,
|
|
578
|
+
headers: headersToJSON(response.headers),
|
|
579
|
+
body: await response[responseType]()
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
/** @type {import('./cron-types.d.ts').Cron['getIccJobsName']} */
|
|
584
|
+
export const getIccJobsName = async (request) => {
|
|
585
|
+
return await _getIccJobsName(baseUrl, request)
|
|
586
|
+
}
|
|
587
|
+
async function _putIccJobsName (url, request) {
|
|
588
|
+
const body = request
|
|
589
|
+
const isFormData = body instanceof FormData
|
|
590
|
+
const headers = {
|
|
591
|
+
...defaultHeaders,
|
|
592
|
+
...(isFormData ? {} : defaultJsonType)
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
const response = await fetch(`${url}/icc-jobs/${request['name']}`, {
|
|
596
|
+
method: 'PUT',
|
|
597
|
+
body: isFormData ? body : JSON.stringify(body),
|
|
598
|
+
headers,
|
|
599
|
+
...defaultFetchParams
|
|
600
|
+
})
|
|
601
|
+
|
|
602
|
+
const textResponses = [200]
|
|
603
|
+
if (textResponses.includes(response.status)) {
|
|
604
|
+
return {
|
|
605
|
+
statusCode: response.status,
|
|
606
|
+
headers: headersToJSON(response.headers),
|
|
607
|
+
body: await response.text()
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
const responseType = response.headers.get('content-type')?.startsWith('application/json') ? 'json' : 'text'
|
|
611
|
+
return {
|
|
612
|
+
statusCode: response.status,
|
|
613
|
+
headers: headersToJSON(response.headers),
|
|
614
|
+
body: await response[responseType]()
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
/** @type {import('./cron-types.d.ts').Cron['putIccJobsName']} */
|
|
619
|
+
export const putIccJobsName = async (request) => {
|
|
620
|
+
return await _putIccJobsName(baseUrl, request)
|
|
621
|
+
}
|
|
622
|
+
async function _getIccJobs (url, request) {
|
|
623
|
+
const headers = {
|
|
624
|
+
...defaultHeaders
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
const response = await fetch(`${url}/icc-jobs`, {
|
|
628
|
+
headers,
|
|
629
|
+
...defaultFetchParams
|
|
630
|
+
})
|
|
631
|
+
|
|
632
|
+
const textResponses = [200]
|
|
633
|
+
if (textResponses.includes(response.status)) {
|
|
634
|
+
return {
|
|
635
|
+
statusCode: response.status,
|
|
636
|
+
headers: headersToJSON(response.headers),
|
|
637
|
+
body: await response.text()
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
const responseType = response.headers.get('content-type')?.startsWith('application/json') ? 'json' : 'text'
|
|
641
|
+
return {
|
|
642
|
+
statusCode: response.status,
|
|
643
|
+
headers: headersToJSON(response.headers),
|
|
644
|
+
body: await response[responseType]()
|
|
645
|
+
}
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
/** @type {import('./cron-types.d.ts').Cron['getIccJobs']} */
|
|
649
|
+
export const getIccJobs = async (request) => {
|
|
650
|
+
return await _getIccJobs(baseUrl, request)
|
|
651
|
+
}
|
|
652
|
+
async function _putIccJobs (url, request) {
|
|
653
|
+
const body = request
|
|
654
|
+
const isFormData = body instanceof FormData
|
|
655
|
+
const headers = {
|
|
656
|
+
...defaultHeaders,
|
|
657
|
+
...(isFormData ? {} : defaultJsonType)
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
const response = await fetch(`${url}/icc-jobs`, {
|
|
661
|
+
method: 'PUT',
|
|
662
|
+
body: isFormData ? body : JSON.stringify(body),
|
|
663
|
+
headers,
|
|
664
|
+
...defaultFetchParams
|
|
665
|
+
})
|
|
666
|
+
|
|
667
|
+
const textResponses = [200]
|
|
668
|
+
if (textResponses.includes(response.status)) {
|
|
669
|
+
return {
|
|
670
|
+
statusCode: response.status,
|
|
671
|
+
headers: headersToJSON(response.headers),
|
|
672
|
+
body: await response.text()
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
const responseType = response.headers.get('content-type')?.startsWith('application/json') ? 'json' : 'text'
|
|
676
|
+
return {
|
|
677
|
+
statusCode: response.status,
|
|
678
|
+
headers: headersToJSON(response.headers),
|
|
679
|
+
body: await response[responseType]()
|
|
680
|
+
}
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
/** @type {import('./cron-types.d.ts').Cron['putIccJobs']} */
|
|
684
|
+
export const putIccJobs = async (request) => {
|
|
685
|
+
return await _putIccJobs(baseUrl, request)
|
|
686
|
+
}
|
|
687
|
+
async function _getJobsIdRun (url, request) {
|
|
688
|
+
const headers = {
|
|
689
|
+
...defaultHeaders
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
const response = await fetch(`${url}/jobs/${request['id']}/run`, {
|
|
693
|
+
headers,
|
|
694
|
+
...defaultFetchParams
|
|
695
|
+
})
|
|
696
|
+
|
|
697
|
+
const textResponses = [200]
|
|
698
|
+
if (textResponses.includes(response.status)) {
|
|
699
|
+
return {
|
|
700
|
+
statusCode: response.status,
|
|
701
|
+
headers: headersToJSON(response.headers),
|
|
702
|
+
body: await response.text()
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
const responseType = response.headers.get('content-type')?.startsWith('application/json') ? 'json' : 'text'
|
|
706
|
+
return {
|
|
707
|
+
statusCode: response.status,
|
|
708
|
+
headers: headersToJSON(response.headers),
|
|
709
|
+
body: await response[responseType]()
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
/** @type {import('./cron-types.d.ts').Cron['getJobsIdRun']} */
|
|
714
|
+
export const getJobsIdRun = async (request) => {
|
|
715
|
+
return await _getJobsIdRun(baseUrl, request)
|
|
716
|
+
}
|
|
717
|
+
async function _getJobsIdPause (url, request) {
|
|
718
|
+
const headers = {
|
|
719
|
+
...defaultHeaders
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
const response = await fetch(`${url}/jobs/${request['id']}/pause`, {
|
|
723
|
+
headers,
|
|
724
|
+
...defaultFetchParams
|
|
725
|
+
})
|
|
726
|
+
|
|
727
|
+
const textResponses = [200]
|
|
728
|
+
if (textResponses.includes(response.status)) {
|
|
729
|
+
return {
|
|
730
|
+
statusCode: response.status,
|
|
731
|
+
headers: headersToJSON(response.headers),
|
|
732
|
+
body: await response.text()
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
const responseType = response.headers.get('content-type')?.startsWith('application/json') ? 'json' : 'text'
|
|
736
|
+
return {
|
|
737
|
+
statusCode: response.status,
|
|
738
|
+
headers: headersToJSON(response.headers),
|
|
739
|
+
body: await response[responseType]()
|
|
740
|
+
}
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
/** @type {import('./cron-types.d.ts').Cron['getJobsIdPause']} */
|
|
744
|
+
export const getJobsIdPause = async (request) => {
|
|
745
|
+
return await _getJobsIdPause(baseUrl, request)
|
|
746
|
+
}
|
|
747
|
+
async function _getJobsIdResume (url, request) {
|
|
748
|
+
const headers = {
|
|
749
|
+
...defaultHeaders
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
const response = await fetch(`${url}/jobs/${request['id']}/resume`, {
|
|
753
|
+
headers,
|
|
754
|
+
...defaultFetchParams
|
|
755
|
+
})
|
|
756
|
+
|
|
757
|
+
const textResponses = [200]
|
|
758
|
+
if (textResponses.includes(response.status)) {
|
|
759
|
+
return {
|
|
760
|
+
statusCode: response.status,
|
|
761
|
+
headers: headersToJSON(response.headers),
|
|
762
|
+
body: await response.text()
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
const responseType = response.headers.get('content-type')?.startsWith('application/json') ? 'json' : 'text'
|
|
766
|
+
return {
|
|
767
|
+
statusCode: response.status,
|
|
768
|
+
headers: headersToJSON(response.headers),
|
|
769
|
+
body: await response[responseType]()
|
|
770
|
+
}
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
/** @type {import('./cron-types.d.ts').Cron['getJobsIdResume']} */
|
|
774
|
+
export const getJobsIdResume = async (request) => {
|
|
775
|
+
return await _getJobsIdResume(baseUrl, request)
|
|
776
|
+
}
|
|
777
|
+
async function _getMessagesIdCancel (url, request) {
|
|
778
|
+
const headers = {
|
|
779
|
+
...defaultHeaders
|
|
780
|
+
}
|
|
781
|
+
|
|
782
|
+
const response = await fetch(`${url}/messages/${request['id']}/cancel`, {
|
|
783
|
+
headers,
|
|
784
|
+
...defaultFetchParams
|
|
785
|
+
})
|
|
786
|
+
|
|
787
|
+
const textResponses = [200]
|
|
788
|
+
if (textResponses.includes(response.status)) {
|
|
789
|
+
return {
|
|
790
|
+
statusCode: response.status,
|
|
791
|
+
headers: headersToJSON(response.headers),
|
|
792
|
+
body: await response.text()
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
const responseType = response.headers.get('content-type')?.startsWith('application/json') ? 'json' : 'text'
|
|
796
|
+
return {
|
|
797
|
+
statusCode: response.status,
|
|
798
|
+
headers: headersToJSON(response.headers),
|
|
799
|
+
body: await response[responseType]()
|
|
800
|
+
}
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
/** @type {import('./cron-types.d.ts').Cron['getMessagesIdCancel']} */
|
|
804
|
+
export const getMessagesIdCancel = async (request) => {
|
|
805
|
+
return await _getMessagesIdCancel(baseUrl, request)
|
|
806
|
+
}
|
|
807
|
+
async function _putWattJobs (url, request) {
|
|
808
|
+
const body = request
|
|
809
|
+
const isFormData = body instanceof FormData
|
|
810
|
+
const headers = {
|
|
811
|
+
...defaultHeaders,
|
|
812
|
+
...(isFormData ? {} : defaultJsonType)
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
const response = await fetch(`${url}/watt-jobs`, {
|
|
816
|
+
method: 'PUT',
|
|
817
|
+
body: isFormData ? body : JSON.stringify(body),
|
|
818
|
+
headers,
|
|
819
|
+
...defaultFetchParams
|
|
820
|
+
})
|
|
821
|
+
|
|
822
|
+
const textResponses = [200]
|
|
823
|
+
if (textResponses.includes(response.status)) {
|
|
824
|
+
return {
|
|
825
|
+
statusCode: response.status,
|
|
826
|
+
headers: headersToJSON(response.headers),
|
|
827
|
+
body: await response.text()
|
|
828
|
+
}
|
|
829
|
+
}
|
|
830
|
+
const responseType = response.headers.get('content-type')?.startsWith('application/json') ? 'json' : 'text'
|
|
831
|
+
return {
|
|
832
|
+
statusCode: response.status,
|
|
833
|
+
headers: headersToJSON(response.headers),
|
|
834
|
+
body: await response[responseType]()
|
|
835
|
+
}
|
|
836
|
+
}
|
|
837
|
+
|
|
838
|
+
/** @type {import('./cron-types.d.ts').Cron['putWattJobs']} */
|
|
839
|
+
export const putWattJobs = async (request) => {
|
|
840
|
+
return await _putWattJobs(baseUrl, request)
|
|
841
|
+
}
|
|
842
|
+
export default function build (url, options) {
|
|
843
|
+
url = sanitizeUrl(url)
|
|
844
|
+
if (options?.headers) {
|
|
845
|
+
defaultHeaders = options.headers
|
|
846
|
+
}
|
|
847
|
+
return {
|
|
848
|
+
getJobs: _getJobs.bind(url, ...arguments),
|
|
849
|
+
createJob: _createJob.bind(url, ...arguments),
|
|
850
|
+
updateJobs: _updateJobs.bind(url, ...arguments),
|
|
851
|
+
getJobById: _getJobById.bind(url, ...arguments),
|
|
852
|
+
updateJob: _updateJob.bind(url, ...arguments),
|
|
853
|
+
deleteJobs: _deleteJobs.bind(url, ...arguments),
|
|
854
|
+
getMessagesForJob: _getMessagesForJob.bind(url, ...arguments),
|
|
855
|
+
getMessages: _getMessages.bind(url, ...arguments),
|
|
856
|
+
createMessage: _createMessage.bind(url, ...arguments),
|
|
857
|
+
updateMessages: _updateMessages.bind(url, ...arguments),
|
|
858
|
+
getMessageById: _getMessageById.bind(url, ...arguments),
|
|
859
|
+
updateMessage: _updateMessage.bind(url, ...arguments),
|
|
860
|
+
deleteMessages: _deleteMessages.bind(url, ...arguments),
|
|
861
|
+
getJobForMessage: _getJobForMessage.bind(url, ...arguments),
|
|
862
|
+
getIccJobsName: _getIccJobsName.bind(url, ...arguments),
|
|
863
|
+
putIccJobsName: _putIccJobsName.bind(url, ...arguments),
|
|
864
|
+
getIccJobs: _getIccJobs.bind(url, ...arguments),
|
|
865
|
+
putIccJobs: _putIccJobs.bind(url, ...arguments),
|
|
866
|
+
getJobsIdRun: _getJobsIdRun.bind(url, ...arguments),
|
|
867
|
+
getJobsIdPause: _getJobsIdPause.bind(url, ...arguments),
|
|
868
|
+
getJobsIdResume: _getJobsIdResume.bind(url, ...arguments),
|
|
869
|
+
getMessagesIdCancel: _getMessagesIdCancel.bind(url, ...arguments),
|
|
870
|
+
putWattJobs: _putWattJobs.bind(url, ...arguments)
|
|
871
|
+
}
|
|
872
|
+
}
|