-
Notifications
You must be signed in to change notification settings - Fork 62
/
topic.go
52 lines (45 loc) · 1.58 KB
/
topic.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// SPDX-License-Identifier: AGPL-3.0-only
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, version 3.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>
package model
import "time"
type Topic struct {
CreatedAt time.Time
UpdatedAt time.Time
Title string
ID TopicID
CreatorID UserID
Replies uint32
ObjectID uint32
State CommentState
Status TopicStatus
}
type CommentState uint8
const (
CommentStateNone CommentState = 0 // 正常
// CommentStateClosed 管理员关闭主题 https://bgm.tv/subject/topic/12629#post_108127
CommentStateClosed CommentState = 1 // 关闭
CommentStateReopen CommentState = 2 // 重开
CommentStatePin CommentState = 3 // 置顶
CommentStateMerge CommentState = 4 // 合并
// CommentStateSilent 管理员下沉 https://bgm.tv/subject/topic/18784#post_160402
CommentStateSilent CommentState = 5
CommentStateDelete CommentState = 6 // 自行删除
CommentStatePrivate CommentState = 7 // 管理员删除
)
type TopicStatus uint8
const (
TopicStatusBan TopicStatus = 0
TopicStatusNormal TopicStatus = 1
TopicStatusReview TopicStatus = 2
)