| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- // 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"
- )
|