mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright 2019 The Gitea Authors. All rights reserved.
 | |
| // SPDX-License-Identifier: MIT
 | |
| 
 | |
| package structs
 | |
| 
 | |
| import (
 | |
| 	"time"
 | |
| )
 | |
| 
 | |
| // NotificationThread expose Notification on API
 | |
| type NotificationThread struct {
 | |
| 	// ID is the unique identifier for the notification thread
 | |
| 	ID int64 `json:"id"`
 | |
| 	// Repository is the repository associated with the notification
 | |
| 	Repository *Repository `json:"repository"`
 | |
| 	// Subject contains details about the notification subject
 | |
| 	Subject *NotificationSubject `json:"subject"`
 | |
| 	// Unread indicates if the notification has been read
 | |
| 	Unread bool `json:"unread"`
 | |
| 	// Pinned indicates if the notification is pinned
 | |
| 	Pinned bool `json:"pinned"`
 | |
| 	// UpdatedAt is the time when the notification was last updated
 | |
| 	UpdatedAt time.Time `json:"updated_at"`
 | |
| 	// URL is the API URL for this notification thread
 | |
| 	URL string `json:"url"`
 | |
| }
 | |
| 
 | |
| // NotificationSubject contains the notification subject (Issue/Pull/Commit)
 | |
| type NotificationSubject struct {
 | |
| 	// Title is the title of the notification subject
 | |
| 	Title string `json:"title"`
 | |
| 	// URL is the API URL for the notification subject
 | |
| 	URL string `json:"url"`
 | |
| 	// LatestCommentURL is the API URL for the latest comment
 | |
| 	LatestCommentURL string `json:"latest_comment_url"`
 | |
| 	// HTMLURL is the web URL for the notification subject
 | |
| 	HTMLURL string `json:"html_url"`
 | |
| 	// LatestCommentHTMLURL is the web URL for the latest comment
 | |
| 	LatestCommentHTMLURL string `json:"latest_comment_html_url"`
 | |
| 	// Type indicates the type of the notification subject
 | |
| 	Type NotifySubjectType `json:"type" binding:"In(Issue,Pull,Commit,Repository)"`
 | |
| 	// State indicates the current state of the notification subject
 | |
| 	State StateType `json:"state"`
 | |
| }
 | |
| 
 | |
| // NotificationCount number of unread notifications
 | |
| type NotificationCount struct {
 | |
| 	// New is the number of unread notifications
 | |
| 	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"
 | |
| )
 |