This repository has been archived by the owner on Jan 23, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmapping_schema.json
219 lines (219 loc) · 7.9 KB
/
mapping_schema.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"version": {
"type": "integer",
"description": "Version of this mapping representation",
"const": 1.0
},
"context": {
"type": "string",
"description": "The name of the Bounded Context to which this mapping belongs",
"minLength": 1
},
"server_info": {
"type": "array",
"description": "List of different hosts",
"uniqueItems": true,
"items": {
"type": "object",
"properties": {
"host": {
"type": "string",
"description": "URL of this host, also logical URLs",
"examples": ["localhost:8080", "10.10.110.1:5782", "https://aws.amazon.com/dqualizer-runtime-testing-tool/"]
},
"environment": {
"type": "string",
"description": "The environment this host belongs to",
"examples": ["PROD", "TEST", "INT", "QUAL"]
}
},
"required": [
"host",
"environment"
],
"additionalProperties": false
}
},
"objects": {
"type": "array",
"description": "List of technical entities that represent Work Objects and Actors from Domain Stories",
"uniqueItems": true,
"items": {
"type": "object",
"properties": {
"dq_id": {
"type": "string",
"description": "Unique ID, which references this object within dqualizer"
},
"name": {
"type": "string",
"description": "Name of this object inside the Domain Story, if this object is not part of a domain story, use the class name"
},
"operation_id": {
"type": "string",
"description": "Fully qualified name of this artifact",
"examples": ["wps.arthousecinema.app.KinoApp"]
},
"type": {
"type": "string",
"description": "Type of this object",
"enum": ["module", "class", "interface", "variable"]
},
"implements": {
"type": "array",
"description": "References to interfaces or abstract classes that are implemented by this object",
"uniqueItems": true,
"items": {
"type": "string"
}
},
"objects": {
"type": "array",
"description": "References to other objects that are inside this class",
"uniqueItems": true,
"items": {
"type": "string"
}
},
"activities": {
"type": "array",
"description": "List of objects that represent Activities from Domain Stories",
"items": {
"type": "object",
"uniqueItems": true,
"properties": {
"dq_id": {
"type": "string",
"description": "Unique ID, which references this object within dqualizer"
},
"name": {
"type": "string",
"description": "Name of this object inside the Domain Story"
},
"operation_id": {
"type": "string",
"description": "Name of this object inside the source code"
},
"type": {
"type": "string",
"description": "Type of this object",
"enum": ["method", "class"]
},
"parameter": {
"type": "array",
"uniqueItems": true,
"description": "Parameter for this object",
"items": {
"type": "string"
}
},
"endpoint": {
"type": "object",
"description": "Information about the API endpoint of this object",
"properties": {
"field": {
"type": "string",
"description": "Location of this endpoint",
"examples": ["/kinoapp/{version}/open", "/graphql"]
},
"operation": {
"type": "string",
"description": "Operation of this object",
"examples": ["GET", "POST", "QUERY", "MUTATION"]
},
"path_variables": {
"type": "object",
"description": "References to data sources that can be used for url parameters, like Ids, for this method",
"patternProperties": {
".*": {
"type": "string"
}
}
},
"url_parameter": {
"type": "object",
"description": "References to data sources that can be used for url parameters for this method",
"patternProperties": {
".*": {
"type": "string"
}
}
},
"request_parameter": {
"type": "object",
"description": "References to data sources that can be used for request parameters, like headers or cookies, for this method",
"patternProperties": {
".*": {
"type": "string"
}
}
},
"payload": {
"type": "object",
"description": "References to data sources that can be used for payload bodies for this method",
"patternProperties": {
".*": {
"type": "string"
}
}
},
"responses": {
"type": "array",
"description": "Anything, that this endpoints returns",
"uniqueItems": true,
"items": {
"type": "object",
"properties": {
"expected_code": {
"type": "integer"
},
"type": {
"type": "string"
}
}
}
}
},
"required": [
"field",
"operation",
"path_variables",
"url_parameter",
"request_parameter",
"payload",
"responses"
]
}
},
"required": [
"dq_id",
"name",
"operation_id",
"type",
"parameter"
],
"additionalProperties": false
}
}
},
"required": [
"dq_id",
"name",
"operation_id",
"type"
],
"additionalProperties": false
}
}
},
"required": [
"version",
"context",
"server_info",
"objects"
],
"additionalProperties": false
}