@balena/open-balena-api 46.2.1 → 46.2.2
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.
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
import type { Request, Response } from 'express';
|
|
2
1
|
import { sbvrUtils } from '@balena/pinejs';
|
|
3
2
|
import type { Filter } from 'pinejs-client-core';
|
|
4
3
|
import type { RequestResponse } from '../../infra/request-promise/index.js';
|
|
5
4
|
import type { Device } from '../../balena-model.js';
|
|
6
|
-
export declare const proxy: (
|
|
5
|
+
export declare const proxy: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, {
|
|
6
|
+
appId?: string | number | null | undefined;
|
|
7
|
+
deviceId?: string | number | null | undefined;
|
|
8
|
+
uuid?: string | null | undefined;
|
|
9
|
+
data?: Record<string, unknown> | undefined;
|
|
10
|
+
method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | undefined;
|
|
11
|
+
}, Record<string, never>, Record<string, any>>;
|
|
7
12
|
interface FixedMethodRequestDevicesOpts {
|
|
8
13
|
url: string;
|
|
9
14
|
filter: Filter<Device['Read']>;
|
|
10
15
|
data?: AnyObject;
|
|
11
16
|
req?: sbvrUtils.Passthrough['req'];
|
|
12
17
|
wait?: boolean;
|
|
13
|
-
appId?: number;
|
|
18
|
+
appId?: number | null;
|
|
14
19
|
}
|
|
15
20
|
export declare function postDevices(opts: FixedMethodRequestDevicesOpts & {
|
|
16
21
|
wait?: true;
|
|
@@ -4,6 +4,7 @@ import { captureException, handleHttpErrors, translateError, } from '../../infra
|
|
|
4
4
|
import { API_VPN_SERVICE_API_KEY, VPN_CONNECT_PROXY_PORT, } from '../../lib/config.js';
|
|
5
5
|
import { requestAsync } from '../../infra/request-promise/index.js';
|
|
6
6
|
import { checkInt, throttledForEach } from '../../lib/utils.js';
|
|
7
|
+
import { createValidatedRequestHandler, z, } from '../../infra/validation/index.js';
|
|
7
8
|
// Degraded network, slow devices, compressed docker binaries and any combination of these factors
|
|
8
9
|
// can cause proxied device requests to surpass the default timeout.
|
|
9
10
|
const DEVICE_REQUEST_TIMEOUT = 50000;
|
|
@@ -53,20 +54,35 @@ const validateSupervisorResponse = (response, req, res, filter) => {
|
|
|
53
54
|
}
|
|
54
55
|
};
|
|
55
56
|
const multiResponse = (responses) => responses.map(([response]) => _.pick(response, 'statusCode', 'body'));
|
|
56
|
-
export const proxy =
|
|
57
|
+
export const proxy = createValidatedRequestHandler({
|
|
58
|
+
body: z.object({
|
|
59
|
+
appId: z.string().or(z.number()).nullish(),
|
|
60
|
+
deviceId: z.string().or(z.number()).nullish(),
|
|
61
|
+
uuid: z.string().min(1).nullish(),
|
|
62
|
+
data: z.record(z.string(), z.unknown()).optional(),
|
|
63
|
+
method: z.preprocess((v) => {
|
|
64
|
+
if (typeof v === 'string') {
|
|
65
|
+
return v.toUpperCase();
|
|
66
|
+
}
|
|
67
|
+
return v;
|
|
68
|
+
}, z.enum(['PUT', 'PATCH', 'POST', 'HEAD', 'DELETE', 'GET']).optional()),
|
|
69
|
+
}),
|
|
70
|
+
}, async (req, res) => {
|
|
57
71
|
const filter = {};
|
|
58
72
|
try {
|
|
59
73
|
const url = req.params[0];
|
|
60
74
|
if (url == null) {
|
|
61
75
|
throw new BadRequestError('Supervisor API url must be specified');
|
|
62
76
|
}
|
|
63
|
-
|
|
77
|
+
let { appId } = req.body;
|
|
78
|
+
const { deviceId, uuid, data, method = 'POST' } = req.body;
|
|
64
79
|
// Only check the validity of ids if they exist.
|
|
65
80
|
if (appId != null) {
|
|
66
|
-
|
|
67
|
-
if (
|
|
81
|
+
const maybeAppId = checkInt(appId);
|
|
82
|
+
if (maybeAppId === false) {
|
|
68
83
|
throw new BadRequestError('App ID must be a valid integer if specified');
|
|
69
84
|
}
|
|
85
|
+
filter.belongs_to__application = appId = maybeAppId;
|
|
70
86
|
}
|
|
71
87
|
if (deviceId != null) {
|
|
72
88
|
filter.id = checkInt(deviceId);
|
|
@@ -75,9 +91,6 @@ export const proxy = async (req, res) => {
|
|
|
75
91
|
}
|
|
76
92
|
}
|
|
77
93
|
if (uuid != null) {
|
|
78
|
-
if (typeof uuid !== 'string') {
|
|
79
|
-
throw new BadRequestError('UUID must be a valid string if specified');
|
|
80
|
-
}
|
|
81
94
|
filter.uuid = uuid;
|
|
82
95
|
}
|
|
83
96
|
// Make sure at least one id has been set (filter isn't empty), and that the values for it are valid
|
|
@@ -107,7 +120,7 @@ export const proxy = async (req, res) => {
|
|
|
107
120
|
const errorToReturn = err?.body ?? err;
|
|
108
121
|
res.status(502).send(translateError(errorToReturn));
|
|
109
122
|
}
|
|
110
|
-
};
|
|
123
|
+
});
|
|
111
124
|
// Check user resource access via /canAccess
|
|
112
125
|
async function checkResourceAccess(client, resource, id) {
|
|
113
126
|
const res = (await client.request({
|
|
@@ -119,14 +132,10 @@ async function checkResourceAccess(client, resource, id) {
|
|
|
119
132
|
throw new errors.ForbiddenError();
|
|
120
133
|
}
|
|
121
134
|
}
|
|
122
|
-
async function requestDevices({ url, filter, data, req, wait = true, method
|
|
135
|
+
async function requestDevices({ url, filter, data, req, wait = true, method, appId, }) {
|
|
123
136
|
if (url == null) {
|
|
124
137
|
throw new BadRequestError('You must specify a url to request!');
|
|
125
138
|
}
|
|
126
|
-
method = method.toUpperCase();
|
|
127
|
-
if (!['PUT', 'PATCH', 'POST', 'HEAD', 'DELETE', 'GET'].includes(method)) {
|
|
128
|
-
throw new BadRequestError(`Invalid method '${method}'`);
|
|
129
|
-
}
|
|
130
139
|
const devices = await sbvrUtils.db.readTransaction(async (tx) => {
|
|
131
140
|
const resinApi = api.resin.clone({
|
|
132
141
|
passthrough: { req, tx },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-proxy.js","sourceRoot":"","sources":["../../../src/features/device-proxy/device-proxy.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGhE,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACd,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACN,uBAAuB,EACvB,sBAAsB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"device-proxy.js","sourceRoot":"","sources":["../../../src/features/device-proxy/device-proxy.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -180,7 +180,13 @@ export declare const application: {
|
|
|
180
180
|
};
|
|
181
181
|
export declare const device: {
|
|
182
182
|
addVirtualFieldsToModel: (abstractSql: import("@balena/abstract-sql-compiler").AbstractSqlModel) => void;
|
|
183
|
-
supervisorProxy: (
|
|
183
|
+
supervisorProxy: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, {
|
|
184
|
+
appId?: string | number | null | undefined;
|
|
185
|
+
deviceId?: string | number | null | undefined;
|
|
186
|
+
uuid?: string | null | undefined;
|
|
187
|
+
data?: Record<string, unknown> | undefined;
|
|
188
|
+
method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | undefined;
|
|
189
|
+
}, Record<string, never>, Record<string, any>>;
|
|
184
190
|
generateConfig: (req: Request, app: import("balena-device-config").GenerateOptions["application"], provisioningKeyOptions: import("./features/api-keys/lib.js").ApiKeyOptions, deviceType: import("./features/device-types/device-type-json.js").DeviceTypeJson, osVersion?: string) => Promise<any>;
|
|
185
191
|
getPollInterval: (deviceId: number, config?: Dictionary<string>) => Promise<number>;
|
|
186
192
|
DeviceOnlineStates: typeof DeviceOnlineStates;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@balena/open-balena-api",
|
|
3
3
|
"description": "Internet of things, Made Simple",
|
|
4
|
-
"version": "46.2.
|
|
4
|
+
"version": "46.2.2",
|
|
5
5
|
"license": "AGPL-3.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -185,6 +185,6 @@
|
|
|
185
185
|
"import": "@swc-node/register/esm-register"
|
|
186
186
|
},
|
|
187
187
|
"versionist": {
|
|
188
|
-
"publishedAt": "2026-05-
|
|
188
|
+
"publishedAt": "2026-05-21T19:21:09.928Z"
|
|
189
189
|
}
|
|
190
190
|
}
|