@balena/open-balena-api 32.1.0 → 32.1.1-build-make-service-installs-nullable-on-dsev-86a504874982ef3c92f0f377ec254bf80ab0e0b5-1
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/balena-model.d.ts +4 -4
- package/dist/balena.sbvr +1 -1
- package/dist/features/cascade-delete/hooks.js +5 -1
- package/dist/features/cascade-delete/hooks.js.map +1 -1
- package/dist/features/device-state/routes/state-get-v3.d.ts +3 -3
- package/dist/migrations/00100-make-service-install-fk-nullable-on-device-service-environment-variable.sql +2 -0
- package/package.json +2 -2
package/dist/balena-model.d.ts
CHANGED
@@ -941,13 +941,13 @@ export interface DeviceServiceEnvironmentVariable {
|
|
941
941
|
value: Types['Text']['Read'];
|
942
942
|
service_install: {
|
943
943
|
__id: ServiceInstall['Read']['id'];
|
944
|
-
} | [ServiceInstall['Read']];
|
944
|
+
} | [ServiceInstall['Read']] | [] | null;
|
945
945
|
device__installs__application__has__service_name: {
|
946
946
|
__id: ServiceInstall['Read']['id'];
|
947
|
-
} | [ServiceInstall['Read']];
|
947
|
+
} | [ServiceInstall['Read']] | [] | null;
|
948
948
|
device__installs__service: {
|
949
949
|
__id: ServiceInstall['Read']['id'];
|
950
|
-
} | [ServiceInstall['Read']];
|
950
|
+
} | [ServiceInstall['Read']] | [] | null;
|
951
951
|
application__has__service_name: {
|
952
952
|
__id: Service['Read']['id'];
|
953
953
|
} | [Service['Read']];
|
@@ -960,7 +960,7 @@ export interface DeviceServiceEnvironmentVariable {
|
|
960
960
|
name: Types['Short Text']['Write'];
|
961
961
|
id: Types['Serial']['Write'];
|
962
962
|
value: Types['Text']['Write'];
|
963
|
-
service_install: ServiceInstall['Write']['id'];
|
963
|
+
service_install: ServiceInstall['Write']['id'] | null;
|
964
964
|
};
|
965
965
|
}
|
966
966
|
export interface DeviceTag {
|
package/dist/balena.sbvr
CHANGED
@@ -813,7 +813,7 @@ Fact type: image environment variable has value
|
|
813
813
|
Fact type: device service environment variable has value
|
814
814
|
Necessity: each device service environment variable has exactly one value.
|
815
815
|
Fact type: device service environment variable has service install
|
816
|
-
Necessity: each device service environment variable has
|
816
|
+
Necessity: each device service environment variable has at most one service install.
|
817
817
|
|
818
818
|
|
819
819
|
-- application tag
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { sbvrUtils, hooks, permissions, errors } from '@balena/pinejs';
|
2
2
|
import { captureException } from '../../infra/error-handling/index.js';
|
3
3
|
import { setupDeleteCascade } from './setup-delete-cascade.js';
|
4
|
+
import { addDeleteHookForDependents } from '../../infra/cascade-delete/index.js';
|
4
5
|
const { api, getAffectedIds } = sbvrUtils;
|
5
6
|
// TODO: These should end up grouped into the features that declare the relationship existence
|
6
7
|
setupDeleteCascade('application', {
|
@@ -14,6 +15,7 @@ setupDeleteCascade('application', {
|
|
14
15
|
setupDeleteCascade('device', {
|
15
16
|
device_config_variable: 'device',
|
16
17
|
device_environment_variable: 'device',
|
18
|
+
device_service_environment_variable: 'device',
|
17
19
|
device_tag: 'device',
|
18
20
|
image_install: 'device',
|
19
21
|
service_install: 'device',
|
@@ -33,12 +35,14 @@ setupDeleteCascade('release', {
|
|
33
35
|
image_install: 'is_provided_by__release',
|
34
36
|
});
|
35
37
|
setupDeleteCascade('service', {
|
38
|
+
device_service_environment_variable: 'service',
|
36
39
|
service_environment_variable: 'service',
|
37
40
|
service_install: 'installs__service',
|
38
41
|
image: 'is_a_build_of__service',
|
39
42
|
service_label: 'service',
|
40
43
|
});
|
41
|
-
|
44
|
+
// Service install resource should only be used for <= v7 translations
|
45
|
+
addDeleteHookForDependents('v7', 'service_install', {
|
42
46
|
device_service_environment_variable: 'service_install',
|
43
47
|
});
|
44
48
|
const deleteApiKeyHooks = {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/features/cascade-delete/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/features/cascade-delete/hooks.ts"],"names":[],"mappings":"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"}
|
@@ -411,13 +411,13 @@ declare const getDevice: (req: import("@balena/pinejs/out/sbvr-api/permissions.j
|
|
411
411
|
value: import("@balena/sbvr-types").Types["Text"]["Read"];
|
412
412
|
service_install: {
|
413
413
|
__id: import("../../../balena-model.js").ServiceInstall["Read"]["id"];
|
414
|
-
} | [import("../../../balena-model.js").ServiceInstall["Read"]];
|
414
|
+
} | [import("../../../balena-model.js").ServiceInstall["Read"]] | [] | null;
|
415
415
|
device__installs__application__has__service_name: {
|
416
416
|
__id: import("../../../balena-model.js").ServiceInstall["Read"]["id"];
|
417
|
-
} | [import("../../../balena-model.js").ServiceInstall["Read"]];
|
417
|
+
} | [import("../../../balena-model.js").ServiceInstall["Read"]] | [] | null;
|
418
418
|
device__installs__service: {
|
419
419
|
__id: import("../../../balena-model.js").ServiceInstall["Read"]["id"];
|
420
|
-
} | [import("../../../balena-model.js").ServiceInstall["Read"]];
|
420
|
+
} | [import("../../../balena-model.js").ServiceInstall["Read"]] | [] | null;
|
421
421
|
application__has__service_name: {
|
422
422
|
__id: import("../../../balena-model.js").Service["Read"]["id"];
|
423
423
|
} | [import("../../../balena-model.js").Service["Read"]];
|
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": "32.1.
|
4
|
+
"version": "32.1.1-build-make-service-installs-nullable-on-dsev-86a504874982ef3c92f0f377ec254bf80ab0e0b5-1",
|
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-09T14:28:25.236Z"
|
170
170
|
}
|
171
171
|
}
|