@balena/open-balena-api 31.2.5-build-move-device-service-propagate-hook-77b1e4bca920f059cfe81ba757d2dcedc1132101-2 → 31.2.5-build-service-install-mem-b0a7482099c474fd6951abe7d8b60eeeb7298da6-3

Sign up to get free protection for your applications and to get access to all the features.
@@ -83,7 +83,7 @@ const createServiceInstalls = async ({ devices, }) => {
83
83
  console.info('[service-install-task] No service installs to create');
84
84
  return 0;
85
85
  }
86
- const devicesToAddServiceInstalls = await api.resin.get({
86
+ const devicesToAddServiceInstalls = (await api.resin.get({
87
87
  resource: 'device',
88
88
  passthrough: { req: permissions.rootRead },
89
89
  options: {
@@ -105,6 +105,13 @@ const createServiceInstalls = async ({ devices, }) => {
105
105
  }),
106
106
  },
107
107
  },
108
+ })).map((device) => {
109
+ // Transform the device to the simpler object we will need later which is smaller
110
+ // and will allow the larger version to be garbage collected sooner
111
+ return {
112
+ id: device.id,
113
+ serviceInstalls: device.service_install.map((si) => si.installs__service.__id),
114
+ };
108
115
  });
109
116
  // This is already batched at one level, does it make sense to batch it again?
110
117
  const remainingDevices = new Set(devices);
@@ -128,7 +135,7 @@ const createServiceInstalls = async ({ devices, }) => {
128
135
  return totalSiCreated;
129
136
  }
130
137
  // Use existingServiceIds as a Set for faster lookups on the follow up filter
131
- const existingServiceIds = device.service_install.map((si) => si.installs__service.__id);
138
+ const existingServiceIds = device.serviceInstalls;
132
139
  const deviceServiceIds = _.difference(serviceIds, existingServiceIds);
