Skip to content

Commit 13633f5

Browse files
committed
Added pagination to further endpoints
Signed-off-by: Paul Horton <phorton@sonatype.com>
1 parent 09e6299 commit 13633f5

1 file changed

Lines changed: 117 additions & 69 deletions

File tree

spec/openapi.yaml

Lines changed: 117 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,10 @@ paths:
5252
description: UUID of TEA Product in the TEA server
5353
schema:
5454
"$ref": "#/components/schemas/uuid"
55-
- $ref: "#/components/parameters/page-offset"
5655
- $ref: "#/components/parameters/page-size"
56+
- $ref: "#/components/parameters/page-token"
57+
- $ref: "#/components/parameters/sort-field-product-release"
58+
- $ref: "#/components/parameters/sort-order"
5759
responses:
5860
'200':
5961
$ref: "#/components/responses/paginated-product-release"
@@ -116,10 +118,10 @@ paths:
116118
description: Returns a list of TEA product releases. Note that multiple product releases may match.
117119
operationId: queryTeaProductReleases
118120
parameters:
119-
- $ref: "#/components/parameters/page-offset"
120121
- $ref: "#/components/parameters/page-size"
121-
- $ref: "#/components/parameters/id-type"
122-
- $ref: "#/components/parameters/id-value"
122+
- $ref: "#/components/parameters/page-token"
123+
- $ref: "#/components/parameters/sort-field-product-release"
124+
- $ref: "#/components/parameters/sort-order"
123125
responses:
124126
'200':
125127
$ref: "#/components/responses/paginated-product-release"
@@ -203,15 +205,13 @@ paths:
203205
description: UUID of TEA Component in the TEA server
204206
schema:
205207
"$ref": "#/components/schemas/uuid"
208+
- $ref: "#/components/parameters/page-size"
209+
- $ref: "#/components/parameters/page-token"
210+
- $ref: "#/components/parameters/sort-field-component-release"
211+
- $ref: "#/components/parameters/sort-order"
206212
responses:
207213
'200':
208-
description: Requested Releases of TEA Component found and returned
209-
content:
210-
application/json:
211-
schema:
212-
type: array
213-
items:
214-
"$ref": "#/components/schemas/release"
214+
$ref: "#/components/responses/paginated-component-release"
215215
'400':
216216
$ref: "#/components/responses/400-invalid-request"
217217
'404':
@@ -247,10 +247,10 @@ paths:
247247
description: Returns a list of TEA components. Note that multiple components may match.
248248
operationId: queryTeaComponents
249249
parameters:
250-
- $ref: "#/components/parameters/page-offset"
251250
- $ref: "#/components/parameters/page-size"
252-
- $ref: "#/components/parameters/id-type"
253-
- $ref: "#/components/parameters/id-value"
251+
- $ref: "#/components/parameters/page-token"
252+
- $ref: "#/components/parameters/sort-field-component"
253+
- $ref: "#/components/parameters/sort-order"
254254
responses:
255255
'200':
256256
$ref: "#/components/responses/paginated-component"
@@ -263,10 +263,10 @@ paths:
263263
description: Returns a list of TEA component releases. Note that multiple component releases may match.
264264
operationId: queryTeaComponentReleases
265265
parameters:
266-
- $ref: "#/components/parameters/page-offset"
267266
- $ref: "#/components/parameters/page-size"
268-
- $ref: "#/components/parameters/id-type"
269-
- $ref: "#/components/parameters/id-value"
267+
- $ref: "#/components/parameters/page-token"
268+
- $ref: "#/components/parameters/sort-field-component"
269+
- $ref: "#/components/parameters/sort-order"
270270
responses:
271271
'200':
272272
$ref: "#/components/responses/paginated-component-release"
@@ -381,15 +381,13 @@ paths:
381381
description: UUID of TEA Component Release in the TEA server
382382
schema:
383383
"$ref": "#/components/schemas/uuid"
384+
- $ref: "#/components/parameters/page-size"
385+
- $ref: "#/components/parameters/page-token"
386+
- $ref: "#/components/parameters/sort-field-collection"
387+
- $ref: "#/components/parameters/sort-order"
384388
responses:
385389
'200':
386-
description: Requested TEA Collection found and returned
387-
content:
388-
application/json:
389-
schema:
390-
type: array
391-
items:
392-
"$ref": "#/components/schemas/collection"
390+
$ref: "#/components/responses/paginated-collection"
393391
'400':
394392
$ref: "#/components/responses/400-invalid-request"
395393
'404':
@@ -407,15 +405,13 @@ paths:
407405
description: UUID of TEA Product Release in the TEA server
408406
schema:
409407
"$ref": "#/components/schemas/uuid"
408+
- $ref: "#/components/parameters/page-size"
409+
- $ref: "#/components/parameters/page-token"
410+
- $ref: "#/components/parameters/sort-field-collection"
411+
- $ref: "#/components/parameters/sort-order"
410412
responses:
411413
'200':
412-
description: Requested TEA Collection found and returned
413-
content:
414-
application/json:
415-
schema:
416-
type: array
417-
items:
418-
"$ref": "#/components/schemas/collection"
414+
$ref: "#/components/responses/paginated-collection"
419415
'400':
420416
$ref: "#/components/responses/400-invalid-request"
421417
'404':
@@ -1486,41 +1482,6 @@ components:
14861482
- hasNext
14871483
- nextPageToken
14881484

