@balena/open-balena-api 31.4.10-build-read-service-install-on-v7-from-device-service-2bc5877b66587835e89793baa3741f09a1fbb04f-1 → 32.0.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/dist/features/api-keys/lib.d.ts +9 -9
- package/dist/features/api-keys/lib.js +20 -23
- package/dist/features/api-keys/lib.js.map +1 -1
- package/dist/features/api-keys/routes.js +6 -18
- package/dist/features/api-keys/routes.js.map +1 -1
- package/dist/features/device-config/device-config.d.ts +2 -1
- package/dist/features/device-config/device-config.js +2 -7
- package/dist/features/device-config/device-config.js.map +1 -1
- package/dist/features/device-config/download.js +14 -2
- package/dist/features/device-config/download.js.map +1 -1
- package/dist/features/device-provisioning/register.js +4 -1
- package/dist/features/device-provisioning/register.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/translations/v7/v7.d.ts +0 -1
- package/dist/translations/v7/v7.js +0 -29
- package/dist/translations/v7/v7.js.map +1 -1
- package/package.json +2 -2
@@ -2,21 +2,21 @@ import type { Request } from 'express';
|
|
2
2
|
import { permissions } from '@balena/pinejs';
|
3
3
|
export interface ApiKeyOptions {
|
4
4
|
apiKey?: string;
|
5
|
-
name
|
6
|
-
description
|
7
|
-
expiryDate
|
5
|
+
name: string | null;
|
6
|
+
description: string | null;
|
7
|
+
expiryDate: string | null;
|
8
8
|
tx?: Tx;
|
9
9
|
}
|
10
10
|
type ApiKeyActor = 'application' | 'device' | 'user';
|
11
|
-
export declare const
|
12
|
-
export
|
13
|
-
export declare const createProvisioningApiKey:
|
14
|
-
export declare const createDeviceApiKey:
|
15
|
-
export declare const createNamedUserApiKey:
|
11
|
+
export declare const getKeyMetadata: (reqBody: Dictionary<unknown>, prefix?: string) => Pick<ApiKeyOptions, "name" | "description" | "expiryDate">;
|
12
|
+
export declare const createApiKey: (actorType: ApiKeyActor, roleName: string, req: Request, actorTypeID: number, options: ApiKeyOptions) => Promise<string>;
|
13
|
+
export declare const createProvisioningApiKey: (req: Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, actorTypeID: number, options: ApiKeyOptions) => Promise<string>;
|
14
|
+
export declare const createDeviceApiKey: (req: Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, actorTypeID: number, options: ApiKeyOptions) => Promise<string>;
|
15
|
+
export declare const createNamedUserApiKey: (req: Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, actorTypeID: number, options: ApiKeyOptions) => Promise<string>;
|
16
16
|
/**
|
17
17
|
* @deprecated this is a legacy api key for very old devices and should not be used any more
|
18
18
|
*/
|
19
|
-
export declare const createUserApiKey:
|
19
|
+
export declare const createUserApiKey: (req: Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, actorTypeID: number, options: ApiKeyOptions) => Promise<string>;
|
20
20
|
export type ApiKeyParameters = {
|
21
21
|
actorType: (typeof supportedActorTypes)[number];
|
22
22
|
actorTypeId: number;
|
@@ -76,8 +76,10 @@ const $createApiKey = async (actorType, roleName, req, actorTypeID, { apiKey, tx
|
|
76
76
|
});
|
77
77
|
return apiKey;
|
78
78
|
};
|
79
|
-
const getKeyMetadata = (reqBody) => {
|
80
|
-
const
|
79
|
+
export const getKeyMetadata = (reqBody, prefix) => {
|
80
|
+
const name = reqBody[prefix ? `${prefix}Name` : 'name'];
|
81
|
+
const description = reqBody[prefix ? `${prefix}Description` : 'description'];
|
82
|
+
const expiryDate = reqBody[prefix ? `${prefix}ExpiryDate` : 'expiryDate'];
|
81
83
|
if (name != null && typeof name !== 'string') {
|
82
84
|
throw new errors.BadRequestError('Key name should be a string value');
|
83
85
|
}
|
@@ -89,33 +91,28 @@ const getKeyMetadata = (reqBody) => {
|
|
89
91
|
throw new errors.BadRequestError('Key expiry date should be a valid date');
|
90
92
|
}
|
91
93
|
return {
|
92
|
-
name,
|
93
|
-
description,
|
94
|
-
|
95
|
-
expiryDate: new Date(expiryDate),
|
96
|
-
}),
|
94
|
+
name: name ?? null,
|
95
|
+
description: description ?? null,
|
96
|
+
expiryDate: expiryDate ? new Date(expiryDate).toISOString() : null,
|
97
97
|
};
|
98
98
|
};
|
99
|
-
export const createApiKey = async (actorType, roleName, req, actorTypeID, options
|
100
|
-
options.apiKey ??= randomstring.generate();
|
99
|
+
export const createApiKey = async (actorType, roleName, req, actorTypeID, options) => {
|
101
100
|
const { name, description, expiryDate } = getKeyMetadata(req.body);
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
101
|
+
const create = async (tx) => {
|
102
|
+
return await $createApiKey(actorType, roleName, req, actorTypeID, {
|
103
|
+
...options,
|
104
|
+
apiKey: options.apiKey ?? randomstring.generate(),
|
105
|
+
name: options.name ?? name,
|
106
|
+
description: options.description ?? description,
|
107
|
+
expiryDate: options.expiryDate ?? expiryDate,
|
108
|
+
tx,
|
109
|
+
});
|
110
|
+
};
|
111
111
|
if (options.tx != null) {
|
112
|
-
return await
|
112
|
+
return await create(options.tx);
|
113
113
|
}
|
114
114
|
else {
|
115
|
-
return await sbvrUtils.db.transaction(async (tx) =>
|
116
|
-
options.tx = tx;
|
117
|
-
return await $createApiKey(actorType, roleName, req, actorTypeID, options);
|
118
|
-
});
|
115
|
+
return await sbvrUtils.db.transaction(async (tx) => await create(tx));
|
119
116
|
}
|
120
117
|
};
|
121
118
|
export const createProvisioningApiKey = _.partial(createApiKey, 'application', 'provisioning-api-key');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/features/api-keys/lib.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/features/api-keys/lib.ts"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { errors, sbvrUtils } from '@balena/pinejs';
|
2
2
|
import { getUser } from '../../infra/auth/auth.js';
|
3
3
|
import { captureException, handleHttpErrors, translateError, } from '../../infra/error-handling/index.js';
|
4
|
-
import { createGenericApiKey as $createGenericApiKey, createDeviceApiKey as $createDeviceApiKey, createNamedUserApiKey as $createNamedUserApiKey, createProvisioningApiKey as $createProvisioningApiKey, createUserApiKey as $createUserApiKey, } from './lib.js';
|
4
|
+
import { createGenericApiKey as $createGenericApiKey, createDeviceApiKey as $createDeviceApiKey, createNamedUserApiKey as $createNamedUserApiKey, createProvisioningApiKey as $createProvisioningApiKey, createUserApiKey as $createUserApiKey, getKeyMetadata, } from './lib.js';
|
5
5
|
export const createGenericApiKey = async (req, res) => {
|
6
6
|
const body = req.body;
|
7
7
|
try {
|
@@ -25,6 +25,7 @@ export const createDeviceApiKey = async (req, res) => {
|
|
25
25
|
try {
|
26
26
|
const apiKey = await $createDeviceApiKey(req, deviceId, {
|
27
27
|
apiKey: req.body.apiKey,
|
28
|
+
...getKeyMetadata(req.body),
|
28
29
|
});
|
29
30
|
res.json(apiKey);
|
30
31
|
}
|
@@ -43,11 +44,7 @@ export const createProvisioningApiKey = async (req, res) => {
|
|
43
44
|
return;
|
44
45
|
}
|
45
46
|
try {
|
46
|
-
const
|
47
|
-
if (expiryDate != null && typeof expiryDate !== 'string') {
|
48
|
-
throw new errors.BadRequestError('Expiry date must be a string or null');
|
49
|
-
}
|
50
|
-
const apiKey = await $createProvisioningApiKey(req, appId, { expiryDate });
|
47
|
+
const apiKey = await $createProvisioningApiKey(req, appId, getKeyMetadata(req.body));
|
51
48
|
res.json(apiKey);
|
52
49
|
}
|
53
50
|
catch (err) {
|
@@ -63,13 +60,10 @@ export const createProvisioningApiKey = async (req, res) => {
|
|
63
60
|
*/
|
64
61
|
export const createUserApiKey = async (req, res) => {
|
65
62
|
try {
|
66
|
-
const
|
67
|
-
if (expiryDate != null && typeof expiryDate !== 'string') {
|
68
|
-
throw new errors.BadRequestError('Expiry date must be a string or null');
|
69
|
-
}
|
63
|
+
const keyMetadata = getKeyMetadata(req.body);
|
70
64
|
const apiKey = await sbvrUtils.db.transaction(async (tx) => {
|
71
65
|
const user = await getUser(req, tx);
|
72
|
-
return await $createUserApiKey(req, user.id, {
|
66
|
+
return await $createUserApiKey(req, user.id, { tx, ...keyMetadata });
|
73
67
|
});
|
74
68
|
res.json(apiKey);
|
75
69
|
}
|
@@ -89,13 +83,7 @@ export const createNamedUserApiKey = async (req, res) => {
|
|
89
83
|
if (req.user == null) {
|
90
84
|
throw new errors.BadRequestError('Must use user auth');
|
91
85
|
}
|
92
|
-
const
|
93
|
-
if (expiryDate != null && typeof expiryDate !== 'string') {
|
94
|
-
throw new errors.BadRequestError('Expiry date must be a string or null');
|
95
|
-
}
|
96
|
-
const apiKey = await $createNamedUserApiKey(req, req.user.id, {
|
97
|
-
expiryDate,
|
98
|
-
});
|
86
|
+
const apiKey = await $createNamedUserApiKey(req, req.user.id, getKeyMetadata(req.body));
|
99
87
|
res.json(apiKey);
|
100
88
|
}
|
101
89
|
catch (err) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/features/api-keys/routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACd,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EACN,mBAAmB,IAAI,oBAAoB,EAC3C,kBAAkB,IAAI,mBAAmB,EACzC,qBAAqB,IAAI,sBAAsB,EAC/C,wBAAwB,IAAI,yBAAyB,EACrD,gBAAgB,IAAI,iBAAiB,
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/features/api-keys/routes.ts"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import type { Request } from 'express';
|
2
2
|
import deviceConfig from 'balena-device-config';
|
3
|
+
import type { ApiKeyOptions } from '../api-keys/lib.js';
|
3
4
|
import type { DeviceTypeJson } from '../device-types/device-type-json.js';
|
4
|
-
export declare const generateConfig: (req: Request, app: deviceConfig.GenerateOptions["application"], deviceType: DeviceTypeJson, osVersion?: string
|
5
|
+
export declare const generateConfig: (req: Request, app: deviceConfig.GenerateOptions["application"], provisioningKeyOptions: ApiKeyOptions, deviceType: DeviceTypeJson, osVersion?: string) => Promise<any>;
|
@@ -11,7 +11,7 @@ const { BadRequestError } = errors;
|
|
11
11
|
import { API_HOST, DELTA_HOST, MIXPANEL_TOKEN, NODE_EXTRA_CA_CERTS, REGISTRY2_HOST, VPN_HOST, VPN_PORT, LOGS_HOST, } from '../../lib/config.js';
|
12
12
|
import { getBodyOrQueryParam } from '../../lib/utils.js';
|
13
13
|
// `osVersion == null` means assume "latest"
|
14
|
-
export const generateConfig = async (req, app, deviceType, osVersion
|
14
|
+
export const generateConfig = async (req, app, provisioningKeyOptions, deviceType, osVersion) => {
|
15
15
|
// Devices running ResinOS >=1.2.1 are capable of using Registry v2, while earlier ones must use v1
|
16
16
|
if (osVersion != null && semver.lte(osVersion, '1.2.0')) {
|
17
17
|
throw new BadRequestError('balenaOS versions <= 1.2.0 are no longer supported, please update');
|
@@ -22,19 +22,14 @@ export const generateConfig = async (req, app, deviceType, osVersion, provisioni
|
|
22
22
|
userPromise,
|
23
23
|
(async () => {
|
24
24
|
const apiKeyOptions = {
|
25
|
-
expiryDate: provisioningKeyExpiryDate,
|
26
25
|
tx,
|
26
|
+
...provisioningKeyOptions,
|
27
27
|
};
|
28
28
|
// Devices running ResinOS >= 2.7.8 can use provisioning keys
|
29
29
|
if (osVersion != null && semver.satisfies(osVersion, '<2.7.8')) {
|
30
30
|
// Older ones have to use the old "user api keys"
|
31
31
|
return await createUserApiKey(req, (await userPromise).id, apiKeyOptions);
|
32
32
|
}
|
33
|
-
// Checking both req.body and req.query given both GET and POST support
|
34
|
-
// Ref: https://github.com/balena-io/balena-api/blob/master/src/routes/applications.ts#L95
|
35
|
-
apiKeyOptions.name = getBodyOrQueryParam(req, 'provisioningKeyName', 'Automatically generated provisioning key');
|
36
|
-
apiKeyOptions.description = getBodyOrQueryParam(req, 'provisioningKeyDescription', 'Automatically generated for an image download or config file generation');
|
37
|
-
apiKeyOptions.expiryDate = getBodyOrQueryParam(req, 'provisioningKeyExpiryDate');
|
38
33
|
return await createProvisioningApiKey(req, app.id, apiKeyOptions);
|
39
34
|
})(),
|
40
35
|
]);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"device-config.js","sourceRoot":"","sources":["../../../src/features/device-config/device-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,YAAY,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAGvE,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGhF,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;AAEnC,4DAA4D;AAC5D,OAAO,EACN,QAAQ,EACR,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,SAAS,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,4CAA4C;AAC5C,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAClC,GAAY,EACZ,GAAgD,EAChD,UAA0B,EAC1B,SAAkB,
|
1
|
+
{"version":3,"file":"device-config.js","sourceRoot":"","sources":["../../../src/features/device-config/device-config.ts"],"names":[],"mappings":"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"}
|
@@ -3,6 +3,7 @@ import { captureException, handleHttpErrors, translateError, } from '../../infra
|
|
3
3
|
import { generateConfig } from './device-config.js';
|
4
4
|
import { getDeviceTypeJsonBySlug } from '../device-types/device-types.js';
|
5
5
|
import { checkInt, getBodyOrQueryParam } from '../../lib/utils.js';
|
6
|
+
import { getKeyMetadata } from '../api-keys/lib.js';
|
6
7
|
const { UnauthorizedError, NotFoundError } = errors;
|
7
8
|
const { api } = sbvrUtils;
|
8
9
|
const getApp = async (appId, req) => {
|
@@ -33,16 +34,27 @@ export const downloadImageConfig = async (req, res) => {
|
|
33
34
|
}
|
34
35
|
const deviceTypeSlug = getBodyOrQueryParam(req, 'deviceType');
|
35
36
|
const osVersion = getBodyOrQueryParam(req, 'version');
|
36
|
-
const provisioningKeyExpiryDate = getBodyOrQueryParam(req, 'provisioningKeyExpiryDate');
|
37
37
|
if (!osVersion) {
|
38
38
|
res.status(400).send('A version is required.');
|
39
39
|
return;
|
40
40
|
}
|
41
41
|
try {
|
42
|
+
// Checking both req.body and req.query given both GET and POST support
|
43
|
+
// Ref: https://github.com/balena-io/balena-api/blob/master/src/routes/applications.ts#L95
|
44
|
+
const provisioningKeyOptions = getKeyMetadata(req.body, 'provisioningKey');
|
45
|
+
const provisioningKeyQueryOptions = getKeyMetadata(req.query, 'provisioningKey');
|
46
|
+
provisioningKeyOptions.name ??=
|
47
|
+
provisioningKeyQueryOptions.name ??
|
48
|
+
'Automatically generated provisioning key';
|
49
|
+
provisioningKeyOptions.description ??=
|
50
|
+
provisioningKeyQueryOptions.description ??
|
51
|
+
'Automatically generated for an image download or config file generation';
|
52
|
+
provisioningKeyOptions.expiryDate ??=
|
53
|
+
provisioningKeyQueryOptions.expiryDate;
|
42
54
|
const resinApi = api.resin.clone({ passthrough: { req } });
|
43
55
|
const app = await getApp(appId, req);
|
44
56
|
const deviceTypeJson = await getDeviceTypeJsonBySlug(resinApi, deviceTypeSlug || app.is_for__device_type[0].slug);
|
45
|
-
const config = await generateConfig(req, app, deviceTypeJson, osVersion
|
57
|
+
const config = await generateConfig(req, app, provisioningKeyOptions, deviceTypeJson, osVersion);
|
46
58
|
res.json(config);
|
47
59
|
}
|
48
60
|
catch (err) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/features/device-config/download.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACd,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;
|
1
|
+
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/features/device-config/download.ts"],"names":[],"mappings":"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"}
|
@@ -69,8 +69,11 @@ export const register = async (req, res) => {
|
|
69
69
|
throw new Error('Failed to create device');
|
70
70
|
}
|
71
71
|
const apiKey = await createDeviceApiKey(req, device.id, {
|
72
|
-
apiKey: deviceApiKey,
|
73
72
|
tx,
|
73
|
+
apiKey: deviceApiKey,
|
74
|
+
name: null,
|
75
|
+
description: null,
|
76
|
+
expiryDate: null,
|
74
77
|
});
|
75
78
|
return {
|
76
79
|
id: device.id,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/features/device-provisioning/register.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/features/device-provisioning/register.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
@@ -164,7 +164,7 @@ export declare const application: {
|
|
164
164
|
export declare const device: {
|
165
165
|
addVirtualFieldsToModel: (abstractSql: import("@balena/abstract-sql-compiler").AbstractSqlModel) => void;
|
166
166
|
supervisorProxy: (req: Request, res: import("express").Response) => Promise<void>;
|
167
|
-
generateConfig: (req: Request, app: import("balena-device-config").GenerateOptions["application"], deviceType: import("./features/device-types/device-type-json.js").DeviceTypeJson, osVersion?: string
|
167
|
+
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>;
|
168
168
|
getPollInterval: (deviceId: number, config?: Dictionary<string>) => Promise<number>;
|
169
169
|
DeviceOnlineStates: typeof DeviceOnlineStates;
|
170
170
|
getDeviceOnlineStateManager: () => import("./features/device-heartbeat/index.js").DeviceOnlineStateManager;
|
@@ -208,7 +208,6 @@ export declare const translations: {
|
|
208
208
|
getTranslations: (_abstractSqlModel?: import("@balena/abstract-sql-compiler").AbstractSqlModel) => {
|
209
209
|
'device-installs-application-has-service name-has-name': {
|
210
210
|
$toResource: string;
|
211
|
-
'service install': ["SelectQuery", ["Select", [["ReferencedField", "si", string]]], ["From", ["Alias", ["Table", "service install"], "si"]], ["Where", ["And", ["Equals", ["ReferencedField", "device-installs-application-has-service name-has-name", "device"], ["ReferencedField", "si", string]], ["Equals", ["ReferencedField", "device-installs-application-has-service name-has-name", "service"], ["ReferencedField", "si", string]]]]];
|
212
211
|
};
|
213
212
|
};
|
214
213
|
loadHooks: () => Promise<typeof import("./translations/v7/hooks.js")>;
|
@@ -3,6 +3,5 @@ export declare const v7AbstractSqlModel: import("@balena/abstract-sql-compiler")
|
|
3
3
|
export declare const getV7Translations: (_abstractSqlModel?: import("@balena/abstract-sql-compiler").AbstractSqlModel) => {
|
4
4
|
'device-installs-application-has-service name-has-name': {
|
5
5
|
$toResource: string;
|
6
|
-
'service install': ["SelectQuery", ["Select", [["ReferencedField", "si", string]]], ["From", ["Alias", ["Table", "service install"], "si"]], ["Where", ["And", ["Equals", ["ReferencedField", "device-installs-application-has-service name-has-name", "device"], ["ReferencedField", "si", string]], ["Equals", ["ReferencedField", "device-installs-application-has-service name-has-name", "service"], ["ReferencedField", "si", string]]]]];
|
7
6
|
};
|
8
7
|
};
|
@@ -10,35 +10,6 @@ export const getV7Translations = (_abstractSqlModel = v7AbstractSqlModel) => {
|
|
10
10
|
return {
|
11
11
|
'device-installs-application-has-service name-has-name': {
|
12
12
|
$toResource: 'device-has-application-has-service name-has-name',
|
13
|
-
'service install': [
|
14
|
-
'SelectQuery',
|
15
|
-
['Select', [['ReferencedField', 'si', 'id']]],
|
16
|
-
['From', ['Alias', ['Table', 'service install'], 'si']],
|
17
|
-
[
|
18
|
-
'Where',
|
19
|
-
[
|
20
|
-
'And',
|
21
|
-
[
|
22
|
-
'Equals',
|
23
|
-
[
|
24
|
-
'ReferencedField',
|
25
|
-
'device-installs-application-has-service name-has-name',
|
26
|
-
'device',
|
27
|
-
],
|
28
|
-
['ReferencedField', 'si', 'device'],
|
29
|
-
],
|
30
|
-
[
|
31
|
-
'Equals',
|
32
|
-
[
|
33
|
-
'ReferencedField',
|
34
|
-
'device-installs-application-has-service name-has-name',
|
35
|
-
'service',
|
36
|
-
],
|
37
|
-
['ReferencedField', 'si', 'installs-service'],
|
38
|
-
],
|
39
|
-
],
|
40
|
-
],
|
41
|
-
],
|
42
13
|
},
|
43
14
|
};
|
44
15
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"v7.js","sourceRoot":"","sources":["../../../src/translations/v7/v7.ts"],"names":[],"mappings":"AACA,OAAO,EACN,wBAAwB,EACxB,iBAAiB,EACjB,sBAAsB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,gCAAgC,MAAM,+EAA+E,CAAC;AAElI,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC;AAEjC,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,CACzD,IAAI,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CACnC,CAAC;AAEF,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;AAE3C,iBAAiB,CAAC,kBAAkB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAEpE,gCAAgC,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAChE,+GAA+G;AAC/G,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,iBAAiB,GAAG,kBAAkB,EAAE,EAAE;IAC3E,OAAO;QACN,uDAAuD,EAAE;YACxD,WAAW,EAAE,kDAAkD;
|
1
|
+
{"version":3,"file":"v7.js","sourceRoot":"","sources":["../../../src/translations/v7/v7.ts"],"names":[],"mappings":"AACA,OAAO,EACN,wBAAwB,EACxB,iBAAiB,EACjB,sBAAsB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,gCAAgC,MAAM,+EAA+E,CAAC;AAElI,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC;AAEjC,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,CACzD,IAAI,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CACnC,CAAC;AAEF,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;AAE3C,iBAAiB,CAAC,kBAAkB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAEpE,gCAAgC,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAChE,+GAA+G;AAC/G,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,iBAAiB,GAAG,kBAAkB,EAAE,EAAE;IAC3E,OAAO;QACN,uDAAuD,EAAE;YACxD,WAAW,EAAE,kDAAkD;SAC/D;KAC4C,CAAC;AAChD,CAAC,CAAC"}
|
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": "
|
4
|
+
"version": "32.0.0",
|
5
5
|
"license": "AGPL-3.0",
|
6
6
|
"repository": {
|
7
7
|
"type": "git",
|
@@ -166,6 +166,6 @@
|
|
166
166
|
"loader": "ts-node/esm/transpile-only"
|
167
167
|
},
|
168
168
|
"versionist": {
|
169
|
-
"publishedAt": "2024-12-
|
169
|
+
"publishedAt": "2024-12-05T18:43:16.753Z"
|
170
170
|
}
|
171
171
|
}
|