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.
- package/dist/weaveapi/data/v1/data.pb.d.ts +54 -0
- package/dist/weaveapi/data/v1/data.pb.js +411 -0
- package/dist/weaveapi/data/v1/service.pb.d.ts +296 -0
- package/dist/weaveapi/data/v1/service.pb.js +2779 -0
- package/dist/weaveapi/input/v1/input.pb.d.ts +77 -0
- package/dist/weaveapi/input/v1/input.pb.js +632 -0
- package/dist/weaveapi/input/v1/service.pb.d.ts +390 -0
- package/dist/weaveapi/input/v1/service.pb.js +3612 -0
- package/dist/weaveapi/integration/v1/integration.pb.d.ts +67 -0
- package/dist/weaveapi/integration/v1/integration.pb.js +486 -0
- package/dist/weaveapi/integration/v1/service.pb.d.ts +318 -0
- package/dist/weaveapi/integration/v1/service.pb.js +2994 -0
- 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 +81 -0
- package/dist/weaveapi/report/v1/report.pb.js +678 -0
- package/dist/weaveapi/report/v1/service.pb.d.ts +194 -0
- package/dist/weaveapi/report/v1/service.pb.js +1925 -0
- package/dist/weaveapi/requirement/v1/requirement.pb.d.ts +70 -0
- package/dist/weaveapi/requirement/v1/requirement.pb.js +570 -0
- package/dist/weaveapi/requirement/v1/service.pb.d.ts +390 -0
- package/dist/weaveapi/requirement/v1/service.pb.js +3638 -0
- package/dist/weaveapi/run/v1/run.pb.d.ts +117 -0
- package/dist/weaveapi/run/v1/run.pb.js +1155 -0
- package/dist/weaveapi/run/v1/service.pb.d.ts +229 -0
- package/dist/weaveapi/run/v1/service.pb.js +2428 -0
- package/dist/weaveapi/script/v1/script.pb.d.ts +102 -0
- package/dist/weaveapi/script/v1/script.pb.js +1025 -0
- package/dist/weaveapi/script/v1/service.pb.d.ts +502 -0
- package/dist/weaveapi/script/v1/service.pb.js +4873 -0
- package/dist/weaveapi/storage/v1/service.pb.d.ts +4 -0
- package/dist/weaveapi/storage/v1/service.pb.js +50 -7
- package/dist/weaveapi/storage/v1/storage.pb.d.ts +2 -0
- package/dist/weaveapi/storage/v1/storage.pb.js +23 -0
- package/dist/weaveapi/storage/v1/vcs.pb.d.ts +75 -0
- package/dist/weaveapi/storage/v1/vcs.pb.js +864 -0
- package/dist/weaveapi/suite/v1/service.pb.d.ts +539 -0
- package/dist/weaveapi/suite/v1/service.pb.js +5281 -0
- package/dist/weaveapi/suite/v1/suite.pb.d.ts +92 -0
- package/dist/weaveapi/suite/v1/suite.pb.js +876 -0
- package/dist/weaveapi/testcase/v1/service.pb.d.ts +498 -0
- package/dist/weaveapi/testcase/v1/service.pb.js +4730 -0
- package/dist/weaveapi/testcase/v1/testcase.pb.d.ts +91 -0
- package/dist/weaveapi/testcase/v1/testcase.pb.js +794 -0
- 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 +206 -0
- package/dist/weavesql/weavedb/data_asset_sql.js +335 -0
- package/dist/weavesql/weavedb/input_sql.d.ts +293 -0
- package/dist/weavesql/weavedb/input_sql.js +500 -0
- package/dist/weavesql/weavedb/integration_sql.d.ts +236 -0
- package/dist/weavesql/weavedb/integration_sql.js +377 -0
- 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 +192 -0
- package/dist/weavesql/weavedb/report_sql.js +308 -0
- package/dist/weavesql/weavedb/requirement_sql.d.ts +231 -0
- package/dist/weavesql/weavedb/requirement_sql.js +399 -0
- package/dist/weavesql/weavedb/run_sql.d.ts +283 -0
- package/dist/weavesql/weavedb/run_sql.js +462 -0
- package/dist/weavesql/weavedb/suite_sql.d.ts +354 -0
- package/dist/weavesql/weavedb/suite_sql.js +631 -0
- package/dist/weavesql/weavedb/test_case_sql.d.ts +325 -0
- package/dist/weavesql/weavedb/test_case_sql.js +563 -0
- package/dist/weavesql/weavedb/test_script_sql.d.ts +354 -0
- package/dist/weavesql/weavedb/test_script_sql.js +605 -0
- package/dist/weavesql/weavedb/traceability_sql.d.ts +117 -0
- package/dist/weavesql/weavedb/traceability_sql.js +363 -0
- package/dist/weavesql/weavedb/workflow_sql.d.ts +30 -5
- package/dist/weavesql/weavedb/workflow_sql.js +76 -38
- 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
|
+
}
|