Skip to content

Commit e3a7d41

Browse files
Thomas StrombergThomas Stromberg
authored andcommitted
restore constants
1 parent 35860a2 commit e3a7d41

File tree

4 files changed

+108
-47
lines changed

4 files changed

+108
-47
lines changed

pkg/prx/client_graphql.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ func (c *Client) fetchCheckRunsREST(ctx context.Context, owner, repo, sha string
142142
}
143143

144144
event := Event{
145-
Kind: "check_run",
145+
Kind: EventKindCheckRun,
146146
Timestamp: timestamp,
147147
Actor: "github",
148148
Bot: true,
@@ -184,7 +184,7 @@ func (c *Client) fetchAllCheckRunsREST(ctx context.Context, owner, repo string,
184184
// Add all other commit SHAs from commit events
185185
for i := range prData.Events {
186186
e := &prData.Events[i]
187-
if e.Kind == "commit" && e.Body != "" {
187+
if e.Kind == EventKindCommit && e.Body != "" {
188188
shas[e.Body] = true
189189
}
190190
}
@@ -222,7 +222,7 @@ func (*Client) existingRequiredChecks(prData *PullRequestData) []string {
222222
// Extract from existing events that are marked as required
223223
for i := range prData.Events {
224224
e := &prData.Events[i]
225-
if e.Required && (e.Kind == "check_run" || e.Kind == "status_check") {
225+
if e.Required && (e.Kind == EventKindCheckRun || e.Kind == EventKindStatusCheck) {
226226
required = append(required, e.Body)
227227
}
228228
}

pkg/prx/event_processing.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ func filterEvents(events []Event) []Event {
1212
for i := range events {
1313
e := &events[i]
1414
// Include all non-status_check events
15-
if e.Kind != "status_check" {
15+
if e.Kind != EventKindStatusCheck {
1616
filtered = append(filtered, *e)
1717
continue
1818
}
@@ -36,7 +36,8 @@ func upgradeWriteAccess(events []Event) {
3636
for i := range events {
3737
e := &events[i]
3838
switch e.Kind {
39-
case "pr_merged", "labeled", "unlabeled", "assigned", "unassigned", "milestoned", "demilestoned":
39+
case EventKindPRMerged, EventKindLabeled, EventKindUnlabeled,
40+
EventKindAssigned, EventKindUnassigned, EventKindMilestoned, EventKindDemilestoned:
4041
// These actions require write access to the repository
4142
if e.Actor != "" {
4243
confirmed[e.Actor] = true
@@ -80,7 +81,7 @@ func calculateCheckSummary(events []Event, requiredChecks []string) *CheckSummar
8081
// Events should be sorted chronologically, but we explicitly track timestamps to be safe
8182
for i := range events {
8283
e := &events[i]
83-
if (e.Kind == "status_check" || e.Kind == "check_run") && e.Body != "" {
84+
if (e.Kind == EventKindStatusCheck || e.Kind == EventKindCheckRun) && e.Body != "" {
8485
existing, exists := latestChecks[e.Body]
8586
// Update if:
8687
// 1. First occurrence (!exists)
@@ -151,7 +152,7 @@ func calculateApprovalSummary(events []Event) *ApprovalSummary {
151152

152153
for i := range events {
153154
e := &events[i]
154-
if e.Kind == "review" && e.Outcome != "" {
155+
if e.Kind == EventKindReview && e.Outcome != "" {
155156
latestReviews[e.Actor] = *e
156157
}
157158
}

pkg/prx/events.go

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,66 @@ import (
44
"time"
55
)
66

7+
// Event kind constants for PR timeline events.
8+
const (
9+
EventKindCommit = "commit" // EventKindCommit represents a commit event.
10+
EventKindComment = "comment" // EventKindComment represents a comment event.
11+
EventKindReview = "review" // EventKindReview represents a review event.
12+
EventKindReviewComment = "review_comment" // EventKindReviewComment represents a review comment event.
13+
14+
EventKindLabeled = "labeled" // EventKindLabeled represents a label added event.
15+
EventKindUnlabeled = "unlabeled" // EventKindUnlabeled represents a label removed event.
16+
17+
EventKindAssigned = "assigned" // EventKindAssigned represents an assignment event.
18+
EventKindUnassigned = "unassigned" // EventKindUnassigned represents an unassignment event.
19+
20+
EventKindMilestoned = "milestoned" // EventKindMilestoned represents a milestone added event.
21+
EventKindDemilestoned = "demilestoned" // EventKindDemilestoned represents a milestone removed event.
22+
23+
EventKindReviewRequested = "review_requested" // EventKindReviewRequested represents a review request event.
24+
EventKindReviewRequestRemoved = "review_request_removed" // EventKindReviewRequestRemoved represents a review request removed event.
25+
26+
EventKindPRMerged = "pr_merged" // EventKindPRMerged represents a PR merge event.
27+
EventKindReadyForReview = "ready_for_review" // EventKindReadyForReview represents a ready for review event.
28+
EventKindConvertToDraft = "convert_to_draft" // EventKindConvertToDraft represents a convert to draft event.
29+
EventKindClosed = "closed" // EventKindClosed represents a PR closed event.
30+
EventKindReopened = "reopened" // EventKindReopened represents a PR reopened event.
31+
32+
EventKindMentioned = "mentioned" // EventKindMentioned represents a mention event.
33+
EventKindReferenced = "referenced" // EventKindReferenced represents a reference event.
34+
35+
EventKindPinned = "pinned" // EventKindPinned represents a pin event.
36+
EventKindUnpinned = "unpinned" // EventKindUnpinned represents an unpin event.
37+
EventKindTransferred = "transferred" // EventKindTransferred represents a transfer event.
38+
39+
EventKindSubscribed = "subscribed" // EventKindSubscribed represents a subscription event.
40+
EventKindUnsubscribed = "unsubscribed" // EventKindUnsubscribed represents an unsubscription event.
41+
42+
EventKindHeadRefDeleted = "head_ref_deleted" // EventKindHeadRefDeleted represents a head ref deletion event.
43+
EventKindHeadRefRestored = "head_ref_restored" // EventKindHeadRefRestored represents a head ref restoration event.
44+
EventKindHeadRefForcePushed = "head_ref_force_pushed" // EventKindHeadRefForcePushed represents a head ref force push event.
45+
46+
EventKindBaseRefChanged = "base_ref_changed" // EventKindBaseRefChanged represents a base ref change event.
47+
EventKindBaseRefForcePushed = "base_ref_force_pushed" // EventKindBaseRefForcePushed represents a base ref force push event.
48+
49+
EventKindReviewDismissed = "review_dismissed" // EventKindReviewDismissed represents a review dismissed event.
50+
51+
EventKindLocked = "locked" // EventKindLocked represents a lock event.
52+
EventKindUnlocked = "unlocked" // EventKindUnlocked represents an unlock event.
53+
54+
EventKindAutoMergeEnabled = "auto_merge_enabled" // EventKindAutoMergeEnabled represents an auto merge enabled event.
55+
EventKindAutoMergeDisabled = "auto_merge_disabled" // EventKindAutoMergeDisabled represents an auto merge disabled event.
56+
57+
// EventKindDeploymentEnvironmentChanged represents a deployment environment change event.
58+
EventKindDeploymentEnvironmentChanged = "deployment_environment_changed"
59+
60+
EventKindConnected = "connected" // EventKindConnected represents a connected event.
61+
EventKindDisconnected = "disconnected" // EventKindDisconnected represents a disconnected event.
62+
63+
EventKindStatusCheck = "status_check" // EventKindStatusCheck represents a status check event (from APIs).
64+
EventKindCheckRun = "check_run" // EventKindCheckRun represents a check run event (from APIs).
65+
)
66+
767
// WriteAccess constants for the Event.WriteAccess field.
868
const (
969
WriteAccessNo = -2 // User confirmed to not have write access

pkg/prx/graphql_complete.go

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ func (c *Client) convertGraphQLToEventsComplete(ctx context.Context, data *graph
211211

212212
for _, node := range data.Commits.Nodes {
213213
event := Event{
214-
Kind: "commit",
214+
Kind: EventKindCommit,
215215
Timestamp: node.Commit.CommittedDate,
216216
Body: node.Commit.OID,
217217
Description: truncate(node.Commit.Message),
@@ -235,7 +235,7 @@ func (c *Client) convertGraphQLToEventsComplete(ctx context.Context, data *graph
235235
timestamp = *review.SubmittedAt
236236
}
237237
event := Event{
238-
Kind: "review",
238+
Kind: EventKindReview,
239239
Timestamp: timestamp,
240240
Actor: review.Author.Login,
241241
Body: truncate(review.Body),
@@ -252,7 +252,7 @@ func (c *Client) convertGraphQLToEventsComplete(ctx context.Context, data *graph
252252
for j := range thread.Comments.Nodes {
253253
comment := &thread.Comments.Nodes[j]
254254
event := Event{
255-
Kind: "review_comment",
255+
Kind: EventKindReviewComment,
256256
Timestamp: comment.CreatedAt,
257257
Actor: comment.Author.Login,
258258
Body: truncate(comment.Body),
@@ -267,7 +267,7 @@ func (c *Client) convertGraphQLToEventsComplete(ctx context.Context, data *graph
267267

268268
for _, comment := range data.Comments.Nodes {
269269
event := Event{
270-
Kind: "comment",
270+
Kind: EventKindComment,
271271
Timestamp: comment.CreatedAt,
272272
Actor: comment.Author.Login,
273273
Body: truncate(comment.Body),
@@ -297,7 +297,7 @@ func (c *Client) convertGraphQLToEventsComplete(ctx context.Context, data *graph
297297

298298
if node.StartedAt != nil {
299299
events = append(events, Event{
300-
Kind: "check_run",
300+
Kind: EventKindCheckRun,
301301
Timestamp: *node.StartedAt,
302302
Body: node.Name,
303303
Outcome: strings.ToLower(node.Status),
@@ -308,7 +308,7 @@ func (c *Client) convertGraphQLToEventsComplete(ctx context.Context, data *graph
308308

309309
if node.CompletedAt != nil {
310310
events = append(events, Event{
311-
Kind: "check_run",
311+
Kind: EventKindCheckRun,
312312
Timestamp: *node.CompletedAt,
313313
Body: node.Name,
314314
Outcome: strings.ToLower(node.Conclusion),
@@ -322,7 +322,7 @@ func (c *Client) convertGraphQLToEventsComplete(ctx context.Context, data *graph
322322
continue
323323
}
324324
event := Event{
325-
Kind: "status_check",
325+
Kind: EventKindStatusCheck,
326326
Timestamp: *node.CreatedAt,
327327
Outcome: strings.ToLower(node.State),
328328
Body: node.Context,
@@ -354,7 +354,7 @@ func (c *Client) convertGraphQLToEventsComplete(ctx context.Context, data *graph
354354
}
355355
if data.MergedBy != nil {
356356
event.Actor = data.MergedBy.Login
357-
event.Kind = "pr_merged"
357+
event.Kind = EventKindPRMerged
358358
event.Bot = isBot(*data.MergedBy)
359359
}
360360
events = append(events, event)
@@ -420,51 +420,51 @@ func (*Client) parseGraphQLTimelineEvent(_ context.Context, item map[string]any,
420420

421421
switch typename {
422422
case "AssignedEvent":
423-
event.Kind = "assigned"
423+
event.Kind = EventKindAssigned
424424
if assignee, ok := item["assignee"].(map[string]any); ok {
425425
if login, ok := assignee["login"].(string); ok {
426426
event.Target = login
427427
}
428428
}
429429

430430
case "UnassignedEvent":
431-
event.Kind = "unassigned"
431+
event.Kind = EventKindUnassigned
432432
if assignee, ok := item["assignee"].(map[string]any); ok {
433433
if login, ok := assignee["login"].(string); ok {
434434
event.Target = login
435435
}
436436
}
437437

438438
case "LabeledEvent":
439-
event.Kind = "labeled"
439+
event.Kind = EventKindLabeled
440440
if label, ok := item["label"].(map[string]any); ok {
441441
if name, ok := label["name"].(string); ok {
442442
event.Target = name
443443
}
444444
}
445445

446446
case "UnlabeledEvent":
447-
event.Kind = "unlabeled"
447+
event.Kind = EventKindUnlabeled
448448
if label, ok := item["label"].(map[string]any); ok {
449449
if name, ok := label["name"].(string); ok {
450450
event.Target = name
451451
}
452452
}
453453

454454
case "MilestonedEvent":
455-
event.Kind = "milestoned"
455+
event.Kind = EventKindMilestoned
456456
if title, ok := item["milestoneTitle"].(string); ok {
457457
event.Target = title
458458
}
459459

460460
case "DemilestonedEvent":
461-
event.Kind = "demilestoned"
461+
event.Kind = EventKindDemilestoned
462462
if title, ok := item["milestoneTitle"].(string); ok {
463463
event.Target = title
464464
}
465465

466466
case "ReviewRequestedEvent":
467-
event.Kind = "review_requested"
467+
event.Kind = EventKindReviewRequested
468468
if reviewer, ok := item["requestedReviewer"].(map[string]any); ok {
469469
if login, ok := reviewer["login"].(string); ok {
470470
event.Target = login
@@ -474,7 +474,7 @@ func (*Client) parseGraphQLTimelineEvent(_ context.Context, item map[string]any,
474474
}
475475

476476
case "ReviewRequestRemovedEvent":
477-
event.Kind = "review_request_removed"
477+
event.Kind = EventKindReviewRequestRemoved
478478
if reviewer, ok := item["requestedReviewer"].(map[string]any); ok {
479479
if login, ok := reviewer["login"].(string); ok {
480480
event.Target = login
@@ -484,50 +484,50 @@ func (*Client) parseGraphQLTimelineEvent(_ context.Context, item map[string]any,
484484
}
485485

486486
case "MentionedEvent":
487-
event.Kind = "mentioned"
487+
event.Kind = EventKindMentioned
488488
event.Body = "User was mentioned"
489489

490490
case "ReadyForReviewEvent":
491-
event.Kind = "ready_for_review"
491+
event.Kind = EventKindReadyForReview
492492

493493
case "ConvertToDraftEvent":
494-
event.Kind = "convert_to_draft"
494+
event.Kind = EventKindConvertToDraft
495495

496496
case "ClosedEvent":
497-
event.Kind = "closed"
497+
event.Kind = EventKindClosed
498498

499499
case "ReopenedEvent":
500-
event.Kind = "reopened"
500+
event.Kind = EventKindReopened
501501

502502
case "MergedEvent":
503503
event.Kind = "merged"
504504

505505
case "AutoMergeEnabledEvent":
506-
event.Kind = "auto_merge_enabled"
506+
event.Kind = EventKindAutoMergeEnabled
507507

508508
case "AutoMergeDisabledEvent":
509-
event.Kind = "auto_merge_disabled"
509+
event.Kind = EventKindAutoMergeDisabled
510510

511511
case "ReviewDismissedEvent":
512-
event.Kind = "review_dismissed"
512+
event.Kind = EventKindReviewDismissed
513513
if msg, ok := item["dismissalMessage"].(string); ok {
514514
event.Body = msg
515515
}
516516

517517
case "BaseRefChangedEvent":
518-
event.Kind = "base_ref_changed"
518+
event.Kind = EventKindBaseRefChanged
519519

520520
case "BaseRefForcePushedEvent":
521-
event.Kind = "base_ref_force_pushed"
521+
event.Kind = EventKindBaseRefForcePushed
522522

523523
case "HeadRefForcePushedEvent":
524-
event.Kind = "head_ref_force_pushed"
524+
event.Kind = EventKindHeadRefForcePushed
525525

526526
case "HeadRefDeletedEvent":
527-
event.Kind = "head_ref_deleted"
527+
event.Kind = EventKindHeadRefDeleted
528528

529529
case "HeadRefRestoredEvent":
530-
event.Kind = "head_ref_restored"
530+
event.Kind = EventKindHeadRefRestored
531531

532532
case "RenamedTitleEvent":
533533
event.Kind = "renamed_title"
@@ -538,10 +538,10 @@ func (*Client) parseGraphQLTimelineEvent(_ context.Context, item map[string]any,
538538
}
539539

540540
case "LockedEvent":
541-
event.Kind = "locked"
541+
event.Kind = EventKindLocked
542542

543543
case "UnlockedEvent":
544-
event.Kind = "unlocked"
544+
event.Kind = EventKindUnlocked
545545

546546
case "AddedToMergeQueueEvent":
547547
event.Kind = "added_to_merge_queue"
@@ -556,37 +556,37 @@ func (*Client) parseGraphQLTimelineEvent(_ context.Context, item map[string]any,
556556
event.Kind = "automatic_base_change_failed"
557557

558558
case "ConnectedEvent":
559-
event.Kind = "connected"
559+
event.Kind = EventKindConnected
560560

561561
case "DisconnectedEvent":
562-
event.Kind = "disconnected"
562+
event.Kind = EventKindDisconnected
563563

564564
case "CrossReferencedEvent":
565565
event.Kind = "cross_referenced"
566566

567567
case "ReferencedEvent":
568-
event.Kind = "referenced"
568+
event.Kind = EventKindReferenced
569569

570570
case "SubscribedEvent":
571-
event.Kind = "subscribed"
571+
event.Kind = EventKindSubscribed
572572

573573
case "UnsubscribedEvent":
574-
event.Kind = "unsubscribed"
574+
event.Kind = EventKindUnsubscribed
575575

576576
case "DeployedEvent":
577577
event.Kind = "deployed"
578578

579579
case "DeploymentEnvironmentChangedEvent":
580-
event.Kind = "deployment_environment_changed"
580+
event.Kind = EventKindDeploymentEnvironmentChanged
581581

582582
case "PinnedEvent":
583-
event.Kind = "pinned"
583+
event.Kind = EventKindPinned
584584

585585
case "UnpinnedEvent":
586-
event.Kind = "unpinned"
586+
event.Kind = EventKindUnpinned
587587

588588
case "TransferredEvent":
589-
event.Kind = "transferred"
589+
event.Kind = EventKindTransferred
590590

591591
case "UserBlockedEvent":
592592
event.Kind = "user_blocked"

0 commit comments

Comments
 (0)