weave-typescript 0.11.14 → 0.11.16

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.
Files changed (75) hide show
  1. package/dist/weaveapi/data/v1/data.pb.d.ts +54 -0
  2. package/dist/weaveapi/data/v1/data.pb.js +411 -0
  3. package/dist/weaveapi/data/v1/service.pb.d.ts +296 -0
  4. package/dist/weaveapi/data/v1/service.pb.js +2779 -0
  5. package/dist/weaveapi/input/v1/input.pb.d.ts +77 -0
  6. package/dist/weaveapi/input/v1/input.pb.js +632 -0
  7. package/dist/weaveapi/input/v1/service.pb.d.ts +390 -0
  8. package/dist/weaveapi/input/v1/service.pb.js +3612 -0
  9. package/dist/weaveapi/integration/v1/integration.pb.d.ts +67 -0
  10. package/dist/weaveapi/integration/v1/integration.pb.js +486 -0
  11. package/dist/weaveapi/integration/v1/service.pb.d.ts +318 -0
  12. package/dist/weaveapi/integration/v1/service.pb.js +2994 -0
  13. package/dist/weaveapi/project/v1/project.pb.d.ts +1 -0
  14. package/dist/weaveapi/project/v1/project.pb.js +17 -1
  15. package/dist/weaveapi/project/v1/service.pb.d.ts +25 -0
  16. package/dist/weaveapi/project/v1/service.pb.js +248 -5
  17. package/dist/weaveapi/report/v1/report.pb.d.ts +81 -0
  18. package/dist/weaveapi/report/v1/report.pb.js +678 -0
  19. package/dist/weaveapi/report/v1/service.pb.d.ts +194 -0
  20. package/dist/weaveapi/report/v1/service.pb.js +1925 -0
  21. package/dist/weaveapi/requirement/v1/requirement.pb.d.ts +70 -0
  22. package/dist/weaveapi/requirement/v1/requirement.pb.js +570 -0
  23. package/dist/weaveapi/requirement/v1/service.pb.d.ts +390 -0
  24. package/dist/weaveapi/requirement/v1/service.pb.js +3638 -0
  25. package/dist/weaveapi/run/v1/run.pb.d.ts +117 -0
  26. package/dist/weaveapi/run/v1/run.pb.js +1155 -0
  27. package/dist/weaveapi/run/v1/service.pb.d.ts +229 -0
  28. package/dist/weaveapi/run/v1/service.pb.js +2428 -0
  29. package/dist/weaveapi/script/v1/script.pb.d.ts +102 -0
  30. package/dist/weaveapi/script/v1/script.pb.js +1025 -0
  31. package/dist/weaveapi/script/v1/service.pb.d.ts +502 -0
  32. package/dist/weaveapi/script/v1/service.pb.js +4873 -0
  33. package/dist/weaveapi/storage/v1/service.pb.d.ts +4 -0
  34. package/dist/weaveapi/storage/v1/service.pb.js +50 -7
  35. package/dist/weaveapi/storage/v1/storage.pb.d.ts +2 -0
  36. package/dist/weaveapi/storage/v1/storage.pb.js +23 -0
  37. package/dist/weaveapi/storage/v1/vcs.pb.d.ts +75 -0
  38. package/dist/weaveapi/storage/v1/vcs.pb.js +864 -0
  39. package/dist/weaveapi/suite/v1/service.pb.d.ts +539 -0
  40. package/dist/weaveapi/suite/v1/service.pb.js +5281 -0
  41. package/dist/weaveapi/suite/v1/suite.pb.d.ts +92 -0
  42. package/dist/weaveapi/suite/v1/suite.pb.js +876 -0
  43. package/dist/weaveapi/testcase/v1/service.pb.d.ts +498 -0
  44. package/dist/weaveapi/testcase/v1/service.pb.js +4730 -0
  45. package/dist/weaveapi/testcase/v1/testcase.pb.d.ts +91 -0
  46. package/dist/weaveapi/testcase/v1/testcase.pb.js +794 -0
  47. package/dist/weaveapi/workflow/v1/service.pb.d.ts +26 -0
  48. package/dist/weaveapi/workflow/v1/service.pb.js +293 -5
  49. package/dist/weaveapi/workflow/v1/workflow.pb.d.ts +1 -0
  50. package/dist/weaveapi/workflow/v1/workflow.pb.js +17 -1
  51. package/dist/weavesql/weavedb/data_asset_sql.d.ts +206 -0
  52. package/dist/weavesql/weavedb/data_asset_sql.js +335 -0
  53. package/dist/weavesql/weavedb/input_sql.d.ts +293 -0
  54. package/dist/weavesql/weavedb/input_sql.js +500 -0
  55. package/dist/weavesql/weavedb/integration_sql.d.ts +236 -0
  56. package/dist/weavesql/weavedb/integration_sql.js +377 -0
  57. package/dist/weavesql/weavedb/project_sql.d.ts +29 -5
  58. package/dist/weavesql/weavedb/project_sql.js +73 -37
  59. package/dist/weavesql/weavedb/report_sql.d.ts +192 -0
  60. package/dist/weavesql/weavedb/report_sql.js +308 -0
  61. package/dist/weavesql/weavedb/requirement_sql.d.ts +231 -0
  62. package/dist/weavesql/weavedb/requirement_sql.js +399 -0
  63. package/dist/weavesql/weavedb/run_sql.d.ts +283 -0
  64. package/dist/weavesql/weavedb/run_sql.js +462 -0
  65. package/dist/weavesql/weavedb/suite_sql.d.ts +354 -0
  66. package/dist/weavesql/weavedb/suite_sql.js +631 -0
  67. package/dist/weavesql/weavedb/test_case_sql.d.ts +325 -0
  68. package/dist/weavesql/weavedb/test_case_sql.js +563 -0
  69. package/dist/weavesql/weavedb/test_script_sql.d.ts +354 -0
  70. package/dist/weavesql/weavedb/test_script_sql.js +605 -0
  71. package/dist/weavesql/weavedb/traceability_sql.d.ts +117 -0
  72. package/dist/weavesql/weavedb/traceability_sql.js +363 -0
  73. package/dist/weavesql/weavedb/workflow_sql.d.ts +30 -5
  74. package/dist/weavesql/weavedb/workflow_sql.js +76 -38
  75. package/package.json +1 -1
