@balena/pinejs 16.2.0-build-joshbwlng-tasks-a83c83b4c78803915d0cb6297cc8cc1862622d08-1 → 16.2.0-build-joshbwlng-tasks-33d358773f8b8967b2eb6a90a6d72802e673a82e-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.
@@ -1,6 +1,14 @@
1
1
  - commits:
2
+ - subject: Rollback handler tx on failure
3
+ hash: 33d358773f8b8967b2eb6a90a6d72802e673a82e
4
+ body: ""
5
+ footer:
6
+ Change-type: patch
7
+ change-type: patch
8
+ author: Josh Bowling
9
+ nested: []
2
10
  - subject: Add async tasks
3
- hash: a83c83b4c78803915d0cb6297cc8cc1862622d08
11
+ hash: 477db5350d7ad4d979188b4d68b9705d493438f1
4
12
  body: ""
5
13
  footer:
6
14
  Change-type: minor
@@ -9,7 +17,277 @@
9
17
  nested: []
10
18
  version: 16.2.0
11
19
  title: ""
12
- date: 2024-04-15T01:28:02.918Z
20
+ date: 2024-04-25T10:07:42.900Z
21
+ - commits:
22
+ - subject: Update @balena/odata-to-abstract-sql to 6.2.7
23
+ hash: 76b2f842af0b49ef2956db23a22758fc0d1e50a0
24
+ body: |
25
+ Update @balena/odata-to-abstract-sql from 6.2.3 to 6.2.7
26
+ footer:
27
+ Change-type: patch
28
+ change-type: patch
29
+ author: Thodoris Greasidis
30
+ nested:
31
+ - commits:
32
+ - subject: Properly error when using fields of a partial index as an alternate key
33
+ hash: 8652f142511cef14872353ec879365a5fd745c53
34
+ body: |
35
+ Update @balena/abstract-sql-compiler from 9.0.4 to 9.1.4
36
+ footer:
37
+ Change-type: patch
38
+ change-type: patch
39
+ author: Thodoris Greasidis
40
+ nested:
41
+ - commits:
42
+ - subject: Cast Big Serial to integer
43
+ hash: 9e4025dd57517f4ad6d06f4cb894062c6ce370cf
44
+ body: ""
45
+ footer:
46
+ Change-type: patch
47
+ change-type: patch
48
+ author: Josh Bowling
49
+ nested: []
50
+ version: abstract-sql-compiler-9.1.4
51
+ title: ""
52
+ date: 2024-04-09T10:04:33.059Z
53
+ - commits:
54
+ - subject: Update prepare script for husky v9
55
+ hash: bae835665431a88f0fdd4804f1d70757a7e11dd0
56
+ body: ""
57
+ footer:
58
+ Change-type: patch
59
+ change-type: patch
60
+ author: Josh Bowling
61
+ nested: []
62
+ - subject: Update dependency husky to v9
63
+ hash: d53d2f121e97d0dde35fe646e63b9d7179f4f098
64
+ body: |
65
+ Update husky from 8.0.3 to 9.0.11
66
+ footer:
67
+ Change-type: patch
68
+ change-type: patch
69
+ author: Self-hosted Renovate Bot
70
+ nested: []
71
+ version: abstract-sql-compiler-9.1.3
72
+ title: ""
73
+ date: 2024-04-09T01:41:53.829Z
74
+ - commits:
75
+ - subject: Update dependency lint-staged to v15
76
+ hash: 6b5c28a3170006cd3f6f963f03ec2ee67273223e
77
+ body: |
78
+ Update lint-staged from 13.3.0 to 15.2.2
79
+ footer:
80
+ Change-type: patch
81
+ change-type: patch
82
+ author: Self-hosted Renovate Bot
83
+ nested: []
84
+ version: abstract-sql-compiler-9.1.2
85
+ title: ""
86
+ date: 2024-04-09T01:09:18.361Z
87
+ - commits:
88
+ - subject: Update dependency @balena/lint to v8
89
+ hash: 835365353b766b89d80c80b84f48583ba0322849
90
+ body: |
91
+ Update @balena/lint from 6.2.2 to 8.0.0
92
+ footer:
93
+ Change-type: patch
94
+ change-type: patch
95
+ author: Thodoris Greasidis
96
+ nested: []
97
+ version: abstract-sql-compiler-9.1.1
98
+ title: ""
99
+ date: 2024-03-26T10:27:12.964Z
100
+ - commits:
101
+ - subject: Export the generateRuleHashAcronym helper
102
+ hash: 6d00b7dba58690019cfb443e4c876d30e8d7ad98
103
+ body: ""
104
+ footer:
105
+ Change-type: minor
106
+ change-type: minor
107
+ author: Thodoris Greasidis
108
+ nested: []
109
+ - subject: Add support for unique indexes with NOT DISTINCT NULLS
110
+ hash: cbd1177d14cd2266dd92f29755819a3139bf3bc1
111
+ body: ""
112
+ footer:
113
+ Change-type: minor
114
+ change-type: minor
115
+ author: Thodoris Greasidis
116
+ nested: []
117
+ - subject: Add support for partial unique indexes
118
+ hash: e2c92b8d5022ad29b95dd1e0837ec9dddec24fa4
119
+ body: ""
120
+ footer:
121
+ Change-type: minor
122
+ change-type: minor
123
+ author: Thodoris Greasidis
124
+ nested: []
125
+ version: abstract-sql-compiler-9.1.0
126
+ title: ""
127
+ date: 2024-03-26T09:29:57.519Z
128
+ - commits:
129
+ - subject: Update dependency @balena/odata-parser to v3
130
+ hash: d23614a1f7346edb262897ca8ff62abc2eaffff6
131
+ body: |
132
+ Update @balena/odata-parser from 2.5.0 to 3.0.3
133
+ footer:
134
+ Change-type: patch
135
+ change-type: patch
136
+ author: Self-hosted Renovate Bot
137
+ nested:
138
+ - commits:
139
+ - subject: Optimize by moving constant values into global init
140
+ hash: 94899b779fb879540f3675c3c9d7ca3f9d8af4bf
141
+ body: ""
142
+ footer:
143
+ Change-type: patch
144
+ change-type: patch
145
+ Signed-off-by: fisehara <harald@balena.io>
146
+ signed-off-by: fisehara <harald@balena.io>
147
+ author: fisehara
148
+ version: odata-parser-3.0.3
149
+ title: ""
150
+ date: 2024-01-04T15:30:09.102Z
151
+ - commits:
152
+ - subject: Update dependencies
153
+ hash: 0a7bd8ff2e506fa3988b6e1851e0098df5da3f86
154
+ body: >
155
+ - Update @balena/lint from 6.2.2 to 7.2.4
156
+
157
+ - Delete `require-npm4-to-publish` as handled by
158
+ `engines` parameter in `package.json`
159
+ footer:
160
+ Change-type: patch
161
+ change-type: patch
162
+ Signed-off-by: fisehara <harald@balena.io>
163
+ signed-off-by: fisehara <harald@balena.io>
164
+ author: fisehara
165
+ version: odata-parser-3.0.2
166
+ title: ""
167
+ date: 2024-01-04T10:16:56.896Z
168
+ - commits:
169
+ - subject: Allow running CI on external PRs
170
+ hash: 875af25a9e8ba9ade051f76f4500f5146db675a7
171
+ body: ""
172
+ footer:
173
+ Change-type: patch
174
+ change-type: patch
175
+ author: Pagan Gazzard
176
+ version: odata-parser-3.0.1
177
+ title: ""
178
+ date: 2023-09-25T10:50:13.648Z
179
+ - commits:
180
+ - subject: Use optional chaining operator
181
+ hash: 1fb39ef2497b964af0f2cbc953a3f0843936fe02
182
+ body: ""
183
+ footer:
184
+ Change-type: major
185
+ change-type: major
186
+ author: Pagan Gazzard
187
+ - subject: Set minimum supported nodejs version to 16.13.0
188
+ hash: 91b8f51691a9649e99f2dc64253cc5ce9b59035a
189
+ body: ""
190
+ footer:
191
+ Change-type: major
192
+ change-type: major
193
+ author: Pagan Gazzard
194
+ version: odata-parser-3.0.0
195
+ title: ""
196
+ date: 2023-04-26T14:57:49.416Z
197
+ version: abstract-sql-compiler-9.0.7
198
+ title: ""
199
+ date: 2024-03-22T13:08:03.336Z
200
+ - commits:
201
+ - subject: Update TypeScript to 5.4.3
202
+ hash: 29299180ecbcb5bcd26b47e52f86538fa9a1f0f8
203
+ body: ""
204
+ footer:
205
+ Change-type: patch
206
+ change-type: patch
207
+ author: Thodoris Greasidis
208
+ nested: []
209
+ version: abstract-sql-compiler-9.0.6
210
+ title: ""
211
+ date: 2024-03-21T16:34:21.387Z
212
+ - commits:
213
+ - subject: Update `@balena/sbvr-types`
214
+ hash: 1822aa5e81736f18f2a4dd265e5754b589d4fd36
215
+ body: >
216
+ Updaet @balena/sbvr-types from 6.0.0 to 7.0.1
217
+
218
+
219
+ @balena/sbvr-types changes `fetchProcessing` and not
220
+ validate. No change in abstract-sql-compiler interfaces.
221
+ => Patch
222
+ footer:
223
+ Change-type: patch
224
+ change-type: patch
225
+ Signed-off-by: Harald Fischer <harald@balena.io>
226
+ signed-off-by: Harald Fischer <harald@balena.io>
227
+ author: Harald Fischer
228
+ nested: []
229
+ version: abstract-sql-compiler-9.0.5
230
+ title: ""
231
+ date: 2024-03-05T19:12:37.779Z
232
+ version: odata-to-abstract-sql-6.2.7
233
+ title: ""
234
+ date: 2024-04-23T12:52:44.677Z
235
+ - commits:
236
+ - subject: Update dependency husky to v9
237
+ hash: cb1f02871fbea35df4b637f73625fbc39840da3a
238
+ body: |
239
+ Update husky from 8.0.3 to 9.0.11
240
+ footer:
241
+ Change-type: patch
242
+ change-type: patch
243
+ author: Self-hosted Renovate Bot
244
+ nested: []
245
+ version: odata-to-abstract-sql-6.2.6
246
+ title: ""
247
+ date: 2024-04-13T14:30:55.197Z
248
+ - commits:
249
+ - subject: Update dependency @balena/lint to v8
250
+ hash: 7b0e4b7272b0cda5690b925b7de259612085940e
251
+ body: |
252
+ Update @balena/lint from 7.3.0 to 8.0.0
253
+ footer:
254
+ Change-type: patch
255
+ change-type: patch
256
+ author: Self-hosted Renovate Bot
257
+ nested: []
258
+ version: odata-to-abstract-sql-6.2.5
259
+ title: ""
260
+ date: 2024-04-10T00:24:14.349Z
261
+ - commits:
262
+ - subject: Update `@balena/sbvr-types` devDependencies
263
+ hash: 93ba82f914f8e036e79fa174a58881db294b84c6
264
+ body: |
265
+ Update `@balena/sbvr-types` from 6.1.1 to 7.0.1
266
+
267
+ Update of devDependencies => patch
268
+ footer:
269
+ Change-type: patch
270
+ change-type: patch
271
+ Signed-off-by: fisehara <harald@balena.io>
272
+ signed-off-by: fisehara <harald@balena.io>
273
+ author: fisehara
274
+ nested: []
275
+ - subject: Fix linter issue
276
+ hash: d5e0d142e779f29ef316cdb20d0f91a983960e69
277
+ body: ""
278
+ footer:
279
+ Change-type: patch
280
+ change-type: patch
281
+ Signed-off-by: fisehara <harald@balena.io>
282
+ signed-off-by: fisehara <harald@balena.io>
283
+ author: fisehara
284
+ nested: []
285
+ version: odata-to-abstract-sql-6.2.4
286
+ title: ""
287
+ date: 2024-03-05T18:23:43.575Z
288
+ version: 16.1.3
289
+ title: ""
290
+ date: 2024-04-24T08:28:28.477Z
13
291
  - commits:
