diff --git a/src/server/webhooks/events/pr/comment_edited.ts b/src/server/webhooks/events/pr/comment_edited.ts index 0b12f91..742f273 100644 --- a/src/server/webhooks/events/pr/comment_edited.ts +++ b/src/server/webhooks/events/pr/comment_edited.ts @@ -1,28 +1,50 @@ +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 status: string + readonly role: SchemaPullRequestParticipant["role"] + readonly status: SchemaPullRequestParticipant["status"] 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 text: string + readonly threadResolved: boolean + readonly threadResolvedDate: number + readonly threadResolver: Actor readonly updatedDate: number readonly version: number } @@ -34,7 +56,7 @@ export interface PRCommentEdited { /** The comment edited. */ readonly comment: Comment /** Id of the parent comment if one exists. */ - readonly commentParentId: number + readonly commentParentId?: number readonly date: string readonly eventKey: "pr:comment:edited" /** Text of the previous comment. */ @@ -46,9 +68,10 @@ export interface PRCommentEdited { 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 { @@ -59,9 +82,11 @@ 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[] @@ -78,16 +103,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 +}