1489-
paginated-product-release-response:
1490-
type: object
1491-
description: A paginated response containing TEA Product Releases
1492-
allOf:
1493-
- $ref: "#/components/schemas/pagination-details"
1494-
- type: object
1495-
properties:
1496-
results:
1497-
type: array
1498-
items:
1499-
$ref: "#/components/schemas/productRelease"
1500-
1501-
paginated-component-response:
1502-
type: object
1503-
description: A paginated response containing TEA Components
1504-
allOf:
1505-
- $ref: "#/components/schemas/pagination-details"
1506-
- type: object
1507-
properties:
1508-
results:
1509-
type: array
1510-
items:
1511-
$ref: "#/components/schemas/component"
1512-
1513-
paginated-component-release-response:
1514-
type: object
1515-
description: A paginated response containing TEA Component Releases
1516-
allOf:
1517-
- $ref: "#/components/schemas/pagination-details"
1518-
- type: object
1519-
properties:
1520-
results:
1521-
type: array
1522-
items:
1523-
$ref: "#/components/schemas/release"
15241485
responses:
15251486
204-common-delete:
15261487
description: Object deleted successfully
@@ -1570,19 +1531,62 @@ components:
15701531
content:
15711532
application/json:
15721533
schema:
1573-
$ref: "#/components/schemas/paginated-product-release-response"
1534+
allOf:
1535+
- $ref: "#/components/schemas/pagination-details"
1536+
- type: object
1537+
properties:
1538+
results:
1539+
type: array
1540+
items:
1541+
$ref: "#/components/schemas/productRelease"
1542+
required:
1543+
- results
15741544
paginated-component:
15751545
description: A paginated response containing TEA Components
15761546
content:
15771547
application/json:
15781548
schema:
1579-
$ref: "#/components/schemas/paginated-component-response"
1549+
allOf:
1550+
- $ref: "#/components/schemas/pagination-details"
1551+
- type: object
1552+
properties:
1553+
results:
1554+
type: array
1555+
items:
1556+
$ref: "#/components/schemas/component"
1557+
required:
1558+
- results
15801559
paginated-component-release:
15811560
description: A paginated response containing TEA Component Releases
15821561
content:
15831562
application/json:
15841563
schema:
1585-
$ref: "#/components/schemas/paginated-component-release-response"
1564+
allOf:
1565+
- $ref: "#/components/schemas/pagination-details"
1566+
- type: object
1567+
properties:
1568+
results:
1569+
type: array
1570+
items:
1571+
$ref: "#/components/schemas/release"
1572+
required:
1573+
- results
1574+
paginated-collection:
1575+
description: A paginated response containing TEA Collections
1576+
content:
1577+
application/json:
1578+
schema:
1579+
allOf:
1580+
- $ref: "#/components/schemas/pagination-details"
1581+
- type: object
1582+
properties:
1583+
results:
1584+
type: array
1585+
items:
1586+
$ref: "#/components/schemas/collection"
1587+
required:
1588+
- results
1589+
15861590
parameters:
15871591
# Pagination
15881592
page-size:
@@ -1617,6 +1621,38 @@ components:
16171621
- desc
16181622
default: asc
16191623
# Pagination Sort Fields per TEA Object Type
1624+
sort-field-collection:
1625+
name: sortField
1626+
description: The field by which to sort the results.
1627+
in: query
1628+
required: false
1629+
schema:
1630+
type: string
1631+
enum:
1632+
- version
1633+
default: version
1634+
sort-field-component:
1635+
name: sortField
1636+
description: The field by which to sort the results.
1637+
in: query
1638+
required: false
1639+
schema:
1640+
type: string
1641+
enum:
1642+
- name
1643+
default: name
1644+
sort-field-component-release:
1645+
name: sortField
1646+
description: The field by which to sort the results.
1647+
in: query
1648+
required: false
1649+
schema:
1650+
type: string
1651+
enum:
1652+
- createdDate
1653+
- releaseDate
1654+
- version
1655+
default: createdDate
16201656
sort-field-product:
16211657
name: sortField
16221658
description: The field by which to sort the results.
@@ -1627,6 +1663,18 @@ components:
16271663
enum:
16281664
- name
16291665
default: name
1666+
sort-field-product-release:
1667+
name: sortField
1668+
description: The field by which to sort the results.
1669+
in: query
1670+
required: false
1671+
schema:
1672+
type: string
1673+
enum:
1674+
- createdDate
1675+
- releaseDate
1676+
- version
1677+
default: createdDate
16301678

16311679
#
16321680
# Query by identifier

0 commit comments

Comments
 (0)