From 503d8f18a265230ec224669241c2f1957811faf8 Mon Sep 17 00:00:00 2001 From: Octokit Bot Date: Mon, 8 Jul 2024 11:20:38 -0500 Subject: [PATCH] feat: `minPermissionLevel` filter for projects connections (#969) --- schema.d.ts | 16 ++++++++ schema.graphql | 55 ++++++++++++++++++++++++++++ schema.json | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 170 insertions(+) diff --git a/schema.d.ts b/schema.d.ts index 378343fe6..e155e1bb2 100644 --- a/schema.d.ts +++ b/schema.d.ts @@ -9379,6 +9379,7 @@ export type IssueProjectsV2Args = { before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; + minPermissionLevel?: InputMaybe; orderBy?: InputMaybe; query?: InputMaybe; }; @@ -15364,6 +15365,7 @@ export type OrganizationProjectsV2Args = { before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; + minPermissionLevel?: InputMaybe; orderBy?: InputMaybe; query?: InputMaybe; }; @@ -17856,10 +17858,20 @@ export type ProjectV2OwnerProjectsV2Args = { before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; + minPermissionLevel?: InputMaybe; orderBy?: InputMaybe; query?: InputMaybe; }; +/** The possible roles of a collaborator on a project. */ +export type ProjectV2PermissionLevel = + /** The collaborator can view, edit, and maange the settings of the project */ + | 'ADMIN' + /** The collaborator can view the project */ + | 'READ' + /** The collaborator can view and edit the project */ + | 'WRITE'; + /** Recent projects for the owner. */ export type ProjectV2Recent = { /** Recent projects that this user has modified in the context of the owner. */ @@ -18784,6 +18796,7 @@ export type PullRequestProjectsV2Args = { before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; + minPermissionLevel?: InputMaybe; orderBy?: InputMaybe; query?: InputMaybe; }; @@ -22717,6 +22730,7 @@ export type RepositoryProjectsV2Args = { before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; + minPermissionLevel?: InputMaybe; orderBy?: InputMaybe; query?: InputMaybe; }; @@ -27073,6 +27087,7 @@ export type TeamProjectsV2Args = { filterBy?: InputMaybe; first?: InputMaybe; last?: InputMaybe; + minPermissionLevel?: InputMaybe; orderBy?: InputMaybe; query?: InputMaybe; }; @@ -30445,6 +30460,7 @@ export type UserProjectsV2Args = { before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; + minPermissionLevel?: InputMaybe; orderBy?: InputMaybe; query?: InputMaybe; }; diff --git a/schema.graphql b/schema.graphql index e3d0f37e1..bfa19f04d 100644 --- a/schema.graphql +++ b/schema.graphql @@ -18226,6 +18226,11 @@ type Issue implements Assignable & Closable & Comment & Deletable & Labelable & """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -29293,6 +29298,11 @@ type Organization implements Actor & AnnouncementBanner & MemberStatusable & Nod """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -34779,6 +34789,11 @@ interface ProjectV2Owner { """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -34791,6 +34806,26 @@ interface ProjectV2Owner { ): ProjectV2Connection! } +""" +The possible roles of a collaborator on a project. +""" +enum ProjectV2PermissionLevel { + """ + The collaborator can view, edit, and maange the settings of the project + """ + ADMIN + + """ + The collaborator can view the project + """ + READ + + """ + The collaborator can view and edit the project + """ + WRITE +} + """ Recent projects for the owner. """ @@ -36545,6 +36580,11 @@ type PullRequest implements Assignable & Closable & Comment & Labelable & Lockab """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -45139,6 +45179,11 @@ type Repository implements Node & PackageOwner & ProjectOwner & ProjectV2Recent """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -54274,6 +54319,11 @@ type Team implements MemberStatusable & Node & Subscribable { """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ @@ -60969,6 +61019,11 @@ type User implements Actor & Node & PackageOwner & ProfileOwner & ProjectOwner & """ last: Int + """ + Filter projects based on user role. + """ + minPermissionLevel: ProjectV2PermissionLevel = READ + """ How to order the returned projects. """ diff --git a/schema.json b/schema.json index f64366bae..09c08c417 100644 --- a/schema.json +++ b/schema.json @@ -45949,6 +45949,16 @@ }, "defaultValue": "{field: NUMBER, direction: DESC}" }, + { + "name": "minPermissionLevel", + "description": "Filter projects based on user role.", + "type": { + "kind": "ENUM", + "name": "ProjectV2PermissionLevel", + "ofType": null + }, + "defaultValue": "READ" + }, { "name": "after", "description": "Returns the elements in the list that come after the specified cursor.", @@ -75879,6 +75889,16 @@ }, "defaultValue": "{field: NUMBER, direction: DESC}" }, + { + "name": "minPermissionLevel", + "description": "Filter projects based on user role.", + "type": { + "kind": "ENUM", + "name": "ProjectV2PermissionLevel", + "ofType": null + }, + "defaultValue": "READ" + }, { "name": "after", "description": "Returns the elements in the list that come after the specified cursor.", @@ -90477,6 +90497,16 @@ }, "defaultValue": "{field: NUMBER, direction: DESC}" }, + { + "name": "minPermissionLevel", + "description": "Filter projects based on user role.", + "type": { + "kind": "ENUM", + "name": "ProjectV2PermissionLevel", + "ofType": null + }, + "defaultValue": "READ" + }, { "name": "after", "description": "Returns the elements in the list that come after the specified cursor.", @@ -90557,6 +90587,35 @@ } ] }, + { + "kind": "ENUM", + "name": "ProjectV2PermissionLevel", + "description": "The possible roles of a collaborator on a project.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "READ", + "description": "The collaborator can view the project", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WRITE", + "description": "The collaborator can view and edit the project", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN", + "description": "The collaborator can view, edit, and maange the settings of the project", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, { "kind": "INTERFACE", "name": "ProjectV2Recent", @@ -94871,6 +94930,16 @@ }, "defaultValue": "{field: NUMBER, direction: DESC}" }, + { + "name": "minPermissionLevel", + "description": "Filter projects based on user role.", + "type": { + "kind": "ENUM", + "name": "ProjectV2PermissionLevel", + "ofType": null + }, + "defaultValue": "READ" + }, { "name": "after", "description": "Returns the elements in the list that come after the specified cursor.", @@ -117387,6 +117456,16 @@ "ofType": null }, "defaultValue": "{field: NUMBER, direction: DESC}" + }, + { + "name": "minPermissionLevel", + "description": "Filter projects based on user role.", + "type": { + "kind": "ENUM", + "name": "ProjectV2PermissionLevel", + "ofType": null + }, + "defaultValue": "READ" } ], "type": { @@ -138945,6 +139024,16 @@ "ofType": null }, "defaultValue": "\"\"" + }, + { + "name": "minPermissionLevel", + "description": "Filter projects based on user role.", + "type": { + "kind": "ENUM", + "name": "ProjectV2PermissionLevel", + "ofType": null + }, + "defaultValue": "READ" } ], "type": { @@ -155859,6 +155948,16 @@ }, "defaultValue": "{field: NUMBER, direction: DESC}" }, + { + "name": "minPermissionLevel", + "description": "Filter projects based on user role.", + "type": { + "kind": "ENUM", + "name": "ProjectV2PermissionLevel", + "ofType": null + }, + "defaultValue": "READ" + }, { "name": "after", "description": "Returns the elements in the list that come after the specified cursor.",