@@ -0,0 +1,631 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteDataBindingTemplateQuery = exports.listWorkflowDataBindingTemplateBindingsQuery = exports.detachDataBindingTemplateFromWorkflowQuery = exports.attachDataBindingTemplateToWorkflowQuery = exports.listDataBindingTemplatesByWorkflowQuery = exports.listDataBindingTemplatesByProjectQuery = exports.upsertDataBindingTemplateQuery = exports.deleteTestSuiteItemQuery = exports.listTestSuiteItemsQuery = exports.upsertTestSuiteItemQuery = exports.listWorkflowTestSuiteBindingsQuery = exports.detachTestSuiteFromWorkflowQuery = exports.attachTestSuiteToWorkflowQuery = exports.deleteTestSuiteQuery = exports.archiveTestSuiteQuery = exports.updateTestSuiteQuery = exports.listTestSuitesByWorkflowQuery = exports.listTestSuitesByProjectQuery = exports.getTestSuiteQuery = exports.createTestSuiteQuery = void 0;
4
+ exports.createTestSuite = createTestSuite;
5
+ exports.getTestSuite = getTestSuite;
6
+ exports.listTestSuitesByProject = listTestSuitesByProject;
7
+ exports.listTestSuitesByWorkflow = listTestSuitesByWorkflow;
8
+ exports.updateTestSuite = updateTestSuite;
9
+ exports.archiveTestSuite = archiveTestSuite;
10
+ exports.deleteTestSuite = deleteTestSuite;
11
+ exports.attachTestSuiteToWorkflow = attachTestSuiteToWorkflow;
12
+ exports.detachTestSuiteFromWorkflow = detachTestSuiteFromWorkflow;
13
+ exports.listWorkflowTestSuiteBindings = listWorkflowTestSuiteBindings;
14
+ exports.upsertTestSuiteItem = upsertTestSuiteItem;
15
+ exports.listTestSuiteItems = listTestSuiteItems;
16
+ exports.deleteTestSuiteItem = deleteTestSuiteItem;
17
+ exports.upsertDataBindingTemplate = upsertDataBindingTemplate;
18
+ exports.listDataBindingTemplatesByProject = listDataBindingTemplatesByProject;
19
+ exports.listDataBindingTemplatesByWorkflow = listDataBindingTemplatesByWorkflow;
20
+ exports.attachDataBindingTemplateToWorkflow = attachDataBindingTemplateToWorkflow;
21
+ exports.detachDataBindingTemplateFromWorkflow = detachDataBindingTemplateFromWorkflow;
22
+ exports.listWorkflowDataBindingTemplateBindings = listWorkflowDataBindingTemplateBindings;
23
+ exports.deleteDataBindingTemplate = deleteDataBindingTemplate;
24
+ exports.createTestSuiteQuery = `-- name: CreateTestSuite :one
25
+ INSERT INTO weave_v1.test_suite (
26
+ id,
27
+ project_id,
28
+ name,
29
+ description,
30
+ status,
31
+ goal,
32
+ current_version,
33
+ execution_profile,
34
+ metadata
35
+ )
36
+ VALUES (
37
+ $1,
38
+ $2,
39
+ $3,
40
+ $4,
41
+ $5,
42
+ $6,
43
+ $7,
44
+ $8,
45
+ $9
46
+ )
47
+ RETURNING id, project_id, name, description, status, goal, current_version, execution_profile, metadata, created_at, updated_at, archived_at`;
48
+ async function createTestSuite(client, args) {
49
+ const result = await client.query({
50
+ text: exports.createTestSuiteQuery,
51
+ values: [args.id, args.projectId, args.name, args.description, args.status, args.goal, args.currentVersion, args.executionProfile, args.metadata],
52
+ rowMode: "array"
53
+ });
54
+ if (result.rows.length !== 1) {
55
+ return null;
56
+ }
57
+ const row = result.rows[0];
58
+ return {
59
+ id: row[0],
60
+ projectId: row[1],
61
+ name: row[2],
62
+ description: row[3],
63
+ status: row[4],
64
+ goal: row[5],
65
+ currentVersion: row[6],
66
+ executionProfile: row[7],
67
+ metadata: row[8],
68
+ createdAt: row[9],
69
+ updatedAt: row[10],
70
+ archivedAt: row[11]
71
+ };
72
+ }
73
+ exports.getTestSuiteQuery = `-- name: GetTestSuite :one
74
+ SELECT id, project_id, name, description, status, goal, current_version, execution_profile, metadata, created_at, updated_at, archived_at
75
+ FROM weave_v1.test_suite
76
+ WHERE id = $1
77
+ AND project_id = $2`;
78
+ async function getTestSuite(client, args) {
79
+ const result = await client.query({
80
+ text: exports.getTestSuiteQuery,
81
+ values: [args.id, args.projectId],
82
+ rowMode: "array"
83
+ });
84
+ if (result.rows.length !== 1) {
85
+ return null;
86
+ }
87
+ const row = result.rows[0];
88
+ return {
89
+ id: row[0],
90
+ projectId: row[1],
91
+ name: row[2],
92
+ description: row[3],
93
+ status: row[4],
94
+ goal: row[5],
95
+ currentVersion: row[6],
96
+ executionProfile: row[7],
97
+ metadata: row[8],
98
+ createdAt: row[9],
99
+ updatedAt: row[10],
100
+ archivedAt: row[11]
101
+ };
102
+ }
103
+ exports.listTestSuitesByProjectQuery = `-- name: ListTestSuitesByProject :many
104
+ SELECT id, project_id, name, description, status, goal, current_version, execution_profile, metadata, created_at, updated_at, archived_at
105
+ FROM weave_v1.test_suite
106
+ WHERE project_id = $1
107
+ AND ($2::BOOLEAN OR archived_at IS NULL)
108
+ ORDER BY updated_at DESC
109
+ LIMIT $4
110
+ OFFSET $3`;
111
+ async function listTestSuitesByProject(client, args) {
112
+ const result = await client.query({
113
+ text: exports.listTestSuitesByProjectQuery,
114
+ values: [args.projectId, args.includeArchived, args.pageOffset, args.pageSize],
115
+ rowMode: "array"
116
+ });
117
+ return result.rows.map(row => {
118
+ return {
119
+ id: row[0],
120
+ projectId: row[1],
121
+ name: row[2],
122
+ description: row[3],
123
+ status: row[4],
124
+ goal: row[5],
125
+ currentVersion: row[6],
126
+ executionProfile: row[7],
127
+ metadata: row[8],
128
+ createdAt: row[9],
129
+ updatedAt: row[10],
130
+ archivedAt: row[11]
131
+ };
132
+ });
133
+ }
134
+ exports.listTestSuitesByWorkflowQuery = `-- name: ListTestSuitesByWorkflow :many
135
+ SELECT s.id, s.project_id, s.name, s.description, s.status, s.goal, s.current_version, s.execution_profile, s.metadata, s.created_at, s.updated_at, s.archived_at
136
+ FROM weave_v1.test_suite s
137
+ INNER JOIN weave_v1.workflow_test_suite b
138
+ ON b.test_suite_id = s.id
139
+ AND b.project_id = s.project_id
140
+ WHERE b.project_id = $1
141
+ AND b.workflow_id = $2
142
+ AND ($3::BOOLEAN OR s.archived_at IS NULL)
143
+ ORDER BY s.updated_at DESC
144
+ LIMIT $5
145
+ OFFSET $4`;
146
+ async function listTestSuitesByWorkflow(client, args) {
147
+ const result = await client.query({
148
+ text: exports.listTestSuitesByWorkflowQuery,
149
+ values: [args.projectId, args.workflowId, args.includeArchived, args.pageOffset, args.pageSize],
150
+ rowMode: "array"
151
+ });
152
+ return result.rows.map(row => {
153
+ return {
154
+ id: row[0],
155
+ projectId: row[1],
156
+ name: row[2],
157
+ description: row[3],
158
+ status: row[4],
159
+ goal: row[5],
160
+ currentVersion: row[6],
161
+ executionProfile: row[7],
162
+ metadata: row[8],
163
+ createdAt: row[9],
164
+ updatedAt: row[10],
165
+ archivedAt: row[11]
166
+ };
167
+ });
168
+ }
169
+ exports.updateTestSuiteQuery = `-- name: UpdateTestSuite :one
170
+ UPDATE weave_v1.test_suite
171
+ SET name = $1,
172
+ description = $2,
173
+ status = $3,
174
+ goal = $4,
175
+ current_version = $5,
176
+ execution_profile = $6,
177
+ metadata = $7,
178
+ updated_at = NOW()
179
+ WHERE id = $8
180
+ AND project_id = $9
181
+ RETURNING id, project_id, name, description, status, goal, current_version, execution_profile, metadata, created_at, updated_at, archived_at`;
182
+ async function updateTestSuite(client, args) {
183
+ const result = await client.query({
184
+ text: exports.updateTestSuiteQuery,
185
+ values: [args.name, args.description, args.status, args.goal, args.currentVersion, args.executionProfile, args.metadata, args.id, args.projectId],
186
+ rowMode: "array"
187
+ });
188
+ if (result.rows.length !== 1) {
189
+ return null;
190
+ }
191
+ const row = result.rows[0];
192
+ return {
193
+ id: row[0],
194
+ projectId: row[1],
195
+ name: row[2],
196
+ description: row[3],
197
+ status: row[4],
198
+ goal: row[5],
199
+ currentVersion: row[6],
200
+ executionProfile: row[7],
201
+ metadata: row[8],
202
+ createdAt: row[9],
203
+ updatedAt: row[10],
204
+ archivedAt: row[11]
205
+ };
206
+ }
207
+ exports.archiveTestSuiteQuery = `-- name: ArchiveTestSuite :one
208
+ UPDATE weave_v1.test_suite
209
+ SET status = 'archived',
210
+ archived_at = NOW(),
211
+ updated_at = NOW()
212
+ WHERE id = $1
213
+ AND project_id = $2
214
+ RETURNING id, project_id, name, description, status, goal, current_version, execution_profile, metadata, created_at, updated_at, archived_at`;
215
+ async function archiveTestSuite(client, args) {
216
+ const result = await client.query({
217
+ text: exports.archiveTestSuiteQuery,
218
+ values: [args.id, args.projectId],
219
+ rowMode: "array"
220
+ });
221
+ if (result.rows.length !== 1) {
222
+ return null;
223
+ }
224
+ const row = result.rows[0];
225
+ return {
226
+ id: row[0],
227
+ projectId: row[1],
228
+ name: row[2],
229
+ description: row[3],
230
+ status: row[4],
231
+ goal: row[5],
232
+ currentVersion: row[6],
233
+ executionProfile: row[7],
234
+ metadata: row[8],
235
+ createdAt: row[9],
236
+ updatedAt: row[10],
237
+ archivedAt: row[11]
238
+ };
239
+ }
240
+ exports.deleteTestSuiteQuery = `-- name: DeleteTestSuite :exec
241
+ DELETE
242
+ FROM weave_v1.test_suite
243
+ WHERE id = $1
244
+ AND project_id = $2`;
245
+ async function deleteTestSuite(client, args) {
246
+ await client.query({
247
+ text: exports.deleteTestSuiteQuery,
248
+ values: [args.id, args.projectId],
249
+ rowMode: "array"
250
+ });
251
+ }
252
+ exports.attachTestSuiteToWorkflowQuery = `-- name: AttachTestSuiteToWorkflow :one
253
+ INSERT INTO weave_v1.workflow_test_suite (
254
+ project_id,
255
+ workflow_id,
256
+ test_suite_id,
257
+ attached_by,
258
+ metadata
259
+ )
260
+ VALUES (
261
+ $1,
262
+ $2,
263
+ $3,
264
+ $4,
265
+ $5
266
+ )
267
+ ON CONFLICT (workflow_id, test_suite_id) DO UPDATE
268
+ SET attached_by = EXCLUDED.attached_by,
269
+ metadata = EXCLUDED.metadata,
270
+ attached_at = NOW()
271
+ RETURNING project_id, workflow_id, test_suite_id, attached_by, metadata, attached_at`;
272
+ async function attachTestSuiteToWorkflow(client, args) {
273
+ const result = await client.query({
274
+ text: exports.attachTestSuiteToWorkflowQuery,
275
+ values: [args.projectId, args.workflowId, args.testSuiteId, args.attachedBy, args.metadata],
276
+ rowMode: "array"
277
+ });
278
+ if (result.rows.length !== 1) {
279
+ return null;
280
+ }
281
+ const row = result.rows[0];
282
+ return {
283
+ projectId: row[0],
284
+ workflowId: row[1],
285
+ testSuiteId: row[2],
286
+ attachedBy: row[3],
287
+ metadata: row[4],
288
+ attachedAt: row[5]
289
+ };
290
+ }
291
+ exports.detachTestSuiteFromWorkflowQuery = `-- name: DetachTestSuiteFromWorkflow :exec
292
+ DELETE
293
+ FROM weave_v1.workflow_test_suite
294
+ WHERE project_id = $1
295
+ AND workflow_id = $2
296
+ AND test_suite_id = $3`;
297
+ async function detachTestSuiteFromWorkflow(client, args) {
298
+ await client.query({
299
+ text: exports.detachTestSuiteFromWorkflowQuery,
300
+ values: [args.projectId, args.workflowId, args.testSuiteId],
301
+ rowMode: "array"
302
+ });
303
+ }
304
+ exports.listWorkflowTestSuiteBindingsQuery = `-- name: ListWorkflowTestSuiteBindings :many
305
+ SELECT project_id, workflow_id, test_suite_id, attached_by, metadata, attached_at
306
+ FROM weave_v1.workflow_test_suite
307
+ WHERE project_id = $1
308
+ AND workflow_id = $2
309
+ ORDER BY attached_at DESC
310
+ LIMIT $4
311
+ OFFSET $3`;
312
+ async function listWorkflowTestSuiteBindings(client, args) {
313
+ const result = await client.query({
314
+ text: exports.listWorkflowTestSuiteBindingsQuery,
315
+ values: [args.projectId, args.workflowId, args.pageOffset, args.pageSize],
316
+ rowMode: "array"
317
+ });
318
+ return result.rows.map(row => {
319
+ return {
320
+ projectId: row[0],
321
+ workflowId: row[1],
322
+ testSuiteId: row[2],
323
+ attachedBy: row[3],
324
+ metadata: row[4],
325
+ attachedAt: row[5]
326
+ };
327
+ });
328
+ }
329
+ exports.upsertTestSuiteItemQuery = `-- name: UpsertTestSuiteItem :one
330
+ INSERT INTO weave_v1.test_suite_item (
331
+ id,
332
+ test_suite_id,
333
+ test_case_id,
334
+ test_script_id,
335
+ position,
336
+ is_required,
337
+ metadata
338
+ )
339
+ VALUES (
340
+ $1,
341
+ $2,
342
+ $3,
343
+ $4,
344
+ $5,
345
+ $6,
346
+ $7
347
+ )
348
+ ON CONFLICT (test_suite_id, position) DO UPDATE
349
+ SET test_case_id = EXCLUDED.test_case_id,
350
+ test_script_id = EXCLUDED.test_script_id,
351
+ is_required = EXCLUDED.is_required,
352
+ metadata = EXCLUDED.metadata,
353
+ updated_at = NOW()
354
+ RETURNING id, test_suite_id, test_case_id, test_script_id, position, is_required, metadata, created_at, updated_at`;
355
+ async function upsertTestSuiteItem(client, args) {
356
+ const result = await client.query({
357
+ text: exports.upsertTestSuiteItemQuery,
358
+ values: [args.id, args.testSuiteId, args.testCaseId, args.testScriptId, args.position, args.isRequired, args.metadata],
359
+ rowMode: "array"
360
+ });
361
+ if (result.rows.length !== 1) {
362
+ return null;
363
+ }
364
+ const row = result.rows[0];
365
+ return {
366
+ id: row[0],
367
+ testSuiteId: row[1],
368
+ testCaseId: row[2],
369
+ testScriptId: row[3],
370
+ position: row[4],
371
+ isRequired: row[5],
372
+ metadata: row[6],
373
+ createdAt: row[7],
374
+ updatedAt: row[8]
375
+ };
376
+ }
377
+ exports.listTestSuiteItemsQuery = `-- name: ListTestSuiteItems :many
378
+ SELECT si.id, si.test_suite_id, si.test_case_id, si.test_script_id, si.position, si.is_required, si.metadata, si.created_at, si.updated_at
379
+ FROM weave_v1.test_suite_item si
380
+ INNER JOIN weave_v1.test_suite s ON s.id = si.test_suite_id
381
+ WHERE si.test_suite_id = $1
382
+ AND s.project_id = $2
383
+ ORDER BY si.position`;
384
+ async function listTestSuiteItems(client, args) {
385
+ const result = await client.query({
386
+ text: exports.listTestSuiteItemsQuery,
387
+ values: [args.testSuiteId, args.projectId],
388
+ rowMode: "array"
389
+ });
390
+ return result.rows.map(row => {
391
+ return {
392
+ id: row[0],
393
+ testSuiteId: row[1],
394
+ testCaseId: row[2],
395
+ testScriptId: row[3],
396
+ position: row[4],
397
+ isRequired: row[5],
398
+ metadata: row[6],
399
+ createdAt: row[7],
400
+ updatedAt: row[8]
401
+ };
402
+ });
403
+ }
404
+ exports.deleteTestSuiteItemQuery = `-- name: DeleteTestSuiteItem :exec
405
+ DELETE
406
+ FROM weave_v1.test_suite_item si
407
+ USING weave_v1.test_suite s
408
+ WHERE si.id = $1
409
+ AND si.test_suite_id = $2
410
+ AND s.id = si.test_suite_id
411
+ AND s.project_id = $3`;
412
+ async function deleteTestSuiteItem(client, args) {
413
+ await client.query({
414
+ text: exports.deleteTestSuiteItemQuery,
415
+ values: [args.id, args.testSuiteId, args.projectId],
416
+ rowMode: "array"
417
+ });
418
+ }
419
+ exports.upsertDataBindingTemplateQuery = `-- name: UpsertDataBindingTemplate :one
420
+ INSERT INTO weave_v1.data_binding_template (
421
+ id,
422
+ project_id,
423
+ name,
424
+ description,
425
+ target_scope,
426
+ test_script_id,
427
+ test_suite_id,
428
+ binding_spec,
429
+ metadata
430
+ )
431
+ VALUES (
432
+ $1,
433
+ $2,
434
+ $3,
435
+ $4,
436
+ $5,
437
+ $6,
438
+ $7,
439
+ $8,
440
+ $9
441
+ )
442
+ ON CONFLICT (id) DO UPDATE
443
+ SET name = EXCLUDED.name,
444
+ description = EXCLUDED.description,
445
+ target_scope = EXCLUDED.target_scope,
446
+ test_script_id = EXCLUDED.test_script_id,
447
+ test_suite_id = EXCLUDED.test_suite_id,
448
+ binding_spec = EXCLUDED.binding_spec,
449
+ metadata = EXCLUDED.metadata,
450
+ updated_at = NOW()
451
+ RETURNING id, project_id, name, description, target_scope, test_script_id, test_suite_id, binding_spec, metadata, created_at, updated_at, archived_at`;
452
+ async function upsertDataBindingTemplate(client, args) {
453
+ const result = await client.query({
454
+ text: exports.upsertDataBindingTemplateQuery,
455
+ values: [args.id, args.projectId, args.name, args.description, args.targetScope, args.testScriptId, args.testSuiteId, args.bindingSpec, args.metadata],
456
+ rowMode: "array"
457
+ });
458
+ if (result.rows.length !== 1) {
459
+ return null;
460
+ }
461
+ const row = result.rows[0];
462
+ return {
463
+ id: row[0],
464
+ projectId: row[1],
465
+ name: row[2],
466
+ description: row[3],
467
+ targetScope: row[4],
468
+ testScriptId: row[5],
469
+ testSuiteId: row[6],
470
+ bindingSpec: row[7],
471
+ metadata: row[8],
472
+ createdAt: row[9],
473
+ updatedAt: row[10],
474
+ archivedAt: row[11]
475
+ };
476
+ }
477
+ exports.listDataBindingTemplatesByProjectQuery = `-- name: ListDataBindingTemplatesByProject :many
478
+ SELECT id, project_id, name, description, target_scope, test_script_id, test_suite_id, binding_spec, metadata, created_at, updated_at, archived_at
479
+ FROM weave_v1.data_binding_template
480
+ WHERE project_id = $1
481
+ AND ($2::BOOLEAN OR archived_at IS NULL)
482
+ ORDER BY updated_at DESC
483
+ LIMIT $4
484
+ OFFSET $3`;
485
+ async function listDataBindingTemplatesByProject(client, args) {
486
+ const result = await client.query({
487
+ text: exports.listDataBindingTemplatesByProjectQuery,
488
+ values: [args.projectId, args.includeArchived, args.pageOffset, args.pageSize],
489
+ rowMode: "array"
490
+ });
491
+ return result.rows.map(row => {
492
+ return {
493
+ id: row[0],
494
+ projectId: row[1],
495
+ name: row[2],
496
+ description: row[3],
497
+ targetScope: row[4],
498
+ testScriptId: row[5],
499
+ testSuiteId: row[6],
500
+ bindingSpec: row[7],
501
+ metadata: row[8],
502
+ createdAt: row[9],
503
+ updatedAt: row[10],
504
+ archivedAt: row[11]
505
+ };
506
+ });
507
+ }
508
+ exports.listDataBindingTemplatesByWorkflowQuery = `-- name: ListDataBindingTemplatesByWorkflow :many
509
+ SELECT t.id, t.project_id, t.name, t.description, t.target_scope, t.test_script_id, t.test_suite_id, t.binding_spec, t.metadata, t.created_at, t.updated_at, t.archived_at
510
+ FROM weave_v1.data_binding_template t
511
+ INNER JOIN weave_v1.workflow_data_binding_template b
512
+ ON b.data_binding_template_id = t.id
513
+ AND b.project_id = t.project_id
514
+ WHERE b.project_id = $1
515
+ AND b.workflow_id = $2
516
+ AND ($3::BOOLEAN OR t.archived_at IS NULL)
517
+ ORDER BY t.updated_at DESC
518
+ LIMIT $5
519
+ OFFSET $4`;
520
+ async function listDataBindingTemplatesByWorkflow(client, args) {
521
+ const result = await client.query({
522
+ text: exports.listDataBindingTemplatesByWorkflowQuery,
523
+ values: [args.projectId, args.workflowId, args.includeArchived, args.pageOffset, args.pageSize],
524
+ rowMode: "array"
525
+ });
526
+ return result.rows.map(row => {
527
+ return {
528
+ id: row[0],
529
+ projectId: row[1],
530
+ name: row[2],
531
+ description: row[3],
532
+ targetScope: row[4],
533
+ testScriptId: row[5],
534
+ testSuiteId: row[6],
535
+ bindingSpec: row[7],
536
+ metadata: row[8],
537
+ createdAt: row[9],
538
+ updatedAt: row[10],
539
+ archivedAt: row[11]
540
+ };
541
+ });
542
+ }
543
+ exports.attachDataBindingTemplateToWorkflowQuery = `-- name: AttachDataBindingTemplateToWorkflow :one
544
+ INSERT INTO weave_v1.workflow_data_binding_template (
545
+ project_id,
546
+ workflow_id,
547
+ data_binding_template_id,
548
+ attached_by,
549
+ metadata
550
+ )
551
+ VALUES (
552
+ $1,
553
+ $2,
554
+ $3,
555
+ $4,
556
+ $5
557
+ )
558
+ ON CONFLICT (workflow_id, data_binding_template_id) DO UPDATE
559
+ SET attached_by = EXCLUDED.attached_by,
560
+ metadata = EXCLUDED.metadata,
561
+ attached_at = NOW()
562
+ RETURNING project_id, workflow_id, data_binding_template_id, attached_by, metadata, attached_at`;
563
+ async function attachDataBindingTemplateToWorkflow(client, args) {
564
+ const result = await client.query({
565
+ text: exports.attachDataBindingTemplateToWorkflowQuery,
566
+ values: [args.projectId, args.workflowId, args.dataBindingTemplateId, args.attachedBy, args.metadata],
567
+ rowMode: "array"
568
+ });
569
+ if (result.rows.length !== 1) {
570
+ return null;
571
+ }
572
+ const row = result.rows[0];
573
+ return {
574
+ projectId: row[0],
575
+ workflowId: row[1],
576
+ dataBindingTemplateId: row[2],
577
+ attachedBy: row[3],
578
+ metadata: row[4],
579
+ attachedAt: row[5]
580
+ };
581
+ }
582
+ exports.detachDataBindingTemplateFromWorkflowQuery = `-- name: DetachDataBindingTemplateFromWorkflow :exec
583
+ DELETE
584
+ FROM weave_v1.workflow_data_binding_template
585
+ WHERE project_id = $1
586
+ AND workflow_id = $2
587
+ AND data_binding_template_id = $3`;
588
+ async function detachDataBindingTemplateFromWorkflow(client, args) {
589
+ await client.query({
590
+ text: exports.detachDataBindingTemplateFromWorkflowQuery,
591
+ values: [args.projectId, args.workflowId, args.dataBindingTemplateId],
592
+ rowMode: "array"
593
+ });
594
+ }
595
+ exports.listWorkflowDataBindingTemplateBindingsQuery = `-- name: ListWorkflowDataBindingTemplateBindings :many
596
+ SELECT project_id, workflow_id, data_binding_template_id, attached_by, metadata, attached_at
597
+ FROM weave_v1.workflow_data_binding_template
598
+ WHERE project_id = $1
599
+ AND workflow_id = $2
600
+ ORDER BY attached_at DESC
601
+ LIMIT $4
602
+ OFFSET $3`;
603
+ async function listWorkflowDataBindingTemplateBindings(client, args) {
604
+ const result = await client.query({
605
+ text: exports.listWorkflowDataBindingTemplateBindingsQuery,
606
+ values: [args.projectId, args.workflowId, args.pageOffset, args.pageSize],
607
+ rowMode: "array"
608
+ });
609
+ return result.rows.map(row => {
610
+ return {
611
+ projectId: row[0],
612
+ workflowId: row[1],
613
+ dataBindingTemplateId: row[2],
614
+ attachedBy: row[3],
615
+ metadata: row[4],
616
+ attachedAt: row[5]
617
+ };
618
+ });
619
+ }
620
+ exports.deleteDataBindingTemplateQuery = `-- name: DeleteDataBindingTemplate :exec
621
+ DELETE
622
+ FROM weave_v1.data_binding_template
623
+ WHERE id = $1
624
+ AND project_id = $2`;
625
+ async function deleteDataBindingTemplate(client, args) {
626
+ await client.query({
627
+ text: exports.deleteDataBindingTemplateQuery,
628
+ values: [args.id, args.projectId],
629
+ rowMode: "array"
630
+ });
631
+ }