forked from melloware/quarkus-primereact
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcars-openapi.yaml
259 lines (259 loc) · 6.6 KB
/
cars-openapi.yaml
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
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
---
openapi: 3.0.3
info:
title: Rust React Monorepo
description: Rust monorepo demonstrating Actix Web REST server with PrimeReact
UI client
contact:
name: Melloware
url: https://melloware.com
email: [email protected]
version: 1.0.0
tags:
- name: Car Resource
description: CRUD operations for the Car entity.
paths:
/entity/cars:
get:
tags:
- Car Resource
parameters:
- name: request
in: query
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/QueryResponseCar'
post:
tags:
- Car Resource
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Car'
responses:
"200":
description: OK
/entity/cars/manufacturers:
get:
tags:
- Car Resource
responses:
"200":
description: OK
content:
application/json:
schema:
type: array
items:
type: string
/entity/cars/{id}:
get:
tags:
- Car Resource
parameters:
- name: id
in: path
required: true
schema:
format: int64
minimum: 0
type: integer
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Car'
put:
tags:
- Car Resource
parameters:
- name: id
in: path
required: true
schema:
format: int64
minimum: 0
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Car'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Car'
delete:
tags:
- Car Resource
parameters:
- name: id
in: path
required: true
schema:
format: int64
minimum: 0
type: integer
responses:
"200":
description: OK
components:
schemas:
Car:
description: Entity that represents a car.
required:
- vin
- make
- model
- year
- color
- price
type: object
properties:
id:
format: int64
type: integer
vin:
description: VIN number
pattern: \S
type: string
example: WVGEF9BP4DD085048
make:
description: Manufacturer
pattern: \S
type: string
example: BMW
model:
description: Model Number
pattern: \S
type: string
example: 330ix
year:
format: int32
description: Year of manufacture
minimum: 1960
type: integer
example: 1974
color:
description: HTML color of the car
pattern: \S
type: string
example: 891d4c
price:
description: Price
minimum: 0
type: number
example: 9999.99
modifiedTime:
allOf:
- $ref: '#/components/schemas/Instant'
- description: Modified time of the record
Instant:
format: date-time
type: string
example: 2022-03-10T16:15:50Z
MultiFilterMeta:
type: object
properties:
value:
description: Value to filter this column by
type: object
matchMode:
description: "Filter match mode e.g. equals, notEquals, contains, notContains,\
\ gt, gte, lt, lte"
type: string
example: equals
MultiSortMeta:
type: object
properties:
field:
description: Sort field for this multiple sort
type: string
example: lastName
order:
format: int32
description: "Sort order for this field either -1 desc, 0 none, 1 asc"
type: integer
example: 1
QueryRequest:
description: "Represents a PrimeReact query request from the UI for a complex\
\ datatable with multiple sorts, multiple filters, and pagination."
type: object
properties:
first:
format: int32
description: First record
type: integer
example: 1
rows:
format: int32
description: Number of rows
type: integer
example: 10
page:
format: int32
description: Page number
type: integer
example: 1
sortField:
description: Sort field if single field sorting
type: string
example: firstName
sortOrder:
format: int32
description: "Sort order if single field sorting either -1 desc, 0 none,\
\ 1 asc"
type: integer
example: 1
multiSortMeta:
description: Multiple sorting list of columns to sort and in which order
type: array
items:
$ref: '#/components/schemas/MultiSortMeta'
filters:
description: Map of columns being filtered and their filter criteria
type: object
additionalProperties:
$ref: '#/components/schemas/MultiFilterMeta'
QueryResponse:
description: "Represents a PrimeReact query response to the UI for a complex\
\ datatable with multiple sorts, multiple filters, and pagination."
type: object
properties:
totalRecords:
format: int64
description: Total records available by this query criteria
type: integer
example: 4128
records:
description: "Records for this set of pagination, sorting, filtering."
type: array
items:
type: object
QueryResponseCar:
description: "Represents a PrimeReact query response to the UI for a complex\
\ datatable with multiple sorts, multiple filters, and pagination."
type: object
properties:
totalRecords:
format: int64
description: Total records available by this query criteria
type: integer
example: 4128
records:
description: "Records for this set of pagination, sorting, filtering."
type: array
items:
$ref: '#/components/schemas/Car'