14
292
  - subject: Update dependency husky to v9
15
293
  hash: 715d2dd993591d449bca7ece48f069ed6994c8c7
package/CHANGELOG.md CHANGED
@@ -5,10 +5,118 @@ automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
5
5
  This project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
7
  # v16.2.0
8
- ## (2024-04-15)
8
+ ## (2024-04-25)
9
9
 
10
+ * Rollback handler tx on failure [Josh Bowling]
10
11
  * Add async tasks [Josh Bowling]
11
12
 
13
+ # v16.1.3
14
+ ## (2024-04-24)
15
+
16
+
17
+ <details>
18
+ <summary> Update @balena/odata-to-abstract-sql to 6.2.7 [Thodoris Greasidis] </summary>
19
+
20
+ > ## odata-to-abstract-sql-6.2.7
21
+ > ### (2024-04-23)
22
+ >
23
+ >
24
+ > <details>
25
+ > <summary> Properly error when using fields of a partial index as an alternate key [Thodoris Greasidis] </summary>
26
+ >
27
+ >> ### abstract-sql-compiler-9.1.4
28
+ >> #### (2024-04-09)
29
+ >>
30
+ >> * Cast Big Serial to integer [Josh Bowling]
31
+ >>
32
+ >> ### abstract-sql-compiler-9.1.3
33
+ >> #### (2024-04-09)
34
+ >>
35
+ >> * Update prepare script for husky v9 [Josh Bowling]
36
+ >> * Update dependency husky to v9 [Self-hosted Renovate Bot]
37
+ >>
38
+ >> ### abstract-sql-compiler-9.1.2
39
+ >> #### (2024-04-09)
40
+ >>
41
+ >> * Update dependency lint-staged to v15 [Self-hosted Renovate Bot]
42
+ >>
43
+ >> ### abstract-sql-compiler-9.1.1
44
+ >> #### (2024-03-26)
45
+ >>
46
+ >> * Update dependency @balena/lint to v8 [Thodoris Greasidis]
47
+ >>
48
+ >> ### abstract-sql-compiler-9.1.0
49
+ >> #### (2024-03-26)
50
+ >>
51
+ >> * Export the generateRuleHashAcronym helper [Thodoris Greasidis]
52
+ >> * Add support for unique indexes with NOT DISTINCT NULLS [Thodoris Greasidis]
53
+ >> * Add support for partial unique indexes [Thodoris Greasidis]
54
+ >>
55
+ >> ### abstract-sql-compiler-9.0.7
56
+ >> #### (2024-03-22)
57
+ >>
58
+ >>
59
+ >> <details>
60
+ >> <summary> Update dependency @balena/odata-parser to v3 [Self-hosted Renovate Bot] </summary>
61
+ >>
62
+ >>> #### odata-parser-3.0.3
63
+ >>> ##### (2024-01-04)
64
+ >>>
65
+ >>> * Optimize by moving constant values into global init [fisehara]
66
+ >>>
67
+ >>> #### odata-parser-3.0.2
68
+ >>> ##### (2024-01-04)
69
+ >>>
70
+ >>> * Update dependencies [fisehara]
71
+ >>>
72
+ >>> #### odata-parser-3.0.1
73
+ >>> ##### (2023-09-25)
74
+ >>>
75
+ >>> * Allow running CI on external PRs [Pagan Gazzard]
76
+ >>>
77
+ >>> #### odata-parser-3.0.0
78
+ >>> ##### (2023-04-26)
79
+ >>>
80
+ >>> * Use optional chaining operator [Pagan Gazzard]
81
+ >>> * Set minimum supported nodejs version to 16.13.0 [Pagan Gazzard]
82
+ >>>
83
+ >>
84
+ >> </details>
85
+ >>
86
+ >>
87
+ >> ### abstract-sql-compiler-9.0.6
88
+ >> #### (2024-03-21)
89
+ >>
90
+ >> * Update TypeScript to 5.4.3 [Thodoris Greasidis]
91
+ >>
92
+ >> ### abstract-sql-compiler-9.0.5
93
+ >> #### (2024-03-05)
94
+ >>
95
+ >> * Update `@balena/sbvr-types` [Harald Fischer]
96
+ >>
97
+ >
98
+ > </details>
99
+ >
100
+ >
101
+ > ## odata-to-abstract-sql-6.2.6
102
+ > ### (2024-04-13)
103
+ >
104
+ > * Update dependency husky to v9 [Self-hosted Renovate Bot]
105
+ >
106
+ > ## odata-to-abstract-sql-6.2.5
107
+ > ### (2024-04-10)
108
+ >
109
+ > * Update dependency @balena/lint to v8 [Self-hosted Renovate Bot]
110
+ >
111
+ > ## odata-to-abstract-sql-6.2.4
112
+ > ### (2024-03-05)
113
+ >
114
+ > * Update `@balena/sbvr-types` devDependencies [fisehara]
115
+ > * Fix linter issue [fisehara]
116
+ >
117
+
118
+ </details>
119
+
12
120
  # v16.1.2
