weave-typescript 0.11.15 → 0.11.17
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/weaveapi/data/v1/data.pb.d.ts +1 -1
- package/dist/weaveapi/data/v1/data.pb.js +11 -11
- package/dist/weaveapi/data/v1/service.pb.d.ts +89 -6
- package/dist/weaveapi/data/v1/service.pb.js +1195 -364
- package/dist/weaveapi/input/v1/input.pb.d.ts +1 -1
- package/dist/weaveapi/input/v1/input.pb.js +11 -11
- package/dist/weaveapi/input/v1/service.pb.d.ts +89 -10
- package/dist/weaveapi/input/v1/service.pb.js +1253 -642
- package/dist/weaveapi/integration/v1/integration.pb.d.ts +1 -1
- package/dist/weaveapi/integration/v1/integration.pb.js +11 -11
- package/dist/weaveapi/integration/v1/service.pb.d.ts +89 -7
- package/dist/weaveapi/integration/v1/service.pb.js +1164 -390
- package/dist/weaveapi/project/v1/project.pb.d.ts +1 -0
- package/dist/weaveapi/project/v1/project.pb.js +17 -1
- package/dist/weaveapi/project/v1/service.pb.d.ts +25 -0
- package/dist/weaveapi/project/v1/service.pb.js +248 -5
- package/dist/weaveapi/report/v1/report.pb.d.ts +2 -0
- package/dist/weaveapi/report/v1/report.pb.js +42 -2
- package/dist/weaveapi/report/v1/service.pb.d.ts +6 -6
- package/dist/weaveapi/report/v1/service.pb.js +416 -121
- package/dist/weaveapi/requirement/v1/requirement.pb.d.ts +1 -1
- package/dist/weaveapi/requirement/v1/requirement.pb.js +11 -11
- package/dist/weaveapi/requirement/v1/service.pb.d.ts +90 -10
- package/dist/weaveapi/requirement/v1/service.pb.js +1261 -601
- package/dist/weaveapi/run/v1/run.pb.d.ts +1 -0
- package/dist/weaveapi/run/v1/run.pb.js +21 -1
- package/dist/weaveapi/run/v1/service.pb.d.ts +6 -6
- package/dist/weaveapi/run/v1/service.pb.js +448 -126
- package/dist/weaveapi/script/v1/script.pb.d.ts +1 -1
- package/dist/weaveapi/script/v1/script.pb.js +11 -11
- package/dist/weaveapi/script/v1/service.pb.d.ts +90 -14
- package/dist/weaveapi/script/v1/service.pb.js +1404 -930
- package/dist/weaveapi/suite/v1/service.pb.d.ts +178 -12
- package/dist/weaveapi/suite/v1/service.pb.js +2631 -979
- package/dist/weaveapi/suite/v1/suite.pb.d.ts +2 -2
- package/dist/weaveapi/suite/v1/suite.pb.js +22 -22
- package/dist/weaveapi/testcase/v1/service.pb.d.ts +90 -14
- package/dist/weaveapi/testcase/v1/service.pb.js +1332 -856
- package/dist/weaveapi/testcase/v1/testcase.pb.d.ts +1 -1
- package/dist/weaveapi/testcase/v1/testcase.pb.js +11 -11
- package/dist/weaveapi/workflow/v1/service.pb.d.ts +26 -0
- package/dist/weaveapi/workflow/v1/service.pb.js +293 -5
- package/dist/weaveapi/workflow/v1/workflow.pb.d.ts +1 -0
- package/dist/weaveapi/workflow/v1/workflow.pb.js +17 -1
- package/dist/weavesql/weavedb/data_asset_sql.d.ts +81 -16
- package/dist/weavesql/weavedb/data_asset_sql.js +142 -24
- package/dist/weavesql/weavedb/input_sql.d.ts +88 -25
- package/dist/weavesql/weavedb/input_sql.js +150 -34
- package/dist/weavesql/weavedb/integration_sql.d.ts +85 -19
- package/dist/weavesql/weavedb/integration_sql.js +147 -28
- package/dist/weavesql/weavedb/project_sql.d.ts +29 -5
- package/dist/weavesql/weavedb/project_sql.js +73 -37
- package/dist/weavesql/weavedb/report_sql.d.ts +61 -7
- package/dist/weavesql/weavedb/report_sql.js +157 -81
- package/dist/weavesql/weavedb/requirement_sql.d.ts +83 -20
- package/dist/weavesql/weavedb/requirement_sql.js +144 -28
- package/dist/weavesql/weavedb/run_sql.d.ts +44 -8
- package/dist/weavesql/weavedb/run_sql.js +140 -93
- package/dist/weavesql/weavedb/suite_sql.d.ts +156 -30
- package/dist/weavesql/weavedb/suite_sql.js +274 -42
- package/dist/weavesql/weavedb/test_case_sql.d.ts +91 -27
- package/dist/weavesql/weavedb/test_case_sql.js +153 -36
- package/dist/weavesql/weavedb/test_script_sql.d.ts +91 -27
- package/dist/weavesql/weavedb/test_script_sql.js +153 -36
- package/dist/weavesql/weavedb/traceability_sql.d.ts +62 -4
- package/dist/weavesql/weavedb/traceability_sql.js +245 -37
- package/dist/weavesql/weavedb/workflow_sql.d.ts +30 -5
- package/dist/weavesql/weavedb/workflow_sql.js +76 -38
- package/package.json +1 -1
|
@@ -1,22 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.deleteDataBindingTemplateQuery = exports.
|
|
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
4
|
exports.createTestSuite = createTestSuite;
|
|
5
5
|
exports.getTestSuite = getTestSuite;
|
|
6
|
+
exports.listTestSuitesByProject = listTestSuitesByProject;
|
|
6
7
|
exports.listTestSuitesByWorkflow = listTestSuitesByWorkflow;
|
|
7
8
|
exports.updateTestSuite = updateTestSuite;
|
|
8
9
|
exports.archiveTestSuite = archiveTestSuite;
|
|
9
10
|
exports.deleteTestSuite = deleteTestSuite;
|
|
11
|
+
exports.attachTestSuiteToWorkflow = attachTestSuiteToWorkflow;
|
|
12
|
+
exports.detachTestSuiteFromWorkflow = detachTestSuiteFromWorkflow;
|
|
13
|
+
exports.listWorkflowTestSuiteBindings = listWorkflowTestSuiteBindings;
|
|
10
14
|
exports.upsertTestSuiteItem = upsertTestSuiteItem;
|
|
11
15
|
exports.listTestSuiteItems = listTestSuiteItems;
|
|
12
16
|
exports.deleteTestSuiteItem = deleteTestSuiteItem;
|
|
13
17
|
exports.upsertDataBindingTemplate = upsertDataBindingTemplate;
|
|
14
|
-
exports.
|
|
18
|
+
exports.listDataBindingTemplatesByProject = listDataBindingTemplatesByProject;
|
|
19
|
+
exports.listDataBindingTemplatesByWorkflow = listDataBindingTemplatesByWorkflow;
|
|
20
|
+
exports.attachDataBindingTemplateToWorkflow = attachDataBindingTemplateToWorkflow;
|
|
21
|
+
exports.detachDataBindingTemplateFromWorkflow = detachDataBindingTemplateFromWorkflow;
|
|
22
|
+
exports.listWorkflowDataBindingTemplateBindings = listWorkflowDataBindingTemplateBindings;
|
|
15
23
|
exports.deleteDataBindingTemplate = deleteDataBindingTemplate;
|
|
16
24
|
exports.createTestSuiteQuery = `-- name: CreateTestSuite :one
|
|
17
25
|
INSERT INTO weave_v1.test_suite (
|
|
18
26
|
id,
|
|
19
|
-
|
|
27
|
+
project_id,
|
|
20
28
|
name,
|
|
21
29
|
description,
|
|
22
30
|
status,
|
|
@@ -36,11 +44,11 @@ VALUES (
|
|
|
36
44
|
$8,
|
|
37
45
|
$9
|
|
38
46
|
)
|
|
39
|
-
RETURNING id,
|
|
47
|
+
RETURNING id, project_id, name, description, status, goal, current_version, execution_profile, metadata, created_at, updated_at, archived_at`;
|
|
40
48
|
async function createTestSuite(client, args) {
|
|
41
49
|
const result = await client.query({
|
|
42
50
|
text: exports.createTestSuiteQuery,
|
|
43
|
-
values: [args.id, args.
|
|
51
|
+
values: [args.id, args.projectId, args.name, args.description, args.status, args.goal, args.currentVersion, args.executionProfile, args.metadata],
|
|
44
52
|
rowMode: "array"
|
|
45
53
|
});
|
|
46
54
|
if (result.rows.length !== 1) {
|
|
@@ -49,7 +57,7 @@ async function createTestSuite(client, args) {
|
|
|
49
57
|
const row = result.rows[0];
|
|
50
58
|
return {
|
|
51
59
|
id: row[0],
|
|
52
|
-
|
|
60
|
+
projectId: row[1],
|
|
53
61
|
name: row[2],
|
|
54
62
|
description: row[3],
|
|
55
63
|
status: row[4],
|
|
@@ -63,14 +71,14 @@ async function createTestSuite(client, args) {
|
|
|
63
71
|
};
|
|
64
72
|
}
|
|
65
73
|
exports.getTestSuiteQuery = `-- name: GetTestSuite :one
|
|
66
|
-
SELECT id,
|
|
74
|
+
SELECT id, project_id, name, description, status, goal, current_version, execution_profile, metadata, created_at, updated_at, archived_at
|
|
67
75
|
FROM weave_v1.test_suite
|
|
68
76
|
WHERE id = $1
|
|
69
|
-
AND
|
|
77
|
+
AND project_id = $2`;
|
|
70
78
|
async function getTestSuite(client, args) {
|
|
71
79
|
const result = await client.query({
|
|
72
80
|
text: exports.getTestSuiteQuery,
|
|
73
|
-
values: [args.id, args.
|
|
81
|
+
values: [args.id, args.projectId],
|
|
74
82
|
rowMode: "array"
|
|
75
83
|
});
|
|
76
84
|
if (result.rows.length !== 1) {
|
|
@@ -79,7 +87,7 @@ async function getTestSuite(client, args) {
|
|
|
79
87
|
const row = result.rows[0];
|
|
80
88
|
return {
|
|
81
89
|
id: row[0],
|
|
82
|
-
|
|
90
|
+
projectId: row[1],
|
|
83
91
|
name: row[2],
|
|
84
92
|
description: row[3],
|
|
85
93
|
status: row[4],
|
|
@@ -92,24 +100,59 @@ async function getTestSuite(client, args) {
|
|
|
92
100
|
archivedAt: row[11]
|
|
93
101
|
};
|
|
94
102
|
}
|
|
95
|
-
exports.
|
|
96
|
-
SELECT id,
|
|
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
|
|
97
105
|
FROM weave_v1.test_suite
|
|
98
|
-
WHERE
|
|
106
|
+
WHERE project_id = $1
|
|
99
107
|
AND ($2::BOOLEAN OR archived_at IS NULL)
|
|
100
108
|
ORDER BY updated_at DESC
|
|
101
109
|
LIMIT $4
|
|
102
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`;
|
|
103
146
|
async function listTestSuitesByWorkflow(client, args) {
|
|
104
147
|
const result = await client.query({
|
|
105
148
|
text: exports.listTestSuitesByWorkflowQuery,
|
|
106
|
-
values: [args.workflowId, args.includeArchived, args.pageOffset, args.pageSize],
|
|
149
|
+
values: [args.projectId, args.workflowId, args.includeArchived, args.pageOffset, args.pageSize],
|
|
107
150
|
rowMode: "array"
|
|
108
151
|
});
|
|
109
152
|
return result.rows.map(row => {
|
|
110
153
|
return {
|
|
111
154
|
id: row[0],
|
|
112
|
-
|
|
155
|
+
projectId: row[1],
|
|
113
156
|
name: row[2],
|
|
114
157
|
description: row[3],
|
|
115
158
|
status: row[4],
|
|
@@ -134,12 +177,12 @@ SET name = $1,
|
|
|
134
177
|
metadata = $7,
|
|
135
178
|
updated_at = NOW()
|
|
136
179
|
WHERE id = $8
|
|
137
|
-
AND
|
|
138
|
-
RETURNING id,
|
|
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`;
|
|
139
182
|
async function updateTestSuite(client, args) {
|
|
140
183
|
const result = await client.query({
|
|
141
184
|
text: exports.updateTestSuiteQuery,
|
|
142
|
-
values: [args.name, args.description, args.status, args.goal, args.currentVersion, args.executionProfile, args.metadata, args.id, args.
|
|
185
|
+
values: [args.name, args.description, args.status, args.goal, args.currentVersion, args.executionProfile, args.metadata, args.id, args.projectId],
|
|
143
186
|
rowMode: "array"
|
|
144
187
|
});
|
|
145
188
|
if (result.rows.length !== 1) {
|
|
@@ -148,7 +191,7 @@ async function updateTestSuite(client, args) {
|
|
|
148
191
|
const row = result.rows[0];
|
|
149
192
|
return {
|
|
150
193
|
id: row[0],
|
|
151
|
-
|
|
194
|
+
projectId: row[1],
|
|
152
195
|
name: row[2],
|
|
153
196
|
description: row[3],
|
|
154
197
|
status: row[4],
|
|
@@ -167,12 +210,12 @@ SET status = 'archived',
|
|
|
167
210
|
archived_at = NOW(),
|
|
168
211
|
updated_at = NOW()
|
|
169
212
|
WHERE id = $1
|
|
170
|
-
AND
|
|
171
|
-
RETURNING id,
|
|
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`;
|
|
172
215
|
async function archiveTestSuite(client, args) {
|
|
173
216
|
const result = await client.query({
|
|
174
217
|
text: exports.archiveTestSuiteQuery,
|
|
175
|
-
values: [args.id, args.
|
|
218
|
+
values: [args.id, args.projectId],
|
|
176
219
|
rowMode: "array"
|
|
177
220
|
});
|
|
178
221
|
if (result.rows.length !== 1) {
|
|
@@ -181,7 +224,7 @@ async function archiveTestSuite(client, args) {
|
|
|
181
224
|
const row = result.rows[0];
|
|
182
225
|
return {
|
|
183
226
|
id: row[0],
|
|
184
|
-
|
|
227
|
+
projectId: row[1],
|
|
185
228
|
name: row[2],
|
|
186
229
|
description: row[3],
|
|
187
230
|
status: row[4],
|
|
@@ -198,14 +241,91 @@ exports.deleteTestSuiteQuery = `-- name: DeleteTestSuite :exec
|
|
|
198
241
|
DELETE
|
|
199
242
|
FROM weave_v1.test_suite
|
|
200
243
|
WHERE id = $1
|
|
201
|
-
AND
|
|
244
|
+
AND project_id = $2`;
|
|
202
245
|
async function deleteTestSuite(client, args) {
|
|
203
246
|
await client.query({
|
|
204
247
|
text: exports.deleteTestSuiteQuery,
|
|
205
|
-
values: [args.id, args.
|
|
248
|
+
values: [args.id, args.projectId],
|
|
206
249
|
rowMode: "array"
|
|
207
250
|
});
|
|
208
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
|
+
}
|
|
209
329
|
exports.upsertTestSuiteItemQuery = `-- name: UpsertTestSuiteItem :one
|
|
210
330
|
INSERT INTO weave_v1.test_suite_item (
|
|
211
331
|
id,
|
|
@@ -259,12 +379,12 @@ SELECT si.id, si.test_suite_id, si.test_case_id, si.test_script_id, si.position,
|
|
|
259
379
|
FROM weave_v1.test_suite_item si
|
|
260
380
|
INNER JOIN weave_v1.test_suite s ON s.id = si.test_suite_id
|
|
261
381
|
WHERE si.test_suite_id = $1
|
|
262
|
-
AND s.
|
|
382
|
+
AND s.project_id = $2
|
|
263
383
|
ORDER BY si.position`;
|
|
264
384
|
async function listTestSuiteItems(client, args) {
|
|
265
385
|
const result = await client.query({
|
|
266
386
|
text: exports.listTestSuiteItemsQuery,
|
|
267
|
-
values: [args.testSuiteId, args.
|
|
387
|
+
values: [args.testSuiteId, args.projectId],
|
|
268
388
|
rowMode: "array"
|
|
269
389
|
});
|
|
270
390
|
return result.rows.map(row => {
|
|
@@ -288,18 +408,18 @@ USING weave_v1.test_suite s
|
|
|
288
408
|
WHERE si.id = $1
|
|
289
409
|
AND si.test_suite_id = $2
|
|
290
410
|
AND s.id = si.test_suite_id
|
|
291
|
-
AND s.
|
|
411
|
+
AND s.project_id = $3`;
|
|
292
412
|
async function deleteTestSuiteItem(client, args) {
|
|
293
413
|
await client.query({
|
|
294
414
|
text: exports.deleteTestSuiteItemQuery,
|
|
295
|
-
values: [args.id, args.testSuiteId, args.
|
|
415
|
+
values: [args.id, args.testSuiteId, args.projectId],
|
|
296
416
|
rowMode: "array"
|
|
297
417
|
});
|
|
298
418
|
}
|
|
299
419
|
exports.upsertDataBindingTemplateQuery = `-- name: UpsertDataBindingTemplate :one
|
|
300
420
|
INSERT INTO weave_v1.data_binding_template (
|
|
301
421
|
id,
|
|
302
|
-
|
|
422
|
+
project_id,
|
|
303
423
|
name,
|
|
304
424
|
description,
|
|
305
425
|
target_scope,
|
|
@@ -328,11 +448,11 @@ SET name = EXCLUDED.name,
|
|
|
328
448
|
binding_spec = EXCLUDED.binding_spec,
|
|
329
449
|
metadata = EXCLUDED.metadata,
|
|
330
450
|
updated_at = NOW()
|
|
331
|
-
RETURNING id,
|
|
451
|
+
RETURNING id, project_id, name, description, target_scope, test_script_id, test_suite_id, binding_spec, metadata, created_at, updated_at, archived_at`;
|
|
332
452
|
async function upsertDataBindingTemplate(client, args) {
|
|
333
453
|
const result = await client.query({
|
|
334
454
|
text: exports.upsertDataBindingTemplateQuery,
|
|
335
|
-
values: [args.id, args.
|
|
455
|
+
values: [args.id, args.projectId, args.name, args.description, args.targetScope, args.testScriptId, args.testSuiteId, args.bindingSpec, args.metadata],
|
|
336
456
|
rowMode: "array"
|
|
337
457
|
});
|
|
338
458
|
if (result.rows.length !== 1) {
|
|
@@ -341,7 +461,7 @@ async function upsertDataBindingTemplate(client, args) {
|
|
|
341
461
|
const row = result.rows[0];
|
|
342
462
|
return {
|
|
343
463
|
id: row[0],
|
|
344
|
-
|
|
464
|
+
projectId: row[1],
|
|
345
465
|
name: row[2],
|
|
346
466
|
description: row[3],
|
|
347
467
|
targetScope: row[4],
|
|
@@ -354,24 +474,59 @@ async function upsertDataBindingTemplate(client, args) {
|
|
|
354
474
|
archivedAt: row[11]
|
|
355
475
|
};
|
|
356
476
|
}
|
|
357
|
-
exports.
|
|
358
|
-
SELECT id,
|
|
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
|
|
359
479
|
FROM weave_v1.data_binding_template
|
|
360
|
-
WHERE
|
|
480
|
+
WHERE project_id = $1
|
|
361
481
|
AND ($2::BOOLEAN OR archived_at IS NULL)
|
|
362
482
|
ORDER BY updated_at DESC
|
|
363
483
|
LIMIT $4
|
|
364
484
|
OFFSET $3`;
|
|
365
|
-
async function
|
|
485
|
+
async function listDataBindingTemplatesByProject(client, args) {
|
|
366
486
|
const result = await client.query({
|
|
367
|
-
text: exports.
|
|
368
|
-
values: [args.
|
|
487
|
+
text: exports.listDataBindingTemplatesByProjectQuery,
|
|
488
|
+
values: [args.projectId, args.includeArchived, args.pageOffset, args.pageSize],
|
|
369
489
|
rowMode: "array"
|
|
370
490
|
});
|
|
371
491
|
return result.rows.map(row => {
|
|
372
492
|
return {
|
|
373
493
|
id: row[0],
|
|
374
|
-
|
|
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],
|
|
375
530
|
name: row[2],
|
|
376
531
|
description: row[3],
|
|
377
532
|
targetScope: row[4],
|
|
@@ -385,15 +540,92 @@ async function listDataBindingTemplates(client, args) {
|
|
|
385
540
|
};
|
|
386
541
|
});
|
|
387
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
|
+
}
|
|
388
620
|
exports.deleteDataBindingTemplateQuery = `-- name: DeleteDataBindingTemplate :exec
|
|
389
621
|
DELETE
|
|
390
622
|
FROM weave_v1.data_binding_template
|
|
391
623
|
WHERE id = $1
|
|
392
|
-
AND
|
|
624
|
+
AND project_id = $2`;
|
|
393
625
|
async function deleteDataBindingTemplate(client, args) {
|
|
394
626
|
await client.query({
|
|
395
627
|
text: exports.deleteDataBindingTemplateQuery,
|
|
396
|
-
values: [args.id, args.
|
|
628
|
+
values: [args.id, args.projectId],
|
|
397
629
|
rowMode: "array"
|
|
398
630
|
});
|
|
399
631
|
}
|