mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-26 12:27:06 +00:00 
			
		
		
		
	[API] Add notification endpoint (#9488)
* [API] Add notification endpoints
 * add func GetNotifications(opts FindNotificationOptions)
 * add func (n *Notification) APIFormat()
 * add func (nl NotificationList) APIFormat()
 * add func (n *Notification) APIURL()
 * add func (nl NotificationList) APIFormat()
 * add LoadAttributes functions (loadRepo, loadIssue, loadComment, loadUser)
 * add func (c *Comment) APIURL()
 * add func (issue *Issue) GetLastComment()
 * add endpoint GET /notifications
 * add endpoint PUT /notifications
 * add endpoint GET /repos/{owner}/{repo}/notifications
 * add endpoint PUT /repos/{owner}/{repo}/notifications
 * add endpoint GET /notifications/threads/{id}
 * add endpoint PATCH /notifications/threads/{id}
* Add TEST
* code format
* code format
			
			
This commit is contained in:
		
							
								
								
									
										28
									
								
								modules/structs/notifications.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								modules/structs/notifications.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
// Copyright 2019 The Gitea Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a MIT-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
package structs
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"time"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// NotificationThread expose Notification on API
 | 
			
		||||
type NotificationThread struct {
 | 
			
		||||
	ID         int64                `json:"id"`
 | 
			
		||||
	Repository *Repository          `json:"repository"`
 | 
			
		||||
	Subject    *NotificationSubject `json:"subject"`
 | 
			
		||||
	Unread     bool                 `json:"unread"`
 | 
			
		||||
	Pinned     bool                 `json:"pinned"`
 | 
			
		||||
	UpdatedAt  time.Time            `json:"updated_at"`
 | 
			
		||||
	URL        string               `json:"url"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NotificationSubject contains the notification subject (Issue/Pull/Commit)
 | 
			
		||||
type NotificationSubject struct {
 | 
			
		||||
	Title            string `json:"title"`
 | 
			
		||||
	URL              string `json:"url"`
 | 
			
		||||
	LatestCommentURL string `json:"latest_comment_url"`
 | 
			
		||||
	Type             string `json:"type" binding:"In(Issue,Pull,Commit)"`
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user