83 lines
1.6 KiB
Go
83 lines
1.6 KiB
Go
package model
|
|
|
|
// Document id and content
|
|
type Document struct {
|
|
ID uint64 `json:"id"`
|
|
Content string `json:"content"`
|
|
}
|
|
|
|
// RiotSearchReq search request params
|
|
type RiotSearchReq struct {
|
|
IDs []uint64 `form:"ids,split"`
|
|
Keyword string `form:"keyword" validate:"required"`
|
|
Pn int `form:"pn" validate:"min=1"`
|
|
Ps int `form:"ps" validate:"min=0"`
|
|
}
|
|
|
|
// IDsResp resp of ids
|
|
type IDsResp struct {
|
|
IDs []uint64 `json:"ids"`
|
|
Tokens []string `json:"tokens"`
|
|
Page *Page `json:"page"`
|
|
}
|
|
|
|
// DocumentsResp resp of documents
|
|
type DocumentsResp struct {
|
|
Documents []Document `json:"ducuments"`
|
|
Tokens []string `json:"tokens"`
|
|
Page *Page `json:"page"`
|
|
}
|
|
|
|
// Page Pager
|
|
type Page struct {
|
|
PageNum int `json:"pn"`
|
|
PageSize int `json:"ps"`
|
|
Total int `json:"total"`
|
|
}
|
|
|
|
// **********************
|
|
// * Model for archives *
|
|
// **********************
|
|
|
|
// ArchiveMessage databus message
|
|
type ArchiveMessage struct {
|
|
Action string `json:"action"`
|
|
Table string `json:"table"`
|
|
New *ArchiveMeta `json:"new"`
|
|
Old *ArchiveMeta `json:"old"`
|
|
}
|
|
|
|
// ArchiveMeta Archive Metadata
|
|
type ArchiveMeta struct {
|
|
AID uint64 `json:"aid"`
|
|
Title string `json:"title"`
|
|
State int `json:"state"`
|
|
}
|
|
|
|
// States archive states
|
|
type States struct {
|
|
LegalStates map[int]bool
|
|
}
|
|
|
|
// PubStates publish states
|
|
var PubStates = &States{
|
|
LegalStates: map[int]bool{
|
|
-40: true,
|
|
0: true,
|
|
10000: true,
|
|
1: true,
|
|
1001: true,
|
|
15000: true,
|
|
20000: true,
|
|
30000: true,
|
|
},
|
|
}
|
|
|
|
// Legal return leagal
|
|
func (l *States) Legal(state int) bool {
|
|
if _, ok := l.LegalStates[state]; ok {
|
|
return true
|
|
}
|
|
return false
|
|
}
|