From d4c3118b2006ac638aed51c495fb5fb4f12e7a5e Mon Sep 17 00:00:00 2001 From: Nathan Gendron Date: Fri, 27 Sep 2024 15:44:18 -0400 Subject: [PATCH] =?UTF-8?q?=F0=9F=8F=B7=EF=B8=8F=20Manually=20extract=20we?= =?UTF-8?q?bhook=20types=20for=20PRCommentAdded?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../webhooks/events/pr/comment_added.ts | 50 ++++++++++++++++--- 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/src/server/webhooks/events/pr/comment_added.ts b/src/server/webhooks/events/pr/comment_added.ts index 3e63843..0c78f70 100644 --- a/src/server/webhooks/events/pr/comment_added.ts +++ b/src/server/webhooks/events/pr/comment_added.ts @@ -1,28 +1,49 @@ +import type { + SchemaApplicationUser, + SchemaProject, + SchemaPullRequestParticipant, + SchemaRepository, + SchemaRestMinimalRef, +} from "../../../openapi/openapi-typescript.js" + export interface Actor { readonly active: boolean readonly displayName: string readonly emailAddress: string readonly id: number + readonly links: ActorLinks readonly name: string readonly slug: string - readonly type: string + readonly type: SchemaApplicationUser["type"] +} + +export interface ActorLinks { + readonly self: Self[] } export interface Author { readonly approved: boolean - readonly role: string + readonly role: SchemaPullRequestParticipant["role"] readonly status: string readonly user: Actor } +export interface Clone { + readonly href: string + readonly name: string +} + export interface Comment { readonly author: Actor readonly comments: unknown[] readonly createdDate: number readonly id: number readonly properties: Properties - readonly tasks: unknown[] + readonly severity: string + readonly state: string + readonly tasks?: unknown[] readonly text: string + readonly threadResolved: boolean readonly updatedDate: number readonly version: number } @@ -34,7 +55,7 @@ export interface PRCommentAdded { /** The comment created. */ readonly comment: Comment /** Id of the parent comment if one exists. */ - readonly commentParentId: number + readonly commentParentId?: number readonly date: string readonly eventKey: "pr:comment:added" /** The pull request comment on. */ @@ -44,22 +65,26 @@ export interface PRCommentAdded { export interface Project { readonly id: number readonly key: string + readonly links: ActorLinks readonly name: string readonly public: boolean - readonly type: string + readonly type: SchemaProject["type"] } export interface Properties { readonly repositoryId: number + readonly suggestionState: string } export interface PullRequest { readonly author: Author readonly closed: boolean readonly createdDate: number + readonly description: string readonly draft: boolean readonly fromRef: Ref readonly id: number + readonly links: ActorLinks readonly locked: boolean readonly open: boolean readonly participants: unknown[] @@ -76,16 +101,29 @@ export interface Ref { readonly id: string readonly latestCommit: string readonly repository: Repository + readonly type: SchemaRestMinimalRef["type"] } export interface Repository { + readonly archived: boolean readonly forkable: boolean + readonly hierarchyId: string readonly id: number + readonly links: RepositoryLinks readonly name: string readonly project: Project readonly public: boolean readonly scmId: string readonly slug: string - readonly state: string + readonly state: SchemaRepository["state"] readonly statusMessage: string } + +export interface RepositoryLinks { + readonly clone: Clone[] + readonly self: Self[] +} + +export interface Self { + readonly href: string +}