133
140
  await Promise.all(deviceServiceIds.map(async (serviceId) => {
134
141
  // Create a service_install for this pair of service and device
@@ -1 +1 @@
1
- {"version":3,"file":"service-installs.js","sourceRoot":"","sources":["../../../../src/features/ci-cd/tasks/service-installs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service-installs.js","sourceRoot":"","sources":["../../../../src/features/ci-cd/tasks/service-installs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { hooks, errors } from '@balena/pinejs';
2
+ async function backfillDeviceAndService({ request, api, }) {
3
+ const { service_install: siId } = request.values;
4
+ if (siId == null) {
5
+ return;
6
+ }
7
+ const si = await api.get({
8
+ resource: 'service_install',
9
+ id: siId,
10
+ options: {
11
+ $select: ['device', 'service'],
12
+ },
13
+ });
14
+ if (si == null) {
15
+ throw new errors.UnauthorizedError();
16
+ }
17
+ request.values.device = si.device.__id;
18
+ request.values.service = si.service.__id;
19
+ }
20
+ hooks.addPureHook('POST', 'resin', 'device_service_environment_variable', {
21
+ POSTPARSE: backfillDeviceAndService,
22
+ });
23
+ hooks.addPureHook('PATCH', 'resin', 'device_service_environment_variable', {
24
+ POSTPARSE: backfillDeviceAndService,
25
+ });
26
+ //# sourceMappingURL=backfill-device-service-environment-variable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backfill-device-service-environment-variable.js","sourceRoot":"","sources":["../../../../src/features/service-install/hooks/backfill-device-service-environment-variable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAkB,MAAM,gBAAgB,CAAC;AAE/D,KAAK,UAAU,wBAAwB,CAAC,EACvC,OAAO,EACP,GAAG,GAC0B;IAC7B,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO;IACR,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC;QACxB,QAAQ,EAAE,iBAAiB;QAC3B,EAAE,EAAE,IAAI;QACR,OAAO,EAAE;YACR,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;SAC9B;KACD,CAAC,CAAC;IAEH,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;IACvC,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;AAC1C,CAAC;AAED,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,qCAAqC,EAAE;IACzE,SAAS,EAAE,wBAAwB;CACnC,CAAC,CAAC;AAEH,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,qCAAqC,EAAE;IAC1E,SAAS,EAAE,wBAAwB;CACnC,CAAC,CAAC"}
@@ -1 +1 @@
1
- import './backfill-service-install-on-device-service-env-var.js';
1
+ import './backfill-device-service-environment-variable.js';
@@ -1,2 +1,2 @@
1
- import './backfill-service-install-on-device-service-env-var.js';
1
+ import './backfill-device-service-environment-variable.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/features/service-install/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,yDAAyD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/features/service-install/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,mDAAmD,CAAC"}
@@ -1,32 +1,2 @@
1
- import { hooks, sbvrUtils, errors } from '@balena/pinejs';
2
- const addReadOnlyHook = (methods, resource, hook) => {
3
- methods.map((method) => {
4
- hooks.addHook(method, 'v7', resource, {
5
- ...hook,
6
- sideEffects: false,
7
- readOnlyTx: true,
8
- });
9
- });
10
- };
11
- addReadOnlyHook(['POST', 'PATCH', 'PUT'], 'device_service_environment_variable', {
12
- POSTPARSE: async ({ request, api }) => {
13
- const { service_install: siId } = request.values;
14
- if (siId == null) {
15
- return;
16
- }
17
- const si = await sbvrUtils.api.resin.get({
18
- resource: 'service_install',
19
- passthrough: api.passthrough,
20
- id: siId,
21
- options: {
22
- $select: ['device', 'service'],
23
- },
24
- });
25
- if (si == null) {
26
- throw new errors.UnauthorizedError();
27
- }
28
- request.values.device = si.device.__id;
29
- request.values.service = si.service.__id;
30
- },
31
- });
1
+ export {};
32
2
  //# sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/translations/v7/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,eAAe,GAAG,CACvB,OAAmD,EACnD,QAAgB,EAChB,IAA2B,EAC1B,EAAE;IACH,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACtB,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrC,GAAG,IAAI;YACP,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,IAAI;SAChB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,CACd,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EACxB,qCAAqC,EACrC;IACC,SAAS,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE;QACrC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO;QACR,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YACxC,QAAQ,EAAE,iBAAiB;YAC3B,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,EAAE,EAAE,IAAI;YACR,OAAO,EAAE;gBACR,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAC9B;SACD,CAAC,CAAC;QAEH,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACtC,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1C,CAAC;CACD,CACD,CAAC"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/translations/v7/hooks.ts"],"names":[],"mappings":""}
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": "31.2.5-build-move-device-service-propagate-hook-77b1e4bca920f059cfe81ba757d2dcedc1132101-2",
4
+ "version": "31.2.5-build-service-install-mem-b0a7482099c474fd6951abe7d8b60eeeb7298da6-3",
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-11-18T23:13:20.371Z"
169
+ "publishedAt": "2024-11-19T13:44:19.318Z"
170
170
  }
171
171
  }
@@ -1,41 +0,0 @@
1
- import { hooks, errors } from '@balena/pinejs';
2
- async function backfillServiceInstall({ request, api, }) {
3
- const { device: deviceId, service: serviceId } = request.values;
4
- if (deviceId == null && serviceId == null) {
5
- return;
6
- }
7
- if ((deviceId == null && serviceId != null) ||
8
- (deviceId != null && serviceId == null)) {
9
- throw new errors.BadRequestError('Both or none of device and service must be specified');
10
- }
11
- let si = await api.get({
12
- resource: 'service_install',
13
- id: {
14
- device: deviceId,
15
- installs__service: serviceId,
16
- },
17
- options: {
18
- $select: ['id'],
19
- },
20
- });
21
- if (si == null) {
22
- si = await api.post({
23
- resource: 'service_install',
24
- body: {
25
- device: deviceId,
26
- installs__service: serviceId,
27
- },
28
- });
29
- }
30
- if (si == null) {
31
- throw new errors.BadRequestError(`No service install exists for device: ${deviceId} and service ${serviceId} and one could not be created`);
32
- }
33
- request.values.service_install = si.id;
34
- }
35
- hooks.addPureHook('POST', 'resin', 'device_service_environment_variable', {
36
- POSTPARSE: backfillServiceInstall,
37
- });
38
- hooks.addPureHook('PATCH', 'resin', 'device_service_environment_variable', {
39
- POSTPARSE: backfillServiceInstall,
40
- });
41
- //# sourceMappingURL=backfill-service-install-on-device-service-env-var.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"backfill-service-install-on-device-service-env-var.js","sourceRoot":"","sources":["../../../../src/features/service-install/hooks/backfill-service-install-on-device-service-env-var.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAkB,MAAM,gBAAgB,CAAC;AAE/D,KAAK,UAAU,sBAAsB,CAAC,EACrC,OAAO,EACP,GAAG,GAC0B;IAC7B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEhE,IAAI,QAAQ,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QAC3C,OAAO;IACR,CAAC;IAED,IACC,CAAC,QAAQ,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC;QACvC,CAAC,QAAQ,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,EACtC,CAAC;QACF,MAAM,IAAI,MAAM,CAAC,eAAe,CAC/B,sDAAsD,CACtD,CAAC;IACH,CAAC;IAED,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC;QACtB,QAAQ,EAAE,iBAAiB;QAC3B,EAAE,EAAE;YACH,MAAM,EAAE,QAAQ;YAChB,iBAAiB,EAAE,SAAS;SAC5B;QACD,OAAO,EAAE;YACR,OAAO,EAAE,CAAC,IAAI,CAAC;SACf;KACD,CAAC,CAAC;IAEH,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QAChB,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,iBAAiB;YAC3B,IAAI,EAAE;gBACL,MAAM,EAAE,QAAQ;gBAChB,iBAAiB,EAAE,SAAS;aAC5B;SACD,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,MAAM,CAAC,eAAe,CAC/B,yCAAyC,QAAQ,gBAAgB,SAAS,+BAA+B,CACzG,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,eAAe,GAAG,EAAE,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,qCAAqC,EAAE;IACzE,SAAS,EAAE,sBAAsB;CACjC,CAAC,CAAC;AAEH,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,qCAAqC,EAAE;IAC1E,SAAS,EAAE,sBAAsB;CACjC,CAAC,CAAC"}