Introduce NotifySubjectType (#16320)
* Introduce NotifySubjectType * update swagger docs
This commit is contained in:
		
							parent
							
								
									ce286f9d9c
								
							
						
					
					
						commit
						dfa18a8b1c
					
				| 
						 | 
				
			
			@ -27,7 +27,7 @@ func ToNotificationThread(n *models.Notification) *api.NotificationThread {
 | 
			
		|||
	//handle Subject
 | 
			
		||||
	switch n.Source {
 | 
			
		||||
	case models.NotificationSourceIssue:
 | 
			
		||||
		result.Subject = &api.NotificationSubject{Type: "Issue"}
 | 
			
		||||
		result.Subject = &api.NotificationSubject{Type: api.NotifySubjectIssue}
 | 
			
		||||
		if n.Issue != nil {
 | 
			
		||||
			result.Subject.Title = n.Issue.Title
 | 
			
		||||
			result.Subject.URL = n.Issue.APIURL()
 | 
			
		||||
| 
						 | 
				
			
			@ -38,7 +38,7 @@ func ToNotificationThread(n *models.Notification) *api.NotificationThread {
 | 
			
		|||
			}
 | 
			
		||||
		}
 | 
			
		||||
	case models.NotificationSourcePullRequest:
 | 
			
		||||
		result.Subject = &api.NotificationSubject{Type: "Pull"}
 | 
			
		||||
		result.Subject = &api.NotificationSubject{Type: api.NotifySubjectPull}
 | 
			
		||||
		if n.Issue != nil {
 | 
			
		||||
			result.Subject.Title = n.Issue.Title
 | 
			
		||||
			result.Subject.URL = n.Issue.APIURL()
 | 
			
		||||
| 
						 | 
				
			
			@ -55,13 +55,13 @@ func ToNotificationThread(n *models.Notification) *api.NotificationThread {
 | 
			
		|||
		}
 | 
			
		||||
	case models.NotificationSourceCommit:
 | 
			
		||||
		result.Subject = &api.NotificationSubject{
 | 
			
		||||
			Type:  "Commit",
 | 
			
		||||
			Type:  api.NotifySubjectCommit,
 | 
			
		||||
			Title: n.CommitID,
 | 
			
		||||
			URL:   n.Repository.HTMLURL() + "/commit/" + n.CommitID,
 | 
			
		||||
		}
 | 
			
		||||
	case models.NotificationSourceRepository:
 | 
			
		||||
		result.Subject = &api.NotificationSubject{
 | 
			
		||||
			Type:  "Repository",
 | 
			
		||||
			Type:  api.NotifySubjectRepository,
 | 
			
		||||
			Title: n.Repository.FullName(),
 | 
			
		||||
			URL:   n.Repository.Link(),
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,14 +21,28 @@ type NotificationThread struct {
 | 
			
		|||
 | 
			
		||||
// 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)"`
 | 
			
		||||
	State            StateType `json:"state"`
 | 
			
		||||
	Title            string            `json:"title"`
 | 
			
		||||
	URL              string            `json:"url"`
 | 
			
		||||
	LatestCommentURL string            `json:"latest_comment_url"`
 | 
			
		||||
	Type             NotifySubjectType `json:"type" binding:"In(Issue,Pull,Commit)"`
 | 
			
		||||
	State            StateType         `json:"state"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NotificationCount number of unread notifications
 | 
			
		||||
type NotificationCount struct {
 | 
			
		||||
	New int64 `json:"new"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NotifySubjectType represent type of notification subject
 | 
			
		||||
type NotifySubjectType string
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	// NotifySubjectIssue an issue is subject of an notification
 | 
			
		||||
	NotifySubjectIssue NotifySubjectType = "Issue"
 | 
			
		||||
	// NotifySubjectPull an pull is subject of an notification
 | 
			
		||||
	NotifySubjectPull NotifySubjectType = "Pull"
 | 
			
		||||
	// NotifySubjectCommit an commit is subject of an notification
 | 
			
		||||
	NotifySubjectCommit NotifySubjectType = "Commit"
 | 
			
		||||
	// NotifySubjectRepository an repository is subject of an notification
 | 
			
		||||
	NotifySubjectRepository NotifySubjectType = "Repository"
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15241,8 +15241,7 @@
 | 
			
		|||
          "x-go-name": "Title"
 | 
			
		||||
        },
 | 
			
		||||
        "type": {
 | 
			
		||||
          "type": "string",
 | 
			
		||||
          "x-go-name": "Type"
 | 
			
		||||
          "$ref": "#/definitions/NotifySubjectType"
 | 
			
		||||
        },
 | 
			
		||||
        "url": {
 | 
			
		||||
          "type": "string",
 | 
			
		||||
| 
						 | 
				
			
			@ -15286,6 +15285,11 @@
 | 
			
		|||
      },
 | 
			
		||||
      "x-go-package": "code.gitea.io/gitea/modules/structs"
 | 
			
		||||
    },
 | 
			
		||||
    "NotifySubjectType": {
 | 
			
		||||
      "description": "NotifySubjectType represent type of notification subject",
 | 
			
		||||
      "type": "string",
 | 
			
		||||
      "x-go-package": "code.gitea.io/gitea/modules/structs"
 | 
			
		||||
    },
 | 
			
		||||
    "OAuth2Application": {
 | 
			
		||||
      "type": "object",
 | 
			
		||||
      "title": "OAuth2Application represents an OAuth2 application.",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue