Skip to content

Commit ae611bc

Browse files
authored
Stop generating errors for body inheritance (#3292)
1 parent ea3e9b6 commit ae611bc

File tree

2 files changed

+19
-86
lines changed

2 files changed

+19
-86
lines changed

compiler/src/steps/validate-model.ts

-5
Original file line numberDiff line numberDiff line change
@@ -397,11 +397,6 @@ export default async function validateModel (apiModel: model.Model, restSpec: Ma
397397
context.pop()
398398

399399
context.push('body')
400-
if (typeDef.inherits != null && typeDef.body.kind !== 'properties') {
401-
if (fqn(typeDef.inherits.type) !== '_types:RequestBase') {
402-
modelError('A request with inherited properties must have a PropertyBody')
403-
}
404-
}
405400
switch (typeDef.body.kind) {
406401
case 'properties':
407402
validateProperties(typeDef.body.properties, openGenerics, inheritedProps)

output/schema/validation-errors.json

+19-81
Original file line numberDiff line numberDiff line change
@@ -62,44 +62,27 @@
6262
],
6363
"response": []
6464
},
65-
"cat.aliases": {
66-
"request": [
67-
"request definition cat.aliases:Request / body - A request with inherited properties must have a PropertyBody"
68-
],
69-
"response": []
70-
},
7165
"cat.allocation": {
72-
"request": [
73-
"request definition cat.allocation:Request / body - A request with inherited properties must have a PropertyBody"
74-
],
66+
"request": [],
7567
"response": [
7668
"type_alias definition _spec_utils:Stringified / union_of / instance_of - No type definition for '_spec_utils.Stringified:T'"
7769
]
7870
},
79-
"cat.component_templates": {
80-
"request": [
81-
"request definition cat.component_templates:Request / body - A request with inherited properties must have a PropertyBody"
82-
],
83-
"response": []
84-
},
8571
"cat.count": {
8672
"request": [
87-
"Request: query parameter 'master_timeout' does not exist in the json spec",
88-
"request definition cat.count:Request / body - A request with inherited properties must have a PropertyBody"
73+
"Request: query parameter 'master_timeout' does not exist in the json spec"
8974
],
9075
"response": []
9176
},
9277
"cat.fielddata": {
9378
"request": [
94-
"Request: query parameter 'master_timeout' does not exist in the json spec",
95-
"request definition cat.fielddata:Request / body - A request with inherited properties must have a PropertyBody"
79+
"Request: query parameter 'master_timeout' does not exist in the json spec"
9680
],
9781
"response": []
9882
},
9983
"cat.health": {
10084
"request": [
101-
"Request: query parameter 'master_timeout' does not exist in the json spec",
102-
"request definition cat.health:Request / body - A request with inherited properties must have a PropertyBody"
85+
"Request: query parameter 'master_timeout' does not exist in the json spec"
10386
],
10487
"response": []
10588
},
@@ -108,47 +91,31 @@
10891
"Request: query parameter 'format' does not exist in the json spec",
10992
"Request: query parameter 'h' does not exist in the json spec",
11093
"Request: query parameter 'master_timeout' does not exist in the json spec",
111-
"Request: query parameter 'v' does not exist in the json spec",
112-
"request definition cat.help:Request / body - A request with inherited properties must have a PropertyBody"
113-
],
114-
"response": []
115-
},
116-
"cat.indices": {
117-
"request": [
118-
"request definition cat.indices:Request / body - A request with inherited properties must have a PropertyBody"
119-
],
120-
"response": []
121-
},
122-
"cat.master": {
123-
"request": [
124-
"request definition cat.master:Request / body - A request with inherited properties must have a PropertyBody"
94+
"Request: query parameter 'v' does not exist in the json spec"
12595
],
12696
"response": []
12797
},
12898
"cat.ml_data_frame_analytics": {
12999
"request": [
130100
"Request: query parameter 'master_timeout' does not exist in the json spec",
131101
"request definition cat.ml_data_frame_analytics:Request / query - Property 'h' is already defined in an ancestor class",
132-
"request definition cat.ml_data_frame_analytics:Request / query - Property 's' is already defined in an ancestor class",
133-
"request definition cat.ml_data_frame_analytics:Request / body - A request with inherited properties must have a PropertyBody"
102+
"request definition cat.ml_data_frame_analytics:Request / query - Property 's' is already defined in an ancestor class"
134103
],
135104
"response": []
136105
},
137106
"cat.ml_datafeeds": {
138107
"request": [
139108
"Request: query parameter 'master_timeout' does not exist in the json spec",
140109
"request definition cat.ml_datafeeds:Request / query - Property 'h' is already defined in an ancestor class",
141-
"request definition cat.ml_datafeeds:Request / query - Property 's' is already defined in an ancestor class",
142-
"request definition cat.ml_datafeeds:Request / body - A request with inherited properties must have a PropertyBody"
110+
"request definition cat.ml_datafeeds:Request / query - Property 's' is already defined in an ancestor class"
143111
],
144112
"response": []
145113
},
146114
"cat.ml_jobs": {
147115
"request": [
148116
"Request: query parameter 'master_timeout' does not exist in the json spec",
149117
"request definition cat.ml_jobs:Request / query - Property 'h' is already defined in an ancestor class",
150-
"request definition cat.ml_jobs:Request / query - Property 's' is already defined in an ancestor class",
151-
"request definition cat.ml_jobs:Request / body - A request with inherited properties must have a PropertyBody"
118+
"request definition cat.ml_jobs:Request / query - Property 's' is already defined in an ancestor class"
152119
],
153120
"response": []
154121
},
@@ -157,73 +124,58 @@
157124
"Request: query parameter 'master_timeout' does not exist in the json spec",
158125
"Request: missing json spec query parameter 'time'",
159126
"request definition cat.ml_trained_models:Request / query - Property 'h' is already defined in an ancestor class",
160-
"request definition cat.ml_trained_models:Request / query - Property 's' is already defined in an ancestor class",
161-
"request definition cat.ml_trained_models:Request / body - A request with inherited properties must have a PropertyBody"
162-
],
163-
"response": []
164-
},
165-
"cat.nodeattrs": {
166-
"request": [
167-
"request definition cat.nodeattrs:Request / body - A request with inherited properties must have a PropertyBody"
127+
"request definition cat.ml_trained_models:Request / query - Property 's' is already defined in an ancestor class"
168128
],
169129
"response": []
170130
},
171131
"cat.nodes": {
172132
"request": [
173-
"Request: missing json spec query parameter 'time'",
174-
"request definition cat.nodes:Request / body - A request with inherited properties must have a PropertyBody"
133+
"Request: missing json spec query parameter 'time'"
175134
],
176135
"response": []
177136
},
178137
"cat.pending_tasks": {
179138
"request": [
180-
"Request: missing json spec query parameter 'time'",
181-
"request definition cat.pending_tasks:Request / body - A request with inherited properties must have a PropertyBody"
139+
"Request: missing json spec query parameter 'time'"
182140
],
183141
"response": []
184142
},
185143
"cat.plugins": {
186144
"request": [
187-
"Request: missing json spec query parameter 'include_bootstrap'",
188-
"request definition cat.plugins:Request / body - A request with inherited properties must have a PropertyBody"
145+
"Request: missing json spec query parameter 'include_bootstrap'"
189146
],
190147
"response": []
191148
},
192149
"cat.recovery": {
193150
"request": [
194151
"Request: query parameter 'master_timeout' does not exist in the json spec",
195152
"Request: missing json spec query parameter 'index'",
196-
"Request: missing json spec query parameter 'time'",
197-
"request definition cat.recovery:Request / body - A request with inherited properties must have a PropertyBody"
153+
"Request: missing json spec query parameter 'time'"
198154
],
199155
"response": []
200156
},
201157
"cat.repositories": {
202158
"request": [
203-
"Request: missing json spec query parameter 'local'",
204-
"request definition cat.repositories:Request / body - A request with inherited properties must have a PropertyBody"
159+
"Request: missing json spec query parameter 'local'"
205160
],
206161
"response": []
207162
},
208163
"cat.segments": {
209164
"request": [
210165
"Request: query parameter 'local' does not exist in the json spec",
211-
"Request: query parameter 'master_timeout' does not exist in the json spec",
212-
"request definition cat.segments:Request / body - A request with inherited properties must have a PropertyBody"
166+
"Request: query parameter 'master_timeout' does not exist in the json spec"
213167
],
214168
"response": []
215169
},
216170
"cat.shards": {
217171
"request": [
218-
"Request: missing json spec query parameter 'time'",
219-
"request definition cat.shards:Request / body - A request with inherited properties must have a PropertyBody"
172+
"Request: missing json spec query parameter 'time'"
220173
],
221174
"response": []
222175
},
223176
"cat.snapshots": {
224177
"request": [
225-
"Request: missing json spec query parameter 'time'",
226-
"request definition cat.snapshots:Request / body - A request with inherited properties must have a PropertyBody"
178+
"Request: missing json spec query parameter 'time'"
227179
],
228180
"response": []
229181
},
@@ -232,29 +184,15 @@
232184
"Request: query parameter 'node_id' does not exist in the json spec",
233185
"Request: query parameter 'master_timeout' does not exist in the json spec",
234186
"Request: missing json spec query parameter 'nodes'",
235-
"Request: missing json spec query parameter 'time'",
236-
"request definition cat.tasks:Request / body - A request with inherited properties must have a PropertyBody"
237-
],
238-
"response": []
239-
},
240-
"cat.templates": {
241-
"request": [
242-
"request definition cat.templates:Request / body - A request with inherited properties must have a PropertyBody"
243-
],
244-
"response": []
245-
},
246-
"cat.thread_pool": {
247-
"request": [
248-
"request definition cat.thread_pool:Request / body - A request with inherited properties must have a PropertyBody"
187+
"Request: missing json spec query parameter 'time'"
249188
],
250189
"response": []
251190
},
252191
"cat.transforms": {
253192
"request": [
254193
"Request: query parameter 'master_timeout' does not exist in the json spec",
255194
"request definition cat.transforms:Request / query - Property 'h' is already defined in an ancestor class",
256-
"request definition cat.transforms:Request / query - Property 's' is already defined in an ancestor class",
257-
"request definition cat.transforms:Request / body - A request with inherited properties must have a PropertyBody"
195+
"request definition cat.transforms:Request / query - Property 's' is already defined in an ancestor class"
258196
],
259197
"response": []
260198
},

0 commit comments

Comments
 (0)