13
121
  ## (2024-04-14)
14
122
 
@@ -25,6 +25,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.Worker = void 0;
27
27
  const env_1 = require("../config-loader/env");
28
+ const db_1 = require("../database-layer/db");
28
29
  const permissions = __importStar(require("../sbvr-api/permissions"));
29
30
  const sbvr_utils_1 = require("../sbvr-api/sbvr-utils");
30
31
  const module_1 = require("../server-glue/module");
@@ -66,16 +67,36 @@ class Worker {
66
67
  await this.finalize(tx, task, startedOnTime, 'failed', `Invalid parameter set: ${common_1.ajv.errorsText(handler.validate.errors)}`);
67
68
  return;
68
69
  }
69
- const result = await handler.fn({
70
- api: new sbvr_utils_1.PinejsClient({
71
- passthrough: {
72
- tx,
73
- },
74
- }),
75
- params: task.is_executed_with__parameter_set ?? {},
76
- tx,
77
- });
78
- await this.finalize(tx, task, startedOnTime, result.status, result.error);
70
+ let status = 'pending';
71
+ let error;
72
+ try {
73
+ await module_1.sbvrUtils.db.transaction(async (handlerTx) => {
74
+ const result = await handler.fn({
75
+ api: new sbvr_utils_1.PinejsClient({
76
+ passthrough: {
77
+ tx: handlerTx,
78
+ },
79
+ }),
80
+ params: task.is_executed_with__parameter_set ?? {},
81
+ tx: handlerTx,
82
+ });
83
+ status = result.status;
84
+ error = result.error;
85
+ if (status !== 'success') {
86
+ await handlerTx.rollback();
87
+ }
88
+ });
89
+ }
90
+ catch (err) {
91
+ if (err instanceof db_1.TransactionClosedError &&
92
+ err.message.includes('rolled back')) {
93
+ return;
94
+ }
95
+ throw err;
96
+ }
97
+ finally {
98
+ await this.finalize(tx, task, startedOnTime, status, error);
99
+ }
79
100
  }
