This commit is contained in:
Adam Majer
2024-07-18 23:36:41 +02:00
parent 17181ae262
commit 4a1856a216
3 changed files with 130 additions and 21 deletions

View File

@@ -28,6 +28,64 @@ func (h *RequestHandler) allocateGiteaTransport() (*transport.Runtime, *apiclien
return r, apiclient.New(r, nil)
}
const (
// from Gitea
// ReviewStateApproved pr is approved
ReviewStateApproved models.ReviewStateType = "APPROVED"
// ReviewStatePending pr state is pending
ReviewStatePending models.ReviewStateType = "PENDING"
// ReviewStateComment is a comment review
ReviewStateComment models.ReviewStateType = "COMMENT"
// ReviewStateRequestChanges changes for pr are requested
ReviewStateRequestChanges models.ReviewStateType = "REQUEST_CHANGES"
// ReviewStateRequestReview review is requested from user
ReviewStateRequestReview models.ReviewStateType = "REQUEST_REVIEW"
// ReviewStateUnknown state of pr is unknown
ReviewStateUnknown models.ReviewStateType = ""
)
func (h *RequestHandler) GetPullRequestAndReviews(org, project string, num int64) (*models.PullRequest, []*models.PullReview, error) {
if h.HasError() {
return nil, nil, h.Error
}
transport, client := h.allocateGiteaTransport()
pr, err := client.Repository.RepoGetPullRequest(
repository.NewRepoGetPullRequestParams().
WithDefaults().
WithOwner(org).
WithRepo(project).
WithIndex(num),
transport.DefaultAuthentication,
)
if err != nil {
h.Error = err;
h.LogPlainError(err)
return nil, nil, err
}
limit := int64(1000)
reviews, err := client.Repository.RepoListPullReviews(
repository.NewRepoListPullReviewsParams().
WithDefaults().
WithOwner(org).
WithRepo(project).
WithIndex(num).
WithLimit(&limit),
transport.DefaultAuthentication,
)
if err != nil {
h.Error = err
h.LogPlainError(err)
return nil, nil, err
}
return pr.Payload, reviews.Payload, nil
}
func (h *RequestHandler) GetNotifications(since *time.Time) ([]*models.NotificationThread, error){
if h.HasError() {
return nil, h.Error
@@ -59,7 +117,7 @@ func (h *RequestHandler) GetNotifications(since *time.Time) ([]*models.Notificat
return list.Payload, nil
}
func (h *RequestHandler) SetNotificationRead(notificationId int) error {
func (h *RequestHandler) SetNotificationRead(notificationId int64) error {
if h.HasError() {
return h.Error
}
@@ -68,7 +126,7 @@ func (h *RequestHandler) SetNotificationRead(notificationId int) error {
list, err := client.Notification.NotifyReadThread(
notification.NewNotifyReadThreadParams().
WithDefaults().
WithID(string(id)),
WithID(fmt.Sprint(id)),
transport.DefaultAuthentication,
)