mirror of https://github.com/go-gitea/gitea.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.4 KiB
64 lines
2.4 KiB
// 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" |
|
)
|
|
|