80
101
  catch (err) {
81
102
  console.error('Task execution failed:', err);
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/tasks/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/tasks/worker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@balena/pinejs",
3
- "version": "16.2.0-build-joshbwlng-tasks-a83c83b4c78803915d0cb6297cc8cc1862622d08-1",
3
+ "version": "16.2.0-build-joshbwlng-tasks-33d358773f8b8967b2eb6a90a6d72802e673a82e-1",
4
4
  "main": "out/server-glue/module",
5
5
  "type": "commonjs",
6
6
  "repository": "git@github.com:balena-io/pinejs.git",
@@ -30,7 +30,7 @@
30
30
  "@balena/env-parsing": "^1.1.10",
31
31
  "@balena/lf-to-abstract-sql": "^5.0.1",
32
32
  "@balena/odata-parser": "^3.0.3",
33
- "@balena/odata-to-abstract-sql": "^6.2.3",
33
+ "@balena/odata-to-abstract-sql": "^6.2.7",
34
34
  "@balena/sbvr-parser": "^1.4.3",
35
35
  "@balena/sbvr-types": "^7.0.1",
36
36
  "@types/body-parser": "^1.19.5",
@@ -147,6 +147,6 @@
147
147
  "recursive": true
148
148
  },
149
149
  "versionist": {
150
- "publishedAt": "2024-04-15T01:28:03.598Z"
150
+ "publishedAt": "2024-04-25T10:07:43.591Z"
151
151
  }
