Skip to content

Commit e2189f1

Browse files
authored
chore: ignore delete comits (#52)
* ignore delete comits * remove nolint
1 parent 51928e1 commit e2189f1

File tree

1 file changed

+26
-11
lines changed

1 file changed

+26
-11
lines changed

pkg/merge-with-label/server/server.go

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
8686
h.handlePullRequestReview(&logger, githubID, body, w)
8787
return
8888
case "push":
89-
h.handlePush(&logger, githubID, baseRequest, w)
89+
h.handlePush(&logger, githubID, body, w)
9090
return
9191
case "status":
9292
h.handleStatus(&logger, githubID, baseRequest, w)
@@ -325,24 +325,40 @@ func (h *Handler) handlePullRequestReview(logger *zerolog.Logger, eventID string
325325
h.respond(w, http.StatusOK, "ok")
326326
}
327327

328-
//nolint:dupl // very similar to handleStatus but keep it separated for readability
329-
func (h *Handler) handlePush(logger *zerolog.Logger, eventID string, baseRequest *BaseRequest, w http.ResponseWriter) {
328+
func (h *Handler) handlePush(logger *zerolog.Logger, eventID string, body []byte, w http.ResponseWriter) {
329+
var req struct {
330+
BaseRequest
331+
Deleted bool `json:"deleted"`
332+
}
333+
334+
if err := json.Unmarshal(body, &req); err != nil {
335+
logger.Error().Err(err).Msg("unable to decode request")
336+
h.respond(w, http.StatusBadRequest, "bad request")
337+
return
338+
}
339+
340+
if req.Deleted {
341+
// no need to handle delete operations
342+
h.respond(w, http.StatusOK, "ok")
343+
return
344+
}
345+
330346
err := common.QueueMessage(
331347
logger,
332348
h.JetStreamContext,
333349
h.RateLimitKV,
334350
h.RateLimitInterval,
335351
h.PushSubject+"."+eventID,
336-
fmt.Sprintf("push.%d.%s", baseRequest.Installation.ID, baseRequest.Repository.NodeID),
352+
fmt.Sprintf("push.%d.%s", req.Installation.ID, req.Repository.NodeID),
337353
&common.QueuePushMessage{
338354
BaseMessage: common.BaseMessage{
339-
InstallationID: baseRequest.Installation.ID,
355+
InstallationID: req.Installation.ID,
340356
Repository: common.Repository{
341-
NodeID: baseRequest.Repository.NodeID,
342-
FullName: baseRequest.Repository.FullName,
343-
Name: baseRequest.Repository.Name,
344-
OwnerName: baseRequest.Repository.Owner.Login,
345-
Private: baseRequest.Repository.Private,
357+
NodeID: req.Repository.NodeID,
358+
FullName: req.Repository.FullName,
359+
Name: req.Repository.Name,
360+
OwnerName: req.Repository.Owner.Login,
361+
Private: req.Repository.Private,
346362
},
347363
},
348364
})
@@ -354,7 +370,6 @@ func (h *Handler) handlePush(logger *zerolog.Logger, eventID string, baseRequest
354370
h.respond(w, http.StatusOK, "ok")
355371
}
356372

357-
//nolint:dupl // very similar to handlePush but keep it separated for readability
358373
func (h *Handler) handleStatus(logger *zerolog.Logger, eventID string, baseRequest *BaseRequest, w http.ResponseWriter) {
359374
err := common.QueueMessage(
360375
logger,

0 commit comments

Comments
 (0)