2020-01-09 14:56:32 +03:00
// Copyright 2019 The Gitea Authors. All rights reserved.
2022-11-27 21:20:29 +03:00
// SPDX-License-Identifier: MIT
2020-01-09 14:56:32 +03:00
package structs
import (
"time"
)
// NotificationThread expose Notification on API
type NotificationThread struct {
ID int64 ` json:"id" `
Repository * Repository ` json:"repository" `
Subject * NotificationSubject ` json:"subject" `
Unread bool ` json:"unread" `
Pinned bool ` json:"pinned" `
UpdatedAt time . Time ` json:"updated_at" `
URL string ` json:"url" `
}
// NotificationSubject contains the notification subject (Issue/Pull/Commit)
type NotificationSubject struct {
2021-09-30 07:17:39 +03:00
Title string ` json:"title" `
URL string ` json:"url" `
LatestCommentURL string ` json:"latest_comment_url" `
HTMLURL string ` json:"html_url" `
LatestCommentHTMLURL string ` json:"latest_comment_html_url" `
Type NotifySubjectType ` json:"type" binding:"In(Issue,Pull,Commit,Repository)" `
State StateType ` json:"state" `
2020-01-09 14:56:32 +03:00
}
2020-01-14 18:37:19 +03:00
// NotificationCount number of unread notifications
type NotificationCount struct {
New int64 ` json:"new" `
}
2021-07-01 13:51:24 +03:00
// 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"
)