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.
56 lines
1.8 KiB
56 lines
1.8 KiB
package archive |
|
|
|
// Result is archive model. |
|
type Result struct { |
|
Aid int64 `json:"aid"` |
|
Mid int64 `json:"mid"` |
|
TypeID int16 `json:"tid"` |
|
Title string `json:"title"` |
|
Author string `json:"author"` |
|
Cover string `json:"cover"` |
|
Tag string `json:"tag"` |
|
Duration int64 `json:"duration"` |
|
Copyright int8 `json:"copyright"` |
|
Desc string `json:"desc"` |
|
Round int8 `json:"round"` |
|
Forward int64 `json:"forward"` |
|
Attribute int32 `json:"attribute"` |
|
HumanRank int `json:"humanrank"` |
|
Access int16 `json:"access"` |
|
State int8 `json:"state"` |
|
Reason string `json:"reject_reason"` |
|
PTime string `json:"ptime"` |
|
CTime string `json:"ctime"` |
|
MTime string `json:"mtime"` |
|
Dynamic string `json:"dynamic"` |
|
} |
|
|
|
// IsNormal check archive is open. |
|
func (a *Result) IsNormal() bool { |
|
return a.State >= StateOpen || a.State == StateForbidFixed |
|
} |
|
|
|
// NotAllowUp check archive is or not allow update state. |
|
func (a *Result) NotAllowUp() bool { |
|
return a.State == StateForbidUpDelete || a.State == StateForbidLater || a.State == StateForbidLock || a.State == StateForbidPolice |
|
} |
|
|
|
// IsForbid check archive state forbid by admin or delete. |
|
func (a *Result) IsForbid() bool { |
|
return a.State == StateForbidUpDelete || a.State == StateForbidRecicle || a.State == StateForbidPolice || a.State == StateForbidLock || a.State == StateForbidLater || a.State == StateForbidXcodeFail |
|
} |
|
|
|
// AttrVal get attribute value. |
|
func (a *Result) AttrVal(bit uint) int32 { |
|
return (a.Attribute >> bit) & int32(1) |
|
} |
|
|
|
// AttrSet set attribute value. |
|
func (a *Result) AttrSet(v int32, bit uint) { |
|
a.Attribute = a.Attribute&(^(1 << bit)) | (v << bit) |
|
} |
|
|
|
// WithAttr set attribute value with a attr value. |
|
func (a *Result) WithAttr(attr Attr) { |
|
a.Attribute = a.Attribute | int32(attr) |
|
}
|
|
|