152
152
  }
@@ -1,6 +1,7 @@
1
1
  import type { AnyObject } from 'pinejs-client-core';
2
2
  import { tasks as tasksEnv } from '../config-loader/env';
3
3
  import type * as Db from '../database-layer/db';
4
+ import { TransactionClosedError } from '../database-layer/db';
4
5
  import * as permissions from '../sbvr-api/permissions';
5
6
  import { PinejsClient } from '../sbvr-api/sbvr-utils';
6
7
  import { sbvrUtils } from '../server-glue/module';
@@ -80,18 +81,40 @@ export class Worker {
80
81
  }
81
82
 
82
83
  // Execute handler
83
- const result = await handler.fn({
84
- api: new PinejsClient({
85
- passthrough: {
86
- tx,
87
- },
88
- }),
89
- params: task.is_executed_with__parameter_set ?? {},
90
- tx,
91
- });
84
+ let status: TaskStatus = 'pending';
85
+ let error: string | undefined;
86
+ try {
87
+ await sbvrUtils.db.transaction(async (handlerTx) => {
88
+ const result = await handler.fn({
89
+ api: new PinejsClient({
90
+ passthrough: {
91
+ tx: handlerTx,
92
+ },
93
+ }),
94
+ params: task.is_executed_with__parameter_set ?? {},
95
+ tx: handlerTx,
96
+ });
97
+ status = result.status;
98
+ error = result.error;
92
99
 
93
- // Update task with results
94
- await this.finalize(tx, task, startedOnTime, result.status, result.error);
100
+ // Rollback handler tx if handler failed
101
+ if (status !== 'success') {
102
+ await handlerTx.rollback();
103
+ }
104
+ });
105
+ } catch (err) {
106
+ // Ignore rollback errors
107
+ if (
108
+ err instanceof TransactionClosedError &&
109
+ err.message.includes('rolled back')
110
+ ) {
111
+ return;
112
+ }
113
+ throw err;
114
+ } finally {
115
+ // Update task with results
116
+ await this.finalize(tx, task, startedOnTime, status, error);
117
+ }
95
118
  } catch (err) {
96
119
  // This shouldn't happen, but if it does we want to log and kill the process
97
120
  console.error('Task execution failed:', err);