Skip to content
Merged
Show file tree
Hide file tree
Changes from 35 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
efe65ec
merge dev to main (v2.9.2) (#1882)
ymc9 Nov 22, 2024
f5e4e7c
merge dev to main (v2.9.3) (#1886)
ymc9 Nov 26, 2024
251c699
merge dev to main (v2.9.4) (#1892)
ymc9 Nov 27, 2024
7cc5f00
merge dev to main (v2.10.0) (#1907)
ymc9 Dec 5, 2024
f7f85ea
merge dev to main (v2.10.1) (#1913)
ymc9 Dec 13, 2024
689d013
merge dev to main (v2.10.2) (#1919)
ymc9 Dec 18, 2024
70a81c6
merge dev to main (v2.11.0) (#1943)
ymc9 Jan 7, 2025
4b7d813
merge dev to main (v2.11.1) (#1952)
ymc9 Jan 8, 2025
ba80eda
merge dev to main (v2.11.2) (#1957)
ymc9 Jan 13, 2025
b220213
merge dev to main (v2.11.3) (#1963)
ymc9 Jan 14, 2025
ff393da
merge dev to main (v2.11.4) (#1966)
ymc9 Jan 17, 2025
a1dfdcd
merge dev to main (v2.11.5) (#1973)
ymc9 Jan 29, 2025
584d8af
merge dev to main (v2.11.6) (#1981)
ymc9 Feb 7, 2025
0107e1c
merge dev to main (v2.12.0) (#2013)
ymc9 Feb 25, 2025
8934679
merge dev to main (v2.12.1) (#2026)
ymc9 Mar 4, 2025
d4fb5ab
merge dev to main (v2.12.2) (#2032)
ymc9 Mar 7, 2025
a4acf35
merge dev to main (v2.12.3) (#2043)
ymc9 Mar 13, 2025
8a62f63
merge dev to main (v2.13.0) (#2057)
ymc9 Mar 24, 2025
79197c6
merge dev to main (v2.13.1) (#2068)
ymc9 Apr 4, 2025
c017a40
merge dev to main (v2.13.2) (#2072)
ymc9 Apr 7, 2025
2f69aa8
merge dev to main (v2.13.3) (#2076)
ymc9 Apr 9, 2025
bf9be5c
merge dev to main (v2.14.0) (#2086)
ymc9 Apr 15, 2025
88f8c77
merge dev to main (v2.14.0) (#2091)
ymc9 Apr 15, 2025
3895746
merge dev to main (v2.14.1) (#2110)
ymc9 May 5, 2025
b79a749
merge dev to main (v2.14.2) (#2113)
ymc9 May 8, 2025
53bf340
merge dev to main (v2.15.0) (#2126)
ymc9 May 20, 2025
e835599
merge dev to main (v2.15.0) (#2130)
ymc9 May 21, 2025
d8bc32d
merge dev to main (v2.15.0) (#2132)
ymc9 May 21, 2025
19f4870
merge dev to main (v2.15.1) (#2138)
ymc9 Jun 3, 2025
9596d33
merge dev to main (v2.16.0) (#2156)
ymc9 Jun 21, 2025
b73b3de
merge dev to main (v2.16.1) (#2174)
ymc9 Jul 7, 2025
b199ac2
merge dev to main (v2.17.0) (#2191)
ymc9 Jul 20, 2025
1da7440
merge dev to main (v2.17.1) (#2200)
ymc9 Jul 21, 2025
692b714
merge dev to main (v2.17.2) (#2204)
ymc9 Jul 27, 2025
a5abf15
feat(openapi): add ordering and pagination to RPC findMany endpoints
olup Aug 5, 2025
6e618b1
Merge remote-tracking branch 'origin/dev' into feat/rpc-findmany-pagi…
ymc9 Aug 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 14 additions & 7 deletions packages/plugins/openapi/src/rpc-generator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,13 @@ export class RPCOpenAPIGenerator extends OpenAPIGeneratorBase {
// analyze access policies to determine default security
const { create, read, update, delete: del } = analyzePolicies(zmodel);

// OrderByWithRelationInput's name is different when "fullTextSearch" is enabled
const orderByWithRelationInput = this.inputObjectTypes
.map((o) => upperCaseFirst(o.name))
.includes(`${modelName}OrderByWithRelationInput`)
? `${modelName}OrderByWithRelationInput`
: `${modelName}OrderByWithRelationAndSearchRelevanceInput`;

if (ops['createOne']) {
definitions.push({
method: 'post',
Expand Down Expand Up @@ -269,6 +276,13 @@ export class RPCOpenAPIGenerator extends OpenAPIGeneratorBase {
select: this.omittableRef(`${modelName}Select`),
include: hasRelation ? this.omittableRef(`${modelName}Include`) : undefined,
where: this.omittableRef(`${modelName}WhereInput`),
orderBy: this.oneOf(
this.omittableRef(orderByWithRelationInput),
this.array(this.omittableRef(orderByWithRelationInput))
),
cursor: this.omittableRef(`${modelName}WhereUniqueInput`),
take: { type: 'integer' },
skip: { type: 'integer' },
meta: this.ref('_Meta'),
},
},
Expand Down Expand Up @@ -422,13 +436,6 @@ export class RPCOpenAPIGenerator extends OpenAPIGeneratorBase {
security: read === true ? [] : undefined,
});

// OrderByWithRelationInput's name is different when "fullTextSearch" is enabled
const orderByWithRelationInput = this.inputObjectTypes
.map((o) => upperCaseFirst(o.name))
.includes(`${modelName}OrderByWithRelationInput`)
? `${modelName}OrderByWithRelationInput`
: `${modelName}OrderByWithRelationAndSearchRelevanceInput`;

if (ops['aggregate']) {
definitions.push({
method: 'get',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -572,6 +572,18 @@ components:
$ref: '#/components/schemas/_AnyObject'
meta:
$ref: '#/components/schemas/_Meta'
orderBy:
oneOf:
- $ref: '#/components/schemas/_AnyObject'
- type: array
items:
$ref: '#/components/schemas/_AnyObject'
cursor:
$ref: '#/components/schemas/_AnyObject'
take:
type: integer
skip:
type: integer
UserUpdateArgs:
type: object
required:
Expand Down Expand Up @@ -760,6 +772,18 @@ components:
$ref: '#/components/schemas/_AnyObject'
meta:
$ref: '#/components/schemas/_Meta'
orderBy:
oneOf:
- $ref: '#/components/schemas/_AnyObject'
- type: array
items:
$ref: '#/components/schemas/_AnyObject'
cursor:
$ref: '#/components/schemas/_AnyObject'
take:
type: integer
skip:
type: integer
ProfileUpdateArgs:
type: object
required:
Expand Down
36 changes: 36 additions & 0 deletions packages/plugins/openapi/tests/baseline/rpc-3.0.0.baseline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3318,6 +3318,18 @@ components:
$ref: '#/components/schemas/UserWhereInput'
meta:
$ref: '#/components/schemas/_Meta'
orderBy:
oneOf:
- $ref: '#/components/schemas/UserOrderByWithRelationInput'
- type: array
items:
$ref: '#/components/schemas/UserOrderByWithRelationInput'
cursor:
$ref: '#/components/schemas/UserWhereUniqueInput'
take:
type: integer
skip:
type: integer
UserUpdateArgs:
type: object
required:
Expand Down Expand Up @@ -3506,6 +3518,18 @@ components:
$ref: '#/components/schemas/ProfileWhereInput'
meta:
$ref: '#/components/schemas/_Meta'
orderBy:
oneOf:
- $ref: '#/components/schemas/ProfileOrderByWithRelationInput'
- type: array
items:
$ref: '#/components/schemas/ProfileOrderByWithRelationInput'
cursor:
$ref: '#/components/schemas/ProfileWhereUniqueInput'
take:
type: integer
skip:
type: integer
ProfileUpdateArgs:
type: object
required:
Expand Down Expand Up @@ -3694,6 +3718,18 @@ components:
$ref: '#/components/schemas/Post_ItemWhereInput'
meta:
$ref: '#/components/schemas/_Meta'
orderBy:
oneOf:
- $ref: '#/components/schemas/Post_ItemOrderByWithRelationInput'
- type: array
items:
$ref: '#/components/schemas/Post_ItemOrderByWithRelationInput'
cursor:
$ref: '#/components/schemas/Post_ItemWhereUniqueInput'
take:
type: integer
skip:
type: integer
Post_ItemUpdateArgs:
type: object
required:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -610,6 +610,18 @@ components:
$ref: '#/components/schemas/_AnyObject'
meta:
$ref: '#/components/schemas/_Meta'
orderBy:
oneOf:
- $ref: '#/components/schemas/_AnyObject'
- type: array
items:
$ref: '#/components/schemas/_AnyObject'
cursor:
$ref: '#/components/schemas/_AnyObject'
take:
type: integer
skip:
type: integer
UserUpdateArgs:
type: object
required:
Expand Down Expand Up @@ -798,6 +810,18 @@ components:
$ref: '#/components/schemas/_AnyObject'
meta:
$ref: '#/components/schemas/_Meta'
orderBy:
oneOf:
- $ref: '#/components/schemas/_AnyObject'
- type: array
items:
$ref: '#/components/schemas/_AnyObject'
cursor:
$ref: '#/components/schemas/_AnyObject'
take:
type: integer
skip:
type: integer
ProfileUpdateArgs:
type: object
required:
Expand Down
36 changes: 36 additions & 0 deletions packages/plugins/openapi/tests/baseline/rpc-3.1.0.baseline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3382,6 +3382,18 @@ components:
$ref: '#/components/schemas/UserWhereInput'
meta:
$ref: '#/components/schemas/_Meta'
orderBy:
oneOf:
- $ref: '#/components/schemas/UserOrderByWithRelationInput'
- type: array
items:
$ref: '#/components/schemas/UserOrderByWithRelationInput'
cursor:
$ref: '#/components/schemas/UserWhereUniqueInput'
take:
type: integer
skip:
type: integer
UserUpdateArgs:
type: object
required:
Expand Down Expand Up @@ -3570,6 +3582,18 @@ components:
$ref: '#/components/schemas/ProfileWhereInput'
meta:
$ref: '#/components/schemas/_Meta'
orderBy:
oneOf:
- $ref: '#/components/schemas/ProfileOrderByWithRelationInput'
- type: array
items:
$ref: '#/components/schemas/ProfileOrderByWithRelationInput'
cursor:
$ref: '#/components/schemas/ProfileWhereUniqueInput'
take:
type: integer
skip:
type: integer
ProfileUpdateArgs:
type: object
required:
Expand Down Expand Up @@ -3758,6 +3782,18 @@ components:
$ref: '#/components/schemas/Post_ItemWhereInput'
meta:
$ref: '#/components/schemas/_Meta'
orderBy:
oneOf:
- $ref: '#/components/schemas/Post_ItemOrderByWithRelationInput'
- type: array
items:
$ref: '#/components/schemas/Post_ItemOrderByWithRelationInput'
cursor:
$ref: '#/components/schemas/Post_ItemWhereUniqueInput'
take:
type: integer
skip:
type: integer
Post_ItemUpdateArgs:
type: object
required:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1959,6 +1959,18 @@ components:
$ref: '#/components/schemas/FooWhereInput'
meta:
$ref: '#/components/schemas/_Meta'
orderBy:
oneOf:
- $ref: '#/components/schemas/FooOrderByWithRelationInput'
- type: array
items:
$ref: '#/components/schemas/FooOrderByWithRelationInput'
cursor:
$ref: '#/components/schemas/FooWhereUniqueInput'
take:
type: integer
skip:
type: integer
FooUpdateArgs:
type: object
required:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2001,6 +2001,18 @@ components:
$ref: '#/components/schemas/FooWhereInput'
meta:
$ref: '#/components/schemas/_Meta'
orderBy:
oneOf:
- $ref: '#/components/schemas/FooOrderByWithRelationInput'
- type: array
items:
$ref: '#/components/schemas/FooOrderByWithRelationInput'
cursor:
$ref: '#/components/schemas/FooWhereUniqueInput'
take:
type: integer
skip:
type: integer
FooUpdateArgs:
type: object
required:
Expand Down
Loading
Loading