@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: (req: Request, res: Response) => Promise<void>;
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 = async (req, res) => {
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
- const { appId, deviceId, uuid, data, method } = req.body;
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
- filter.belongs_to__application = checkInt(appId);
67
- if (filter.belongs_to__application === false) {
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 = 'POST', appId, }) {
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":"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"}
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: (req: Request, res: import("express").Response) => Promise<void>;
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.1",
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-21T01:44:37.753Z"
188
+ "publishedAt": "2026-05-21T19:21:09.928Z"
189
189
  }
190
190
  }