Introduce NotifySubjectType (#16320)
* Introduce NotifySubjectType * update swagger docs
This commit is contained in:
		
							parent
							
								
									ce286f9d9c
								
							
						
					
					
						commit
						dfa18a8b1c
					
				
					 3 changed files with 29 additions and 11 deletions
				
			
		|  | @ -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(), | ||||
| 		} | ||||
|  |  | |||
|  | @ -24,7 +24,7 @@ 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)"` | ||||
| 	Type             NotifySubjectType `json:"type" binding:"In(Issue,Pull,Commit)"` | ||||
| 	State            StateType         `json:"state"` | ||||
| } | ||||
| 
 | ||||
|  | @ -32,3 +32,17 @@ type NotificationSubject struct { | |||
| 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 a new issue